当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
Those commonly used tool classes and methods in hutool
[template] KMP string matching
Kaggle竞赛-Two Sigma Connect: Rental Listing Inquiries(XGBoost)
Variable parameter principle of C language function: VA_ start、va_ Arg and VA_ end
OSPF message details - LSA overview
RT-Thread的main线程“卡死”的一种可能原因及解决方案
2020 WANGDING cup_ Rosefinch formation_ Web_ nmap
程序员老鸟都会搞错的问题 C语言基础 指针和数组
機器學習--線性回歸(sklearn)
MongoDB
arduino获取数组的长度
Correspondence between STM32 model and contex M
MySQL START SLAVE Syntax
Pytorch four commonly used optimizer tests
vim命令行笔记
inline详细讲解【C语言】
Contiki source code + principle + function + programming + transplantation + drive + network (turn)
RT-Thread API参考手册
Matlab learning and actual combat notes
Principle and implementation of MySQL master-slave replication