dcmi_get_device_flash_info_v2接口原型
函数原型
int dcmi_get_device_flash_info_v2(int card_id, int device_id, unsigned int flash_index, struct dcmi_flash_info *flash_info)
功能说明
获取设备内Flash的信息。
参数说明
参数名称  | 
输入/输出  | 
类型  | 
描述  | 
|---|---|---|---|
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]。  | 
flash_index  | 
输入  | 
unsigned int  | 
Flash索引号,通过dcmi_get_device_flash_count获取。取值范围:[0, flash_count-1]  | 
flash_info  | 
输出  | 
struct dcmi_flash_info *  | 
返回Flash信息。 Flash信息结构体定义: struct dcmi_flash_info { unsigned long long flash_id; //Flash id unsigned short device_id; //设备id unsigned short vendor; //厂商id unsigned int state; //Flash health, 0x8表示正常,0x10表示非正常 unsigned long long size; //Flash大小,单位Byte unsigned int sector_count; //擦除单元数量 unsigned short manufacturer_id; //制造商id };  | 
返回值说明
类型  | 
描述  | 
|---|---|
int  | 
处理结果: 
  | 
异常处理
无。
约束说明
Linux物理机  | 
Linux物理机容器  | 
|
|---|---|---|
root用户  | 
运行用户组(非root用户)  | 
root用户  | 
Y  | 
Y  | 
Y  | 
调用示例
int i;
int ret = 0;
int card_id = 0x3;
int device_id = 0;
struct dcmi_flash_info flash_info = {0};
unsigned int flash_count = 0;
ret = dcmi_get_device_flash_count(card_id, device_id, &flash_count);
if (ret != 0){
    //todo:记录日志
    return ret;
}
for (int i = 0; i < flash_count; i++){
    ret = dcmi_get_device_flash_info_v2(card_id, device_id, i, &flash_info);
    if(ret != 0){
        //todo:记录日志
        return ret;
    }
}
…