K230系统控制MAPI参考
1. 概述
1.1 概述
系统控制根据 k230芯片特性,完成硬件各个部件的复位、基本初始化工作,同时负责完成 MPP(Media Process Platform 媒体处理平台)系统核间通讯建立,多媒体内存管理等模块的初始化、去初始化。
1.2 功能描述
MAPI的特性是跨OS调用,在K230的大小核上均可以调用相同的API来实现需要的功能。整体的系统架构如下图所示
关于MAPI中涉及绑定以及内存管理的具体内容请参考文档《K230 系统控制 API参考 V1.0》中的相关内容
2. API参考
该功能模块提供以下API:
2.1 kd_mapi_sys_init
【描述】
初始化系统资源,建立双核间的消息通信管道。为了建立双核连接,在每个操作系统上运行的服务需要在初始化过程中调用这个接口来建立连接,然后才能进行核间通信。
【语法】
k_s32 kd_mapi_sys_init(void );
【参数】
无
【返回值】
返回值 | 描述 |
---|---|
0 | 成功 |
非0 | 失败,其值参见错误码 |
【芯片差异】
无。
【需求】
- 头文件:mapi_sys_api.h
- 库文件:libmapi.a
【注意】
这个函数需要在调用kd_mapi_media_init之前被调用
【举例】
无
【相关主题】
无
2.2 kd_mapi_sys_deinit
【描述】
去初始化系统资源,断开双核间的消息通信管道。
【语法】
k_s32 kd_mapi_sys_deinit(void );
【参数】
无
【返回值】
返回值 | 描述 |
---|---|
0 | 成功 |
非0 | 失败,其值参见错误码 |
【芯片差异】
无。
【需求】
- 头文件:mapi_sys_api.h
- 库文件:libmapi.a
【注意】
当kd_mapi_sys_init没有被调用时,对这个mapi的调用返回成功。
【举例】
无
【相关主题】
无
2.3 kd_mapi_media_init
【描述】
初始化多媒体相关资源。主要是配置vb的个数和大小
【语法】
k_s32 kd_mapi_media_init(const k_mapi_media_attr_t *media_attr);
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
media_attr | 媒体属性指针 | 输入 |
【返回值】
返回值 | 描述 |
---|---|
0 | 成功 |
非0 | 失败,其值参见错误码 |
【芯片差异】
无。
【需求】
- 头文件:mapi_sys_api.h
- 库文件:libmapi.a
【注意】
无
【举例】
无
【相关主题】
无
2.4 kd_mapi_media_deinit
【描述】
去初始化多媒体相关资源。
【语法】
k_s32 kd_mapi_media_deinit(void);
【参数】
无
【返回值】
返回值 | 描述 |
---|---|
0 | 成功 |
非0 | 失败,其值参见错误码 |
【芯片差异】
无。
【需求】
- 头文件:mapi_sys_api.h
- 库文件:libmapi.a
【注意】
无
【举例】
无
【相关主题】
无