关于STM32F103制作BOOT中遇到的一些问题。

1.地址的划分

我所用的芯片为STM32F103RCT6,内部FLASH大小为512K,BOOT区域需要根据BOOT大小以及所选MCU支持的FLASH最小擦除单位来划分,该区域从FLASH的起始地址开始划分。

1.BOOT分配区域:
列如STM32F103RCT6从0x8000000-0x800FFFF作为BOOT程序区,该区域大小为64kb。

2.应用程序分配区域:
APP_MEMORY= FLASH_MEMORY - BOOT_FLASH - PARAMETER_MEMORY
flash内存(512k) - BOOT内存(64k)-参数内存(64k) = 384k

BOOT区域:0x8000000 - 0x800FFFF
APP区域:0x8010000 - 0x806FFFF
参数区:0x8070000 - 0x8080000

2.BOOT 程序内需要注意的地方

1.KEIL中IROM1的更改
2.BOOT进入应用跳转函数中函数指针的应用
3.关闭 __disable_irq()
4.设置__set_MSP()

3.应用程序中需要注意的地方

1.升级完毕后需要打开 __able_irq()
2.scb->vtor向量表偏移寄存器需要设置为我们为APP程序所分配的FLASH起始地址
3.KEIL中IROM1的更改
4.应用进入Boot跳转函数中函数指针的应用

持续更新。。。
这里附一张ARM里的中断向量表
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值