DEVSTAT开发参考
前言
本文为使用DEVSTAT(Device status)的软件开发工程师而写,目的是为您在开发过程中提供使用指导和帮助。
与本文档相对应的产品版本如下:
本文档主要适用于软件开发工程师。
概述
DEVSTAT全称为Device status,是为用户提供的能够查询芯片部分设备状态的模块。本文主要介绍DEVSTAT的接口说明和使用注意事项。
功能描述
使用DEVSTAT提供的接口,用户可以查询芯片内部的设备状态信息,如DDR时钟、DDR位宽、FMC时钟等。
除DEVSTAT模块外,其他模块查询状态的接口汇总如下:
- 使用ss_mpi_sys_query_mmz_status接口查询MMZ的总内存和剩余可用内存,可参考文档《MPP 媒体处理软件 V6.0 开发参考》的“系统控制”章节。
- 使用ss_mpi_vi_query_pipe_status接口查询VI PIPE状态,使用ss_mpi_vi_query_chn_status接口查询VI通道状态,可参考文档《MPP 媒体处理软件 V6.0 开发参考》的“视频输入”章节。
- 使用ss_mpi_venc_query_status接口查询VENC通道状态,可参考文档《MPP 媒体处理软件 V6.0 开发参考》的“视频编码”章节。
- 使用ss_mpi_ai_query_file_status/ss_mpi_ao_query_chn_status/ss_mpi_ao_query_file_status/ss_mpi_adec_query_chn_status等接口查询音频相关状态,可参考文档《MPP 媒体处理软件 V6.0 开发参考》的“音频”章节。
- 使用svp_acl_query_status接口查询当前设备上NPU核的状态,可参考SVP NPU的文档《应用开发指南》。
API参考
该模块为用户提供以下API:
ss_mpi_devstat_query_device_status:获取设备状态。
ss_mpi_devstat_query_device_status
【描述】
查询设备状态。
【语法】
【参数】
【返回值】
失败,请参见错误码。 |
【需求】
- 头文件:ot_common_devstat.h、ss_mpi_devstat.h
- 库文件:libss_mpi_devstat.a
【注意】
调用本接口时,需要先指定device_status中的type字段,否则无法获取到对应设备的状态。
【举例】
ot_devstat_device_status ds = {0};
td_s32 ret;
ds.type = OT_DEVSTAT_DEVICE_TYPE_DDR;
ret = ss_mpi_devstat_query_device_status(&ds);
if (ret != TD_SUCCESS) {
printf("get ddr status failed\n");
return ret;
}
【相关主题】
无。
数据类型
DEVSTAT模块相关数据类型定义如下:
- ot_devstat_ddr_status:定义ddr设备状态。
- ot_devstat_fmc_status:定义fmc设备状态。
- ot_devstat_device_type:定义获取设备类型。
- ot_devstat_device_status:定义查询设备状态。
ot_devstat_ddr_status
【说明】
定义ddr设备状态。
【定义】
typedef struct {
td_u32 clk; /* RO; unit: MHz */
td_u32 bit_width; /* RO; unit: bit */
} ot_devstat_ddr_status;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ot_devstat_fmc_status
【说明】
定义fmc设备状态。
【定义】
【成员】
【注意事项】
无。
【相关数据类型及接口】
ot_devstat_device_type
【说明】
定义获取设备类型。
【定义】
typedef enum {
OT_DEVSTAT_DEVICE_TYPE_DDR,
OT_DEVSTAT_DEVICE_TYPE_FMC,
OT_DEVSTAT_DEVICE_TYPE_BUTT
} ot_devstat_device_type;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ot_devstat_device_status
【说明】
定义查询设备状态。
【定义】
typedef struct {
ot_devstat_device_type type;
union {
ot_devstat_ddr_status ddr;
ot_devstat_fmc_status fmc;
};
} ot_devstat_device_status;
【成员】
【注意事项】
无。
【相关数据类型及接口】
注意事项
芯片版本中load脚本默认不加载ot_devstat.ko。执行load脚本后,需要手动加载ot_devstat.ko:insmod ot_devstat.ko。加载后方可使用DEVSTAT提供的接口。
错误码
DEVSTAT API错误码如表1所示。
表 1 DEVSTAT API错误码