昇腾社区首页
中文
注册

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; /* combined device & manufacturer code */

unsigned short device_id; /* device id */

unsigned short vendor; /* the primary vendor id */

unsigned int state; /*flash health, 0x8表示正常,0x10表示非正常*/

unsigned long long size; /* total size in bytes */

unsigned int sector_count; /* number of erase units */

unsigned short manufacturer_id; /* manufacturer 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;
    } 
… 
}
…