当前位置:网站首页>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
边栏推荐
- Yarn installation and use
- Mysql database interview questions
- [template] KMP string matching
- Variable parameter principle of C language function: VA_ start、va_ Arg and VA_ end
- ESP8266通过Arduino IDE连接Onenet云平台(MQTT)
- ToggleButton实现一个开关灯的效果
- [CDH] modify the default port 7180 of cloudera manager in cdh/cdp environment
- Feature of sklearn_ extraction. text. CountVectorizer / TfidVectorizer
- ARM PC=PC+8 最便于理解的阐述
- XML文件详解:XML是什么、XML配置文件、XML数据文件、XML文件解析教程
猜你喜欢

C语言回调函数【C语言】

5G工作原理详解(解释&图解)

機器學習--線性回歸(sklearn)

高通&MTK&麒麟 手機平臺USB3.0方案對比

Linux yum安装MySQL

Time slice polling scheduling of RT thread threads

B tree and b+ tree of MySQL index implementation

STM32 how to locate the code segment that causes hard fault

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 realizes read-write separation
随机推荐
荣耀Magic 3Pro 充电架构分析
R & D thinking 01 ----- classic of embedded intelligent product development process
Raspberry pie tap switch button to use
Reading notes of difficult career creation
IOT system framework learning
Analysis of charging architecture of glory magic 3pro
[CDH] modify the default port 7180 of cloudera manager in cdh/cdp environment
map文件粗略分析
Hutool中那些常用的工具类和方法
【ESP32学习-2】esp32地址映射
RT-Thread 线程的时间片轮询调度
[template] KMP string matching
程序员老鸟都会搞错的问题 C语言基础 指针和数组
arduino UNO R3的寄存器写法(1)-----引脚电平状态变化
JS object and event learning notes
RT-Thread的main线程“卡死”的一种可能原因及解决方案
Machine learning -- linear regression (sklearn)
vim命令行笔记
Linux Yum install MySQL
使用LinkedHashMap实现一个LRU算法的缓存