CANN驱动获取Flash信息API

📅 2026/7/7 2:36:23 👁️ 阅读次数 📝 编程学习
CANN驱动获取Flash信息API

dcmi_get_device_flash_info

【免费下载链接】driver本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。项目地址: https://gitcode.com/cann/driver

函数原型

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

设备ID,当前实际支持的ID通过dcmi_get_card_num_list接口获取。

device_id

输入

int

芯片ID,通过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; //state=0时,表示flash正常,state≠0时,表示flash异常

unsigned long long size; //Flash的总大小

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

unsigned short manufacturer_id; //制造商ID

};

返回值说明

类型

描述

int

处理结果:

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

异常处理

无。

约束说明

该接口在后续版本将会删除,推荐使用dcmi_get_device_flash_info_v2。

表 1不同部署场景下的支持情况

产品形态

物理机场景(裸机)root用户

物理机场景(裸机)运行用户组(非root用户)

物理机+普通容器场景root用户

Atlas 900 A2 PoD 集群基础单元

Y

Y

Y

Atlas 800T A2 训练服务器

Y

Y

Y

Atlas 800I A2 推理服务器

Y

Y

Y

Atlas 200T A2 Box16 异构子框

Y

Y

Y

A200I A2 Box 异构组件

Y

Y

Y

Atlas 300I A2 推理卡

Y

Y

Y

Atlas 300T A2 训练卡

Y

Y

Y

注:Y表示支持;N表示不支持;NA表示不涉及,当前未规划此场景。

调用示例

… 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; } … } …

【免费下载链接】driver本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。项目地址: https://gitcode.com/cann/driver

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考