STM32的MAP文件

1. MAP文件是什么?有什么作用?

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

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

map文件由以下五大部分内容组成:

  • 1.模块、段(入口)交叉引用:描述各文件之间函数调用关系
  • 2.删除映像未使用的程序段:描述工程中未用到而被删除的冗余程序段
  • 3.映射符号表:描述各符号(程序段、数据)在存储中的地址、类型、大小等
  • 4.内存(映射)分布:描述各程序段(函数)在存储器中的地址及占用大小
  • 5.映射组件大小:给出整个映像代码(.o)占用空间汇总信息

2. MDK配置

STM32的MAP文件_第1张图片
程序瘦身(会删除冗余程序段):
STM32的MAP文件_第2张图片

3 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同义

其他详细内容参考这篇博客MAP文件浅析

你可能感兴趣的:(stm32)