μ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);