STM32IAP技术

本文详细介绍了STM32IAP技术中的内存组织、Bootloader功能、ISP协议以及APP区的升级过程,包括程序执行地址、内存映射规则、擦除策略和自定义Bootloader控制。特别关注了如何通过IAP检查更新、接收和烧写新程序,以及中断向量表的重映射和升级条件。
摘要由CSDN通过智能技术生成

STM32IAP技术

内存

1、程序存储在0x0800 0000。
2、程序从0x0000 0000开始执行。
3、0x0000 0000和0x0800 0000 相互映射。
4、厂商自带的Bootloader存在系统存储区。地址为0x1FFF F000
5、不同容量单片机闪存大小不同,对于主存储闪存容量不多于512KB的GD32F30x_CL和 GD32F30x_HD,闪存页大小为2KB。对于GD32F30x_CL和GD32F30x_XD,使用了两片闪存; 前512KB容量在第一片闪存(bank0)中,后续的容量在第二片闪存(bank1)中。其中bank0 的闪存页大小为2KB,bank1的闪存页大小为4KB。主存储闪存的每页都可以单独擦除。
6、小端存储,0x1234 34存在前边 12存在后边。
7、数据擦除只能半页擦除或者全页擦除,只能擦除主存储块。选项字节不会被擦除。

ISP

1、内置Bootloader存放地址0x1FFF FFFF。
2、软件跳转
3、硬件跳转 BOOT0引脚。①:串口一键下载电路②:按键一键修改Boot0电平。
4、协议传输。

自己理解

1、系统Bootloader就是一个系统的程序。有独特的自己的命令,然后执行相关命令,跳转等。
2、但是是要自己进入系统Bootloader的。就是系统要跳转到相应的地址。比如互联型产品要跳转到0x1FFF B000。然后才能执行相应的命令。
3、APP区是要自己进行烧写的。(可以通过系统自带的Bootloader进行烧写)。

IAP

1、单片机从0x0800 0000开始执行
2、检查是否需要更新。更新Flag标注位。
3、接收程序
4、烧写程序
5、程序跳转。

APP区

1、中断向量表的重映射
2、升级判断 ①:config置位②:复位系统
3、MDK keil APP hex文件起始地址

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

释博文

您的鼓励是我最大的动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值