μCOS動态記憶體管理
1. 定義一個記憶體分區及其記憶體塊:
INT8U hostSmallRecvBuf[HOST_SMALL_RECV_BUF_CNT][HOST_SMALL_RECV_BUF_LEN];
記憶體塊數 每個記憶體塊長度
2. 定義一個OS_MEM類型的指針,指向與這個記憶體分區相關聯的記憶體控制塊
OS_MEM* hostSmallRecvBufPtr;
3. 建立動态記憶體分區:
INT8U err;
hostSmallRecvBufPtr = OSMemCreate
( hostSmallRecvBuf,
HOST_SMALL_RECV_BUF_CNT,
HOST_SMALL_RECV_BUF_LEN,
&err );
傳回與這個剛建立的記憶體分區相關聯的記憶體控制塊的指針。
4. 申請獲得一個記憶體塊:
void * pfreeMem;
pfreeMem = OSMemGet(hostSmallRecvBufPtr, &err);
5. 釋放一個記憶體塊:
OSMemPut(hostSmallRecvBufPtr,recvBuf);