目录
一、MAP文件浅析
MDK编译过程会生成11种文件,其中MAP文件保存有连接器生成的列表文件,对分析程序存储占有情况非常有用
1、MAP文件概念和作用
概念:MAP文件是MDK编译代码后,产生的集程序、数据及IO空间的一种映射列表文件,简单来说就是包括了:各种.c文件、函数、符号等的地址、大小、引用关系等信息
作用:分析各.c文件占用FLASH和RAM的大小,方便优化代码
2、MAP文件的组成
3、生成MAP文件
打开魔术棒,点击Listing,将下方全勾选上,点击OK
双击工程名打开.map文件
4、查看映像组件大小
4.1、查看各用户文件大小
总大小在MAP文件的最后
4.2、SRAM占用
在上面的文件中 SRAM = RW + ZI = 28B + 1900B = 1928B
STM32F407xx 带有 4 KB 备份 SRAM(电池备份域)和 192 KB 系统 SRAM
4.3、FLASH占用
在上面的文件中 FLASH = Code + RO + RW = 5474B + 450B + 28B = 5952B
对于 STM32F407xx,Flash 容量高达 1 MB
二、STM32启动过程
1、STM32启动模式(自举模式)
在芯片手册中一般称为自举模式
2、STM32启动过程
以内部FLASH启动为例(在STM32系列,0x0000 0000和0x0000 0004地址会根据启动模式映射到对应的地址)
启动文件介绍
Reset_Handler函数介绍
堆栈简介
STM32启动过程图解