当前位置:网站首页>Rough analysis of map file
Rough analysis of map file
2022-07-06 12:01:00 【csdndulala】
https://blog.csdn.net/weixin_30632899/article/details/94867874
Map The document is MCU programmatic Map( Map ).
The code we wrote , After compiling and linking a series of actions , Will generate a elf File format , From this elf The file can generate a hex perhaps bin file , For burning MCU Inside to run , meanwhile ( Configurable ) Generate a program called Map The file of .
This elf The file actually contains all kinds of information about the program , Include function name 、 Variable name , Address 、 Size and other very rich information . And this map The file is from elf Propose to get , Very intuitively ( In text form ) Show which function variables are contained in each file in the program , And in which segments are these function variables allocated , What's the address , And the size of the space it occupies .
map The file contains the following :
- Archive member included to satisfy reference by file (symbol)
Library function information called : From which .a Which of them? .o - Allocating common symbols
Uninitialized global variables : size Source of variable - Discarded input sections
No function is called 、 Variable - Memory Configuration
according to .ld In file MEMORY To divide the memory area : name 、 Initial address 、 length - Linker script and memory map
What is needed for the link .o .a
according to .ld In file SECTION To divide the area :
.txt Code segment
.rodata Strings and local variables
.srodata Used in the library rodata
.rela.dyn
.rela.text. Function information to be relocated
.data Data segment ( Big )
.sdata Data segment ( Small )
.bss Initialize to 0 The variable of ( Big )
.sbss Initialize to 0 The variable of ( Small )
COMMON Uninitialized variables
.attributes
.debug_info
.debug_abbrev
.debug_loc
.debug_aranges
.debug_line
.debug_str
.debug_frame
边栏推荐
- imgcat使用心得
- [mrctf2020] dolls
- Cannot change version of project facet Dynamic Web Module to 2.3.
- MySQL数据库面试题
- Detailed explanation of Union [C language]
- 电商数据分析--薪资预测(线性回归)
- Time slice polling scheduling of RT thread threads
- 使用LinkedHashMap实现一个LRU算法的缓存
- Kaggle竞赛-Two Sigma Connect: Rental Listing Inquiries
- [Kerberos] deeply understand the Kerberos ticket life cycle
猜你喜欢
![[yarn] CDP cluster yarn configuration capacity scheduler batch allocation](/img/85/0121478f8fc427d1200c5f060d5255.png)
[yarn] CDP cluster yarn configuration capacity scheduler batch allocation

Composition des mots (sous - total)

Gallery之图片浏览、组件学习

Come and walk into the JVM

MongoDB

Unit test - unittest framework

RT thread API reference manual

【ESP32学习-1】Arduino ESP32开发环境搭建

物联网系统框架学习

Machine learning -- linear regression (sklearn)
随机推荐
FreeRTOS 任务函数里面的死循环
Mysql的索引实现之B树和B+树
arduino JSON数据信息解析
Contiki源码+原理+功能+编程+移植+驱动+网络(转)
Détails du Protocole Internet
ToggleButton实现一个开关灯的效果
Reading notes of difficult career creation
Distribute wxWidgets application
C语言,log打印文件名、函数名、行号、日期时间
选择法排序与冒泡法排序【C语言】
Dead loop in FreeRTOS task function
GNN的第一个简单案例:Cora分类
I2C bus timing explanation
STM32型号与Contex m对应关系
优先级反转与死锁
Reno7 60W超级闪充充电架构
Keyword inline (inline function) usage analysis [C language]
Some concepts often asked in database interview
The first simple case of GNN: Cora classification
Priority inversion and deadlock