码迷,mamicode.com
首页 > 其他好文 > 详细

Map文件解析-2

时间:2020-10-16 11:22:22      阅读:34      评论:0      收藏:0      [点我收藏+]

标签:image   load   heap   stack   pad   区域   ring   cross   种类   

本期介绍后两种类型
1、Memory Map of the image
内存(映射)分布
技术图片
技术图片
各部分解析:
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:是指汇总模块存储大小信息。
技术图片
各部分解析:
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

Map文件解析-2

标签:image   load   heap   stack   pad   区域   ring   cross   种类   

原文地址:https://blog.51cto.com/13520299/2541905

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!