STM32 IAP 在线升级项目实例剖析



点击左上角的“关注”,定期更新 STM32 最新资讯,总有你想要的信息!

STM32 IAP 在线升级项目实例剖析


项目信息

  • 处理芯片:STM32F407VET6(512KB Flash,192KB RAM)
  • 升级接口:串口
  • 升级通信协议:Ymodem
  • 程序存储器:芯片内部 Flash
  • Bootload 程序大小:31396 byte
  • 升级固件大小:83452 byte

1. 为什么产品需要在线升级功能

  对于已经出厂的产品,在需要添加新的功能或者修复软件 BUG 的时候,这时就需要在线升级功能。如果出厂产品出现了严重的软件 BUG 却没有在线升级功能时,那么你就只能选择将产品召回,不仅造成了经济损失,还会让客户产生非常差的产品体验,从而可能导致丢失客户。
  对于那些需要给客户定制程序的产品,在线升级功能就更加必不可少了。有了在线升级功能,只需要把定制固件发给客户,让客户自己升级固件测试功能,就不需要自己亲自烧录程序再把产品寄给客户了。

2. IAP 在线升级

2.1. 用户如何使用 IAP 在线升级功能

在这里插入图片描述
用户是如何使用 IAP 在线升级功能给设备升级的呢?

  • 首先需要连接待升级的设备。
  • 打开升级软件,选择升级固件。
  • 最后复位设备,等待升级完成后设备自动重启即可。
2.2. 在开发者的层面上解析 IAP 在线升级功能

在这里插入图片描述

对于开发者来说,IAP在线升级功能又是由哪些部分组成的呢?

  • 首先需要生成升级固件。
  • 然后将固件通过传输协议传输到 STM32 上。
  • STM32 收到固件后将其写入到应用层区域的 flash 中。
  • 升级完成后 STM32 自动进入应用程序。
  • STM32 的升级过程如下:
    在这里插入图片描述

3. 产品代码加密

  最后一定要做的就是产品代码的加密处理。毕竟你也不想自己的产品代码被别人读取出来,然后再把你的电路板一抄,就可以量产你的产品了吧。
  实现代码加密最简单通用的方法对 STM32 的 flash 启动读保护。启动读保护后,用户就无法通过外部操作来读写芯片的 flash 代码了,只能通过解除读保护后才能继续读写 flash,当解除读保护时,STM32 会自动擦除整个 flash,从而起到了保护数据的作用。
  以下是启动了 flash 读保护后,ST-LINK 无法连接 STM32,起到了代码加密的作用。

在这里插入图片描述

4. STM32 IAP 在线升级专栏目录

后续会陆续更新下列文章,点个关注+收藏,就能获取最新文章的推送哦!


大家的支持就是我分享技术的动力,希望大家需转载时能附上原作者的博客:https://blog.csdn.net/u012993936,谢谢。



--- End ---

你可能还想看:

> 如何7天快速入门Zigbee?
> 免费的Zigbee抓包神器!比Ubiqua还好用!


文章都看完了,随手点个赞吧~
在这里插入图片描述
↓↓↓ ↓↓↓

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jesse_嘉伟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值