2.3. API Reference

2.3.1. CVI_IPCM_Init

[Description]

Initialize IPCM.

[Syntax]

CVI_S32 CVI_IPCM_Init(void);

[Parameters]

None

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.2. CVI_IPCM_Uninit

[Description]

Deinitialize IPCM.

[Syntax]

CVI_S32 CVI_IPCM_Uninit(void);

[Parameters]

None

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.3. CVI_IPCM_InvData

[Description]

makespecifiedaddresscacheInvalid.

[Syntax]

CVI_S32 CVI_IPCM_InvData(CVI_VOID *pData, CVI_U32 u32Size);

[Parameters]

Parameter Name

Description

Input/Output

pData

dataaddress, need to64bytealignment

Input

u32Size

Data length; 64-byte alignment is required

Input

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.4. CVI_IPCM_FlushData

[Description]

willspecifiedaddresscontentflushtoddr.

[Syntax]

CVI_S32 CVI_IPCM_FlushData(CVI_VOID *pData, CVI_U32 u32Size);

[Parameters]

Parameter Name

Description

Input/Output

pData

dataaddress, need to64bytealignment

Input

u32Size

Data length; 64-byte alignment is required

Input

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.5. CVI_IPCM_DataLock

[Description]

Lock the mutual-exclusion lock shared by the big and little cores. For the same lock ID, only the core holding the lock can access the resource.

[Syntax]

CVI_S32 CVI_IPCM_DataLock(CVI_U8 u8LockID);

[Parameters]

Parameter Name

Description

Input/Output

u8LockID

Lock ID; five data locks are currently supported, with lock IDs in the range [0,4]

Input

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.6. CVI_IPCM_DataUnlock

[Description]

Unlock the mutual-exclusion lock shared by the big and little cores.

[Syntax]

CVI_S32 CVI_IPCM_DataUnlock(CVI_U8 u8LockID);

[Parameters]

Parameter Name

Description

Input/Output

u8LockID

Lock ID; five data locks are currently supported, with lock IDs in the range [0,4]

Input

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.7. CVI_IPCM_GetBuff

[Description]

fromshare memoryinrequestpleasean available blockpool, returnpooladdress.

[Syntax]

CVI_VOID *CVI_IPCM_GetBuff(CVI_U32 u32Size);

[Parameters]

Parameter Name

Description

Input/Output

u32Size

Requested pool length

Input

[Return Value]

Return Value

Description

NULL

Failure

Other

returnpooladdress.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.8. CVI_IPCM_ReleaseBuff

[Description]

releasespecifiedaddressshare memory pool.

[Syntax]

CVI_S32 CVI_IPCM_ReleaseBuff(CVI_VOID *pData);

[Parameters]

Parameter Name

Description

Input/Output

pData

pooladdress

Input

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.9. CVI_IPCM_GetUserAddr

[Description]

returncorrespondingphysicaladdressvirtualaddress, physicaladdressrangemustisaliosmanageaddress.

in linux side, willfromaliostaketophysicaladdressconvertbecomevirtualaddress;

in alios side, becausealiosno hasopenmmc, thereforedirectlyconnectreturnaliosphysicaladdress.

[Syntax]

CVI_VOID *CVI_IPCM_GetUserAddr(CVI_U32 u32Paddr);

[Parameters]

Parameter Name

Description

Input/Output

u32Paddr

wait forconvertreplacephysicaladdress

Input

[Return Value]

Return Value

Description

NULL

Failure, physicaladdressnotinaliosmanagerange

Other

Success, returncorrespondingphysicaladdressvirtualaddress

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.10. CVI_IPCM_GetParamBinAddr

[Description]

getparameterareaphysicaladdress.

[Syntax]

CVI_U32 CVI_IPCM_GetParamBinAddr(void);

[Parameters]

None

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.11. CVI_IPCM_GetParamBakBinAddr

[Description]

getparameterbackupareaphysicaladdress.

[Syntax]

CVI_U32 CVI_IPCM_GetParamBakBinAddr(void);

[Parameters]

None

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.12. CVI_IPCM_GetPQBinQddr

[Description]

Getpqparameterphysicaladdress.

[Syntax]

CVI_U32 CVI_IPCM_GetPQBinQddr(void);

[Parameters]

None

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.13. CVI_IPCM_CustInit

[Description]

Initialize IPCM cust.

[Syntax]

CVI_S32 CVI_IPCM_CustInit(void);

[Parameters]

None

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.14. CVI_IPCM_CustUninit

[Description]

Deinitialize IPCM cust.

[Syntax]

CVI_S32 CVI_IPCM_CustUninit(void);

[Parameters]

None

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.15. CVI_IPCM_CustPoolReset

[Description]

