完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
4、分析malloc.c 打开malloc.h,可以看到有两块内存池,其中外部高达192k,可以把这个减少至1(反mini也没有外部ram),然后把内部ram也相应减少 5、再编译,看效果 ram减少了,相对应的map文件中mallo.c的zi data也减少了 (用这个方法改了其它地方,最后达到如图所示,可以在103r8tc上运行) 一、keil编译完后会产生以下数据: Code代表可执行代码,程序中定义的所有函数都位于此处; RO-data代表可读数据,程序中所有的全局常量数据和字符都位于此处; RW-data代表已经初始化的读写数据,程序中所有定义并且初始化的全局变量和静态变量均位于此处; ZI-data代表未初始化的读写数据,程序中定义了但是没有初始化的全局变量和静态变量位于此处; RAM 里包含的是ZI-data的存储区,ROM包含的是Code RO-data RW-data 三者数据量之和。 二、分析map文件 map文件中,有一段大约跟下图差不多的部分,看划线部分,ZI data 有17k的ram占用,文件位置在heap_2.o 根据map文件显示heap_2.c 占用大量的RAM,定位到FreeRTOSConfig.h文件修改如下 根据芯片具体型号将FreeRTOS的栈空间大小修改(configTOTAL_HEAP_SIZE) |
|
|
|
只有小组成员才能发言,加入小组>>
3272 浏览 9 评论
2948 浏览 16 评论
3449 浏览 1 评论
8969 浏览 16 评论
4042 浏览 18 评论
1087浏览 3评论
563浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
558浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2296浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1851浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-14 17:34 , Processed in 0.967093 second(s), Total 49, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号