19.1-uC/OS-III内存管理应用

一个处理器,在不断地分配和释放内存的过程中,一整块连续的内存被分散为很多离散的小块内存, 这些叫做内存碎片,

内存碎片过多会导致内存的浪费。 uC/OS 的内存管理机制就是为了尽量减少内存碎片。大致的思路是一次性取出一个较大

的内存分区,把这个内存分区分成若干个内存块,然后将内存块逐个串成单向链表。每次要用到内存块就从内存分区中取出一块,

用完就放回去。这跟消息队列的消息池的使用原理是一样的。

1.使能

如果想要使用内存管理机制,就必须事先使能内存管理。内存管理的使能位于“os_cfg.h”。

2.OSMemCreate ()

要使用 uC/OS 的内存管理必须先声明和创建内存管理对象,调用 OSMemCreate () 函数
可以创建一个内存管理对象。 注意, 内存分区一经创建便不能删除,系统没有提供相应的删
除函数。OSMemCreate () 函数的定义位于“os_mem.c”。
3.OSMemGet ()
OSMemGet () 函数用于向内存管理对象获取一个空闲内存块。
4.OSMemPut ()
OSMemPut () 函数用于把内存块退还回内存管理对象(内存分区)。

上一篇:springboot项目利用devtools实现热部署,改动代码自动生效


下一篇:jdgui反编译+javac编译=无源文件改动代码