map文件(4.10)

map文件是MDK编译代码后,产生的集程序,数据以及IO空间的一种映射列表文件,简单来说就是包括了各种.c文件,函数,符号等,的地址,大小,引用关系等信息。

作用:用于分析个.c文件占用,FLASH和RAM的大小,方便优化代码。

map文件大致可以分为五大部分,每个部分的作用如下:

  1. 模块、段(入口)交叉引用(Section Cross References):描述了各文件之间函数的调用关系,有助于理解个源文件如何相互关联。
  2. 移除未使用的模块(Removing Unused input sections from the image):描述了工程中为用到而被删除的冗余程序段,有助于优化代码,降低内存负担。
  3. 映射符号表(Image Symbol Table):描述了各符号(程序段、数据)在存储器中的地址,类型,大小等信息,对于理解程序的内存布局以及特定代码或者数据段非常有用。
  4. 内存(映射)分布(Memory Map of the image):描述了各程序段(函数)在存储器中的地址以及占用大小,有助于分析程序的内存占用情况。
  5. 映射组件大小(Image component sizes):给出了整个映像代码(.c)占用空间的汇总信息,包括代码,只读数据,初始化读写数据,未初始化读写数据等的大小,有助于了解程序的总体内存使用情况。

MAP问价的这五部分提供了对程序内存布局,函数调用关系,以及各模块占用情况的全面分析,是STM32开发中重要的优化和调试工具。、

map文件相关的一些基本概念:

段(section):描述映像文件的代码和数据块

RO:Read-Only的缩写,包括RO-data(只读数据)和RO-code(代码)

RW:Read-Write的缩写,主要是RW-data,RW-data由程序初始化初始值

ZI:Zero-initialized的缩写,主要是ZI-data,由编译器初始化为0

.text:与RO-code同义

.constdata:与RO-data同义

.bss:与ZI-data同义

.data:与RW-data同义

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值