Map文件解析-2

前提是你 提交于 2020-10-16 08:45:14

本期介绍后两种类型
1、Memory Map of the image
内存(映射)分布
Map文件解析-2
Map文件解析-2
各部分解析:
1)Image Entry point : 0x08000131:指映射入口地址。
2)Load Region ROM (Base: 0x00008000, Size: 0x00000ec0, Max: 0xffffffff, ABSOLUTE):
指加载区域位于ROM开始地址0x00008000,大小有0x00000ec0,这块区域最大为0xffffffff。
执行区域:
Execution Region ER_RO
Execution Region ER_RM
这个区域,其实就是对应我们目标配置(Project -> Options for Target -> Target)中的配置。
3)Base Addr:存储地址
4)Size:存储大小
5)Type:类型
Data:数据类型
Code:代码类型
Zero:未初始化变量类型
PAD:补充类型。ARM处理器是32位的,如果定义一个8位或者16位变量就会剩余一部分,PAD就是指“补充”的部分。
6)Attr:属性
RO:存储与ROM中的段
RW:存储与RAM中的段
7)Section Name:段名
也可以说为入口分类名,与第1部分“Section Cross References”指的模块、段一样。
大概包含:RESET、.ARM、 .text、 i、 .data、 .bss、 HEAP、 STACK等。
8)Object:目标
2、Image component sizes:存储组成大小
Image component sizes:是指汇总模块存储大小信息。
Map文件解析-2
各部分解析:
1)Code (inc. Data)
包含两部分,即代码和数据,位于FLASH中。































  • code,即程序代码部分,
  • inline data. For example, literal pools(文字常量池), and short strings(短字符串)等. 这个一般被忽略。
    2)RO Data
    指除了内联数据(inline data)之外的常量数据,位于FLASH中。
    3)RW Data
    指可读写(RW)、已初始化的变量数据,RW-data已初始化的数据会存储在Flash中,上电会从FLASH搬移至RAM中。
    4)ZI Data
    指未初始化(ZI)的变量数据,位于RAM中。
    5)Debug
    显示调试数据占用了多少字节,例如调试输入节和符号和字符串表。
    关系如下:
    RO Size = Code + RO Data
    RW Size = RW Data + ZI Data
    ROM Size = Code + RO Data + RW Data











标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!