STM32 IAP学习

STM32三种烧录方式

ISP:In System Programming(在系统编程)
执行芯片厂商的BootLoader程序进入ISP模式,进入ISP模式后,用户可选择官方提供的烧录通信接口(如:串口),并配合ISP编程工具(如:FlyMCU)对闪存进行烧录。

在这里插入图片描述
ICP:In Circuit Programming(在线编程)
使用IDE并通过JTAG/SWD接口对闪存进行烧录

IAP:In Application Programming(在应用编程)
使用用户的应用程序(也称为BootLoader程序)对闪存进行烧录。该应用程序需要通过一种通信接口(如:IO口\USB…等)对闪存进行烧录(即把APP程序烧录到闪存)。
IAP通常被开发者用作远程升级的手段。

IAP应用原理介绍

在这里插入图片描述
在这里插入图片描述

程序正常运行过程

在这里插入图片描述

  1. 跳转到复位中断服务函数
  2. 跳转到main函数
  3. 发生中断时,会强制跳转到中断向量表
  4. 根据中断源,跳转到对应的中断服务函数
  5. 执行中断服务程序后,回到main函数原来的位置执行

加入IAP后程序运行过程

在这里插入图片描述

  1. 执行复位中断服务函数后,跳转到IAP程序main函数
  2. 执行IAP过程,跳转到APP中断向量表
  3. 跳转到APP的main函数
  4. 发生中断时,会强制跳转到地址为0x08000000的中断向量表
  5. 根据设置的中断向量表偏移量,跳转到APP对应的中断服务函数
  6. 执行中断服务函数后,回到main函数原来的位置执行

APP程序的生成步骤

  1. 设置APP程序的起始地址和存储空间大小
  2. 设置中断向量表偏移量:设置SCB->VTOR的值即可
  3. 设置MDK编译后运行fromelf.exe,生成.bin文件
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

饼干饼干圆又圆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值