【2】STM32·HAL库·启动过程浅析

本文详细介绍了STM32的启动过程,特别是自举模式,以及MDK编译后如何通过MAP文件分析程序的内存占用,包括用户文件大小、SRAM和FLASH的分配。
摘要由CSDN通过智能技术生成

目录

一、MAP文件浅析

1、MAP文件概念和作用

2、MAP文件的组成

3、生成MAP文件

4、查看映像组件大小

4.1、查看各用户文件大小

4.2、SRAM占用

4.3、FLASH占用

二、STM32启动过程

1、STM32启动模式(自举模式)

2、STM32启动过程

一、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启动过程图解 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HZU_Puzzle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值