dcmi_set_user_config接口原型
函数原型
int dcmi_set_user_config(int card_id, int device_id, const char *config_name, unsigned int buf_size, unsigned char *buf)
功能说明
设置用户配置。
参数说明
参数名称 |
输入/输出 |
类型 |
描述 |
---|---|---|---|
card_id |
输入 |
int |
指定NPU管理单元ID,当前实际支持的ID通过dcmi_get_card_num_list接口获取。 |
device_id |
输入 |
int |
指定设备编号,通过dcmi_get_device_id_in_card接口获取。取值范围如下: NPU芯片:[0, device_id_max-1]。 |
config_name |
输入 |
const char * |
目前支持处理的配置项名称如下,配置项名称的字符串长度最大为32。 已实现功能的配置项:ddr_ecc_enable、cpu_num_cfg。支持用户自定义名称配置。 配置项功能说明如下:
说明:
cpu_num_cfg:
调用该接口配置标记后,需要复位芯片,配置才能生效。配置生效后,可通过dcmi_get_user_config接口原型接口查看配置结果。 |
buf_size |
输入 |
unsigned int |
buf长度,单位为byte,最大长度为1K byte。 支持ddr_ecc_enable、cpu_num_cfg配置。 目前支持处理的配置项名称如下:
除了如上固定的名称外,其他最大长度不超过1024 byte。 |
buf |
输入 |
unsigned char * |
buf指针,指向配置项内容。 支持ddr_ecc_enable、cpu_num_cfg配置。 目前支持处理的配置项名称如下:
除了如上固定的名称外,其他配置项内容请根据实际情况配置。 |
返回值说明
类型 |
描述 |
---|---|
int |
处理结果:
|
异常处理
无。
约束说明
- 该接口在后续版本将会删除,推荐使用dcmi_set_device_user_config接口原型。
- 使能ECC后,会导致可用DDR内存减少,推理性能下降。
- 该接口设置的内容存储在Flash中,调用该接口会涉及Flash擦写,由于Flash擦写次数是有限制的,所以不建议频繁调用该接口。
- 在Atlas 200I A2 加速模块产品中,该接口需调入TEEOS,耗时较长,不支持在接口调用时触发休眠唤醒,如果触发休眠,有较大可能造成休眠失败。
Linux物理机 |
Linux物理机容器 |
|
---|---|---|
root用户 |
运行用户组(非root用户) |
root用户 |
Y |
N |
N |
调用示例
… #define BUF_SIZE 1 int ret = 0; int card_id = 0; int device_id = 0; char *config_name = "mac_info"; unsigned char buf[BUF_SIZE] = {0}; ret=dcmi_set_user_config(card_id, device_id,config_name, BUF_SIZE, buf); if (ret != 0){ //todo:记录日志 return ret; } …