STM32F4-IAP学习笔记(一)

本文介绍了STM32F4的三种启动方式及其原理,重点讲解了IAP(应用内编程)的概念和应用,包括如何通过伪BOOT引导系统跳转到不同APP程序,以及IAP在无线下载和系统升级中的作用。文中还讨论了中断向量表的处理和二进制文件的生成。
摘要由CSDN通过智能技术生成

啰嗦两句

花了断断续续两天时间在STM32上面写了一个IAP(In Application Programing)Boot,期间多多少少还是遇到的了不少问题。现在就花点时间把这两天写的东西整理一下,就当是学习笔记吧。本人用的芯片是STM32F4系列,1M的FLASH,192KB的SRAM。

正文

不得不提的启动方式

STM32支持三种启动方式
1. FLASH启动
2. SRAM启动
3. 系统存储器启动

这三种启动顺序决定了上电后第一条指令的位置。如果你选择FLASH启动,则上电复位后PC指针指向第一条指令位置——0x08000000,如果你选择SRAM启动,则上电复位后PC指针指向第一条指令位置——0X20000000,若你选择系统存储器启动,则上电复位后PC指针指向第一条指令位置——0X1FFF0000。
为什么会这样呢?接下来我们分析一下STM32F4的存储区地址结构。
MemoryRegions

上图摘自《Cortex-M3与M4权威指南》。从这里我们可以看出M4内核支持4GB的存储空间,从0X00000000-0X1FFFFFFF共512MB的空间是Code区,0x20000000-0x3FFFFFFF共512MB的空间是SRAM,其他的我们暂且不分析。我们再来看看《STM32F4xx Reference manual 》中 关于F4系列的物理内存映射

 Memory mapping

从上面的物理内存映射图我们可以看出:

0x08000000-0x080FFFFF: FLASH
0x1FFF0000-0x1FFF77FF: System memory
0x20000000-0x2001FFFF: SRAM

其中FLASH大小为1MB, SRAM大小为12KB, System memory大小为30KB。

在这里解释三个问题:

    评论 4
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值