当前位置:网站首页>map文件粗略分析
map文件粗略分析
2022-07-06 09:17:00 【csdndulala】
https://blog.csdn.net/weixin_30632899/article/details/94867874
Map文件就是MCU程序的Map(地图)。
我们编写好的代码,通过编译链接一系列动作后,会生成一个elf格式的文件,从这个elf文件可以生成一个hex或者bin文件,以供烧录到MCU里面去运行,同时(可配置地)生成一个叫Map的文件。
这个elf文件实际上就包含了程序的各种信息,包括函数名、变量名,地址、大小等等非常丰富的信息。而这个map文件就是从elf提出取来的,非常直观地(以文本形式)展现程序中的各文件包含了哪些函数变量,而这些函数变量分配在哪些段,地址是什么,以及其占用的空间大小等。
map文件包含内容如下:
- Archive member included to satisfy reference by file (symbol)
调用的库函数信息:来自哪个.a中的哪个.o - Allocating common symbols
未初始化的全局变量:大小 变量出处 - Discarded input sections
没有被调用的函数、变量 - Memory Configuration
根据.ld文件中MEMORY来划分的内存区域:名称、起始地址、长度 - Linker script and memory map
链接所需要的.o .a
根据.ld文件中SECTION来划分的区域:
.txt 代码段
.rodata 字符串和局部变量
.srodata 库中用到的rodata
.rela.dyn
.rela.text. 待重定位的函数信息
.data 数据段(大)
.sdata 数据段(小)
.bss 初始化为0的变量(大)
.sbss 初始化为0的变量(小)
COMMON 未初始化的变量
.attributes
.debug_info
.debug_abbrev
.debug_loc
.debug_aranges
.debug_line
.debug_str
.debug_frame
边栏推荐
- XML file explanation: what is XML, XML configuration file, XML data file, XML file parsing tutorial
- 机器学习--线性回归(sklearn)
- Keyword inline (inline function) usage analysis [C language]
- I2C bus timing explanation
- Comparaison des solutions pour la plate - forme mobile Qualcomm & MTK & Kirin USB 3.0
- 电商数据分析--薪资预测(线性回归)
- C语言,log打印文件名、函数名、行号、日期时间
- 数据分析之缺失值填充(重点讲解多重插值法Miceforest)
- Characteristics, task status and startup of UCOS III
- Those commonly used tool classes and methods in hutool
猜你喜欢
JS object and event learning notes
Gallery之图片浏览、组件学习
Reno7 60W super flash charging architecture
Time slice polling scheduling of RT thread threads
数据分析之缺失值填充(重点讲解多重插值法Miceforest)
Principle and implementation of MySQL master-slave replication
IOT system framework learning
PyTorch四种常用优化器测试
Variable star user module
高通&MTK&麒麟 手机平台USB3.0方案对比
随机推荐
Dead loop in FreeRTOS task function
Detailed explanation of 5g working principle (explanation & illustration)
[yarn] yarn container log cleaning
[mrctf2020] dolls
Comparaison des solutions pour la plate - forme mobile Qualcomm & MTK & Kirin USB 3.0
列表的使用
mysql实现读写分离
高通&MTK&麒麟 手機平臺USB3.0方案對比
Pytorch four commonly used optimizer tests
JS array + array method reconstruction
选择法排序与冒泡法排序【C语言】
FTP file upload file implementation, regularly scan folders to upload files in the specified format to the server, C language to realize FTP file upload details and code case implementation
Mysql database interview questions
[Presto] Presto parameter configuration optimization
IOT system framework learning
MATLAB学习和实战 随手记
Pytoch implements simple linear regression demo
Selective sorting and bubble sorting [C language]
Pytoch temperature prediction
Connexion sans mot de passe du noeud distribué