天天看点

μ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动态内存管理

继续阅读