查看: 1501|回复: 0

[经验] map文件解析-2

[复制链接]

该用户从未签到

发表于 2021-4-24 11:54:11 | 显示全部楼层 |阅读模式
分享到:
本期介绍后两种类型。

Memory Map of the image
内存(映射)分布;


45.jpg


各部分解析:
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等。

Object:目标
2.Image component sizes:存储组成大小。

Image component sizes:是指汇总模块存储大小信息。

46.jpg

各部分解析:
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

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条



手机版|小黑屋|与非网

GMT+8, 2025-1-13 19:41 , Processed in 0.109071 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.