![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内存管理
文章平均质量分 85
weixin_47733174
这个作者很懒,什么都没留下…
展开
-
嵌入式内存管理——清除多余的私有内存
最近在调试一份基于ucosII系统的代码,在观察map文件的时候,发现有个文件莫名其名的占用了9kb空间。这个文件就是ucosII自带的内存管理lib_mem.c文件。为什么会这样呢?一路查看,发现如下定义:UcosII 在lib_mem.c中,留有很多接口可以对内存进行操作,可操作内存大小由#define LIB_MEM_CFG_HEAP_SIZE 9u*1024u /*Configure Heap Memory Size */这个大小可能是同事操作遗留下来的,我没去比对源码的初始值。#ifnd原创 2020-06-28 23:26:07 · 808 阅读 · 0 评论 -
嵌入式内存管理——变量定义后到底是如何神之存在?
在基于RTOS进行嵌入式软件编程时,如果让代码精简,内存用到恰到好处,那就需要在开发过程中,对代码进行深度优化,然而能达到多深,就看你对内存知识掌握的多深了。为了能够知己知彼,我对相关定义都进行了验证,入木三分才能有的放矢。根据上一节文章,我们在开发过程中,定义的变量究竟最后是怎么存放的呢?怎样在消耗我们的内存?我们以前又是如何在“挥霍”这宝贵的资源的呢?先来个预览吧:RAM区:FLASH区:我进行了如下验证:一、任务函数中的变量到底存在什么地方?因为全局变量定义后,都是存放在.data或者原创 2020-06-27 21:14:31 · 201 阅读 · 0 评论 -
嵌入式内存管理——编译器优化等级对内存的影响
第一次写技术文章,不知道如何表述才能更好的和大家交流,试着慢慢写,希望可以坚持下去。写这个的原因有很多,主要还是自己困惑,其次想和大家交流下心得。如有不对的地方,欢迎指正。PS:简单自我介绍,感兴趣可以上知乎--我的介绍对于嵌入式设备来说,举例STM32这类,RAM区一般不超过512kbyte,Flash最多2Mb,咱们这篇文章,主要是关注内存(即RAM区)。所有代码,都里不开内存,但由于嵌入式芯片处于成本考虑,内存都不会太大,所以,在使用过程中,对内存资源的把控尤为关键,如果设计不好,导致内存爆满那原创 2020-06-27 20:24:18 · 641 阅读 · 0 评论