下载
中文
注册

dcmi_get_device_flash_info接口原型

函数原型

int dcmi_get_device_flash_info(int card_id, int device_id, unsigned int flash_index, struct dcmi_flash_info_stru *flash_info)

功能说明

获取芯片内Flash的信息。

参数说明

参数名称

输入/输出

类型

描述

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]。

flash_index

输入

unsigned int

Flash索引号,通过dcmi_get_device_flash_count获取。取值范围:[0, flash_count-1]

flash_info

输出

struct dcmi_flash_info_stru *

返回Flash信息。

Flash信息结构体定义:

struct dcmi_flash_info_stru {

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的总大小

unsigned int sector_count; //擦除单元数量

unsigned short manufacturer_id; //制造商id

};

返回值

类型

描述

int

处理结果:

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

异常处理

无。

约束说明

该接口在后续版本将会删除,推荐使用dcmi_get_device_flash_info_v2接口原型
表1 部署场景

Linux物理机

Linux物理机容器

root用户

运行用户组(非root用户)

root用户

Y

Y

Y

调用示例

… 
int i;
int ret = 0;
int card_id = 0;
int device_id = 0;
struct dcmi_flash_info_stru flash_info = {0};
unsigned int flash_count = 0;
ret = dcmi_get_device_flash_count(card_id, device_id, &flash_count);
… 
For (i = 0; i < flash_count; i++){
    ret = dcmi_get_device_flash_info(card_id, device_id, i, &flash_info);
    if (ret != 0){
        //todo:记录日志
        return ret;
    } 
… 
}
…