一、设置:
1、怎么设置可以查看单片的内存(消耗)使用状况?
IAR的菜单栏 -->Tools -->IDE Options -->Messages -->Show build messages选择 ALL
设置完后IAR点MAKE,没有error的话最后会在Message框显示代码的大小
(菜单栏-->View-->Maessge-->Build)
1. Tools->option->messages show build messages设置成all
这样可以在编译后看到用了多少个RAM多少Code,中间每个文件使用情况也可以看得到。
2. Project->Options...(Alt-F7))的Linker->List中勾选Generate linker map file
这样可以生成map文件,这个就更详细了(需要什么自己勾选)。
3. Project->Options...(Alt-F7))的C/C++ compile ->List中勾选output list file
这样可以看到每个文件编译的细节的list文件,还可以看到反汇编(需要什么自己勾选)。
二、编译信息
1、 下面什么意思
| 4 960 bytes of CODE memory 4 150 bytes of DATA memory 44 bytes of CONST memory |
4 960 个字节的代码(占FLASH)
4150 个字节的变量数据(占RAM)
44 个字节的常量数据(占FLASH)
生成bin文件的大小= 4960+44
1、
9 486 bytes of CODE memory
404 bytes of DATA memory (+ 36 absolute )
520 bytes of CONST memory
1、的括号内表示内存的绝对使用量,对应你设的全局变量大小
2、表示共享的存储空间,和单片机的结构有关
2、2011年5月提问:
9 176 bytes of CODE memory (+ 30 bytes shared)
568 bytes of CONST memory (+ 18 148 bytes shared)
943 bytes of DATA memory (+ 114 bytes shared)
答:"+ 114 bytes shared"或linking后的"+114 bytes absolute"指的是您在程序中有144bytes 使用@ operator 或 #pragma location=operator 或__no_init volatile语法定义的数据。也可以说

本文详细介绍了如何在IAR环境中设置查看单片机内存使用状况,包括查看代码大小、生成链接器地图文件和编译列表。此外,还讲解了编译信息的解读,如代码和数据内存占用,并提供了跳转到函数定义的方法,以及通过MAP文件分析内存分配的重要性。

最低0.47元/天 解锁文章
559

被折叠的 条评论
为什么被折叠?



