STM32FXX IAP 功能应用介绍

        ST MCU 提供了一个IAP功能,即STM32 in-application programming (IAP),这个程序通过ST 原始方式(比如常见的拉BOOT管脚进BOOT,然后进行升级)烧录至用户代码起始位置(0x8000000),作为第一级用户软件,有了这个第一级用户软件后,可以支持烧录用户第二级用户软件(App)、读取用户第二级软件、跳转执行第二级用户软件,其中烧录用户软件使用的协议是YModem协议。

       这样开发者开发基于STM32的用户软件时可以将软件分成Boot+App两个部分,Boot 就是前面的第一级用户程序,App是第二级程序,也是用户真正做业务功能的程序,这样的好处是只需要通过手动拉管脚使MCU 进下载模式后烧录一次Boot软件后,后续再也不用手动拉管脚进行下载了,因为用户功能主要在APP中,更新APP 软件通过Boot这个第一级软件就行了,除非要更新Boot,其他则不需要。这种应用场景常常是这样的:一个最终的嵌入式产品是有外壳的,一般会将Debug 串口预留出来用于下载版本、抓日志、调试等,不会把ST原始下载进入下载模式需要短接的B00T Pin和3.3v Pin也外接,所以想要进行原始拉BOOT 进下载模式就会很麻烦,或成本很高,需要拆掉外壳漏出PCB板,这在实际发货后的产品中常常是不好操作的,所以Boot+App的模式就显得很重要了,这样在工厂生产时第一次升级时使用一次原始升级方式将Boot+App的全版本升级进行去,后续在更新版本只需要通过串口线升级即可;

如笔者开发的基于STM32F3/F4 的物联网设备,车载tBox、共享充电桩,智能锁等智能终端中就采用该方法,设备出厂时已经烧录了Boot和APP,后需要维护升级时只需要通过预留的串口线通过上位机进行App更新即可。

欢迎各位朋友讨论交流!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值