keil编译输出(Program Size)与Map文件对应关系

2025-11-06 13:04:06

1、下载一个keil项目,这里只有一个main函数,初始化之后,点亮LED

离散文件配置如图

keil编译输出(Program Size)与Map文件对应关系

keil编译输出(Program Size)与Map文件对应关系

2、选择Browser Information选项,不然不会产生map文件

进行编译,得到输出为

    Program Size: Code=3732 RO-data=1068 RW-data=76 ZI-data=1372

keil编译输出(Program Size)与Map文件对应关系

keil编译输出(Program Size)与Map文件对应关系

keil编译输出(Program Size)与Map文件对应关系

3、得到对应目录生成的map,用notepad打开

查找到 Memory Map of the image,全部都是在这里了

keil编译输出(Program Size)与Map文件对应关系

4、Code查找 ,查找 "Code   RO",即Type =Code 并且 Attr=RO

    中间的 PAD也是的,只能说成是补充类型(比如ARM处理器是32位的,如果定义一个8位或者16位变量就会剩余一部分,这里就是指的“补充”的那部分)

    "Code RO" 一共为 3720,加上 pad为 12, 一共为3732和输出对应

keil编译输出(Program Size)与Map文件对应关系

5、RO-data查找,查找 "Data   RO"

    0x4+0x4+0x20+0x400 = 1068

RW-data查找,查找 "Data   RW"

    0x3308 -0x32c0 + 0x4 = 76

keil编译输出(Program Size)与Map文件对应关系

keil编译输出(Program Size)与Map文件对应关系

6、ZI-data查找,查找 "Zero   RW"

    0x54*3 + 0x60 + 0x200 + 0x200 = 1372

keil编译输出(Program Size)与Map文件对应关系

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