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

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

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

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

1.使能

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

2.OSMemCreate ()

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

最新文章

  1. linux TLS 线程本地变量
  2. 031医疗项目-模块三:药品供应商目录模块——供货商药品目录查询功能----------sql补充知识
  3. 解决eclipse中maven web工程打包成war(发布到tomcar)时lib中没有jar包的解决方法
  4. 使用GIT来管理代码的心得
  5. 如何在Mininet中修改host的IP地址
  6. sqlplus 可以登录 plsql 不能登录
  7. git 删除分支和删除文件夹
  8. PHP pear安装出现 Warning: require_once(Structures/Graph.php)...错误
  9. 小脚本一则---CDH的批量部署中,如果是从ESXI的VCENTER的模板生成的虚拟机,如何快速搞定网络网络卡配置?
  10. 为什么选择使用 Dropbox 而不是其他品牌同步工具(不要加上多余的功能,要极致和专注)
  11. input text设置字体
  12. 字符串输入时的strlen()与\0
  13. 操作 numpy 数组的常用函数
  14. PHP MySQL Order By 关键词
  15. python 3下基于select模型的事件驱动机制程序
  16. C语言下double转char*或者std::string,可以精确转换不含多余的0
  17. Redis 实战篇之搭建集群
  18. hadoop记录-Hadoop参数汇总
  19. 洛谷P1135 奇怪的电梯【bfs】
  20. 《DSP using MATLAB》Problem 5.31

热门文章

  1. nginx环境安装配置fail2ban屏蔽攻击ip
  2. case when then 中判断null的方法
  3. delphi怎样把子窗体显示在pagecontrol的tabsheet
  4. iOS开发下载文件速度计算
  5. spring boot重启脚本
  6. Jet.com
  7. halcon开发必读
  8. Windows server 2008普通用户不能远程登录问题
  9. .NET Core 2.1中的HttpClientFactory最佳实践
  10. ICE简单介绍及使用示例