下载
中文
注册

dcmi_get_device_errorcode_string接口原型

函数原型

int dcmi_get_device_errorcode_string(int card_id, int device_id, unsigned int error_code, unsigned char *error_info, int buf_size)

功能说明

查询设备故障描述。

参数说明

参数名称

输入/输出

类型

描述

card_id

输入

int

指定NPU管理单元的ID,当前实际支持的ID通过dcmi_get_card_list接口获取。

device_id

输入

int

指定设备编号,通过dcmi_get_device_id_in_card接口获取。取值范围如下:

NPU芯片:[0, device_id_max-1]。

error_code

输入

unsigned int

要查询的错误码,通过dcmi_get_device_errorcode_v2接口获取。

error_info

输出

unsigned char *

对应的错误描述。

buf_size

输入

int

传入的error_info大小,固定为48字节。若设置的buffer大小大于48字节,则默认用48字节。

返回值

类型

描述

int

处理结果:

  • 成功:返回0。
  • 失败:返回码请参见返回码

异常处理

无。

约束说明

表1 部署场景

Linux物理机

Linux物理机容器

root用户

运行用户组(非root用户)

root用户

Y

Y

Y

调用示例

#define ERROR_CODE_MAX_NUM  (128)
#define BUF_SIZE          (48)
… 
int ret = 0;
int card_id = 0;
int device_id = 0;
int errorcount = 0;
unsigned int error_code_list[ERROR_CODE_MAX_NUM] = {0};
unsigned char error_info[BUF_SIZE] = {0};
ret = dcmi_get_device_errorcode_v2(card_id, device_id, &errorcount, error_code_list, ERROR_CODE_MAX_NUM);
if ((ret != 0) || (errorcount == 0)){
    //todo:记录日志
    return ret;
} 
ret = dcmi_get_device_errorcode_string(card_id, device_id, error_code_list[0], error_info, BUF_SIZE);
if (ret != 0) { 
    //todo:记录日志
    return ret;
}
…