QCC51XX---系统学习目录_嵌入式学习_force的博客-CSDN博客
想必大家有时会遇到一些memory的panic,就像下图的提示
这主要是内存溢出引起的。而内存溢出主要有内存池(memory pool)和RAM溢出两种,不管哪种溢出都是不规范使用内存或过度使用造成的。那具体有多少能用或怎么正确使用呢?接下来我们一起看看。
首先我们要了解芯片RAM的大小,以3044为例,datasheet中写了很多类型的RAM,但我们常用的只有P1核的DM(data memory),这个大小只有40KB。而这40KB也不全是给数据变量存储,里面会划分好几个分区,这部分可以在link_script_common.ld这个文件查看。我们也可以用一个简单的方法去看这个分区的情况,在pydbg的窗口输入apps1.subsystem.memory_usage(),我们就能看到整个P1的DM分区使用情况。
可以看到这整一块大小正是40960个bytes