2.3. API参考¶
2.3.1. CVI_IPCM_Init¶
【描述】
ipcm初始化。
【语法】
CVI_S32 CVI_IPCM_Init(void);
【参数】
无
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.2. CVI_IPCM_Uninit¶
【描述】
ipcm去初始化。
【语法】
CVI_S32 CVI_IPCM_Uninit(void);
【参数】
无
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.3. CVI_IPCM_InvData¶
【描述】
使指定地址的cache无效。
【语法】
CVI_S32 CVI_IPCM_InvData(CVI_VOID *pData, CVI_U32 u32Size);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
pData |
数据地址,需要64byte对齐 |
输入 |
u32Size |
数据长度,需要64byte对齐 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.4. CVI_IPCM_FlushData¶
【描述】
将指定地址的内容flush到ddr。
【语法】
CVI_S32 CVI_IPCM_FlushData(CVI_VOID *pData, CVI_U32 u32Size);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
pData |
数据地址,需要64byte对齐 |
输入 |
u32Size |
数据长度,需要64byte对齐 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.5. CVI_IPCM_DataLock¶
【描述】
大小核访问互斥锁上锁,同一个lock id,只有拿到lock的核才能访问。
【语法】
CVI_S32 CVI_IPCM_DataLock(CVI_U8 u8LockID);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
u8LockID |
锁id号;当前支持5组data lock,lock id的范围是[0,4] |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.6. CVI_IPCM_DataUnlock¶
【描述】
大小核访问互斥锁解锁。
【语法】
CVI_S32 CVI_IPCM_DataUnlock(CVI_U8 u8LockID);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
u8LockID |
锁id号;当前支持5组data lock,lock id的范围是[0,4] |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.7. CVI_IPCM_GetBuff¶
【描述】
从share memory中申请一块空闲pool,返回pool的地址。
【语法】
CVI_VOID *CVI_IPCM_GetBuff(CVI_U32 u32Size);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
u32Size |
申请pool的长度 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
NULL |
失败 |
其他 |
返回pool的地址。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.8. CVI_IPCM_ReleaseBuff¶
【描述】
释放指定地址的share memory pool。
【语法】
CVI_S32 CVI_IPCM_ReleaseBuff(CVI_VOID *pData);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
pData |
pool的地址 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.9. CVI_IPCM_GetUserAddr¶
【描述】
返回对应物理地址的虚拟地址,物理地址的范围必须是alios管理的地址。
在 linux 侧,将从alios拿到的物理地址转成虚拟地址;
在 alios 侧,因为alios没有开mmc,所以直接返回alios的物理地址。
【语法】
CVI_VOID *CVI_IPCM_GetUserAddr(CVI_U32 u32Paddr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
u32Paddr |
待转换的物理地址 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
NULL |
失败,物理地址不在alios管理的范围 |
其他 |
成功,返回对应物理地址的虚拟地址 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.10. CVI_IPCM_GetParamBinAddr¶
【描述】
获取参数区域的物理地址。
【语法】
CVI_U32 CVI_IPCM_GetParamBinAddr(void);
【参数】
无
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.11. CVI_IPCM_GetParamBakBinAddr¶
【描述】
获取参数备份区域的物理地址。
【语法】
CVI_U32 CVI_IPCM_GetParamBakBinAddr(void);
【参数】
无
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.12. CVI_IPCM_GetPQBinQddr¶
【描述】
获取pq参数的物理地址。
【语法】
CVI_U32 CVI_IPCM_GetPQBinQddr(void);
【参数】
无
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.13. CVI_IPCM_CustInit¶
【描述】
ipcm cust初始化。
【语法】
CVI_S32 CVI_IPCM_CustInit(void);
【参数】
无
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.14. CVI_IPCM_CustUninit¶
【描述】
ipcm cust去初始化。
【语法】
CVI_S32 CVI_IPCM_CustUninit(void);
【参数】
无
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.15. CVI_IPCM_CustPoolReset¶
【描述】
将share memory pool全部复位为free状态,一般在系统第一次启动时ipcm驱动会调用。
【语法】
CVI_S32 CVI_IPCM_CustPoolReset(void);
【参数】
无
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.16. CVI_IPCM_RegisterCustHandle¶
【描述】
注册ipcm cust handler。
【语法】
CVI_S32 CVI_IPCM_RegisterCustHandle(CVI_U8 u8PortID,IPCM_CUST_MSGPROC_FN pfnHandler, CVI_VOID *pData);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
u8PortID |
port id,当前0和1分别给虚拟串口、参数解析使用,用户port id建议从2开始 |
输入 |
pfnHandle |
cust handler |
输入 |
pData |
handler应用数据 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h, cvi_comm_ipcm.h
【注意】
port id,当前0和1分别给虚拟串口、参数解析使用,用户port id建议从2开始
【举例】
无
【相关主题】
无
2.3.17. CVI_IPCM_DeregisterCustHandle¶
【描述】
注销ipcm cust handler。
【语法】
CVI_S32 CVI_IPCM_DeregisterCustHandle(CVI_U8 u8PortID);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
u8PortID |
port id |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.18. CVI_IPCM_CustSendMsg¶
【描述】
将share memory的数据通过mailbox发送到另一个核
【语法】
CVI_S32 CVI_IPCM_CustSendMsg(CVI_U8 u8PortID, CVI_U8 u8MsgID, CVI_VOID *pData, CVI_U32 u32Len);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
u8PortID |
port id号 |
输入 |
u8MsgID |
msg id,范围是[0,127] |
输入 |
pData |
data指针,该data需要通过CVI_IPCM_GetBuff从share memory中获取 |
输入 |
u32Len |
data的长度 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
CVI_IPCM_GetBuff
2.3.19. CVI_IPCM_CustSendParam¶
【描述】
当msg不超过4byte时,可以通过该接口发送4byte的param。
【语法】
CVI_S32 CVI_IPCM_CustSendParam(CVI_U8 u8PortID, CVI_U8 u8MsgID, CVI_U32 u32Param);;
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
u8PortID |
port id号 |
输入 |
u8MsgID |
msg id,范围是[0,127] |
输入 |
u32Param |
param内容 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功。 |
非 0 |
失败,请参见 错误码。 |
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.20. CVI_IPCM_SetRtosSysBootStat¶
【描述】
将rtos启动状态位设为1;只在rtos端有效
【语法】
CVI_S32 CVI_IPCM_SetRtosSysBootStat(void);
【参数】
无
【返回值】
无
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
该接口一般在rtos启动时调用,且仅在rtos端调用有效
【举例】
无
【相关主题】
无
2.3.21. CVI_IPCM_ClrRtosSysBootStat¶
【描述】
将rtos启动状态位设为0;只在rtos端有效
【语法】
CVI_S32 CVI_IPCM_ClrRtosSysBootStat(void);
【参数】
无
【返回值】
无
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.22. CVI_IPCM_GetRtosBootStat¶
【描述】
获取rtos启动状态
【语法】
CVI_S32 CVI_IPCM_GetRtosBootStat(void);
【参数】
无
【返回值】
无
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.23. CVI_IPCM_GetRtosIpcmStat¶
【描述】
获取ipcm启动状态
【语法】
CVI_S32 CVI_IPCM_GetRtosIpcmStat(void);
【参数】
无
【返回值】
无
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.24. CVI_IPCM_SetRtosBootLogoStat¶
【描述】
将rtos boot logo状态位设为1
【语法】
CVI_S32 CVI_IPCM_SetRtosBootLogoStat(void);
【参数】
无
【返回值】
无
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.25. CVI_IPCM_ClrRtosBootLogoStat¶
【描述】
将rtos boot logo状态位设为0
【语法】
CVI_S32 CVI_IPCM_ClrRtosBootLogoStat(void);
【参数】
无
【返回值】
无
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无
2.3.26. CVI_IPCM_GetRtosBootLogoStat¶
【描述】
获取rtos boot logo态位
【语法】
CVI_S32 CVI_IPCM_GetRtosBootLogoStat(void);
【参数】
无
【返回值】
无
【需求】
头文件: cvi_type.h, cvi_ipcm.h
【注意】
无
【举例】
无
【相关主题】
无