天天看點

μCOS動态記憶體管理

μCOS動态記憶體管理

1. 定義一個記憶體分區及其記憶體塊:

INT8U   hostSmallRecvBuf[HOST_SMALL_RECV_BUF_CNT][HOST_SMALL_RECV_BUF_LEN];

                                                                     記憶體塊數                                      每個記憶體塊長度

μCOS動态記憶體管理

2. 定義一個OS_MEM類型的指針,指向與這個記憶體分區相關聯的記憶體控制塊

OS_MEM* hostSmallRecvBufPtr;

3. 建立動态記憶體分區:

INT8U  err;

hostSmallRecvBufPtr  = OSMemCreate

( hostSmallRecvBuf,

  HOST_SMALL_RECV_BUF_CNT,

  HOST_SMALL_RECV_BUF_LEN,

    &err );

μCOS動态記憶體管理

傳回與這個剛建立的記憶體分區相關聯的記憶體控制塊的指針。

4. 申請獲得一個記憶體塊:

void * pfreeMem;

pfreeMem = OSMemGet(hostSmallRecvBufPtr, &err);

μCOS動态記憶體管理

5. 釋放一個記憶體塊:

OSMemPut(hostSmallRecvBufPtr,recvBuf);

μCOS動态記憶體管理

繼續閱讀