Reset all shared-memory pools to the free state. The IPCM driver generally calls this during the first system boot.

[Syntax]

CVI_S32 CVI_IPCM_CustPoolReset(void);

[Parameters]

None

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.16. CVI_IPCM_RegisterCustHandle

[Description]

Register an IPCM cust handler.

[Syntax]

CVI_S32 CVI_IPCM_RegisterCustHandle(CVI_U8 u8PortID,IPCM_CUST_MSGPROC_FN pfnHandler, CVI_VOID *pData);

[Parameters]

Parameter Name

Description

Input/Output

u8PortID

Port ID; 0 and 1 are currently used by the virtual serial port and parameter parsing respectively. User port IDs should start at 2.

Input

pfnHandle

cust handler

Input

pData

Handler application data

Input

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h, cvi_comm_ipcm.h

[Note]

Port ID; 0 and 1 are currently used by the virtual serial port and parameter parsing respectively. User port IDs should start at 2.

[Example]

None

[Related Topics]

None

2.3.17. CVI_IPCM_DeregisterCustHandle

[Description]

Unregister the IPCM cust handler.

[Syntax]

CVI_S32 CVI_IPCM_DeregisterCustHandle(CVI_U8 u8PortID);

[Parameters]

Parameter Name

Description

Input/Output

u8PortID

port id

Input

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.18. CVI_IPCM_CustSendMsg

[Description]

Send shared-memory data to the other core through the mailbox

[Syntax]

CVI_S32 CVI_IPCM_CustSendMsg(CVI_U8 u8PortID, CVI_U8 u8MsgID, CVI_VOID *pData, CVI_U32 u32Len);

[Parameters]

Parameter Name

Description

Input/Output

u8PortID

Port ID

Input

u8MsgID

Msg ID, in the range [0,127]

Input

pData

Data pointer; obtain this data from shared memory with CVI_IPCM_GetBuff

Input

u32Len

Data length

Input

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

CVI_IPCM_GetBuff

2.3.19. CVI_IPCM_CustSendParam

[Description]

When the msg does not exceed 4 bytes, this interface can send a 4-byte param.

[Syntax]

CVI_S32 CVI_IPCM_CustSendParam(CVI_U8 u8PortID, CVI_U8 u8MsgID, CVI_U32 u32Param);;

[Parameters]

Parameter Name

Description

Input/Output

u8PortID

Port ID

Input

u8MsgID

Msg ID, in the range [0,127]

Input

u32Param

Param content

Input

[Return Value]

Return Value

Description

0

Success.

Non-zero

Failure,pleaseSee Error Codes.

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.20. CVI_IPCM_SetRtosSysBootStat

[Description]

Set the RTOS boot-status bit to 1; valid only on the RTOS side

[Syntax]

CVI_S32 CVI_IPCM_SetRtosSysBootStat(void);

[Parameters]

None

[Return Value]

None

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

This interface is generally called when RTOS starts and is valid only when called on the RTOS side

[Example]

None

[Related Topics]

None

2.3.21. CVI_IPCM_ClrRtosSysBootStat

[Description]

Set the RTOS boot-status bit to 0; valid only on the RTOS side

[Syntax]

CVI_S32 CVI_IPCM_ClrRtosSysBootStat(void);

[Parameters]

None

[Return Value]

None

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.22. CVI_IPCM_GetRtosBootStat

[Description]

Get the RTOS boot status

[Syntax]

CVI_S32 CVI_IPCM_GetRtosBootStat(void);

[Parameters]

None

[Return Value]

None

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.23. CVI_IPCM_GetRtosIpcmStat

[Description]

Get the IPCM boot status

[Syntax]

CVI_S32 CVI_IPCM_GetRtosIpcmStat(void);

[Parameters]

None

[Return Value]

None

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.24. CVI_IPCM_SetRtosBootLogoStat

[Description]

Set the RTOS boot-logo status bit to 1

[Syntax]

CVI_S32 CVI_IPCM_SetRtosBootLogoStat(void);

[Parameters]

None

[Return Value]

None

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.25. CVI_IPCM_ClrRtosBootLogoStat

[Description]

Set the RTOS boot-logo status bit to 0

[Syntax]

CVI_S32 CVI_IPCM_ClrRtosBootLogoStat(void);

[Parameters]

None

[Return Value]

None

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None

2.3.26. CVI_IPCM_GetRtosBootLogoStat

[Description]

Get the RTOS boot-logo status bit

[Syntax]

CVI_S32 CVI_IPCM_GetRtosBootLogoStat(void);

[Parameters]

None

[Return Value]

None

[Requirements]

  • Header file: cvi_type.h, cvi_ipcm.h

[Note]

None

[Example]

None

[Related Topics]

None