文章目录[隐藏]
点击左上角的
“关注”
,定期更新 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 在线升级专栏目录
后续会陆续更新下列文章,点个关注+收藏,就能获取最新文章的推送哦!
- 《STM32 IAP 在线升级原理全解析》
- 《STM32 如何生成升级固件?》
- 《STM32 Ymodem 协议及代码解析》
- 《STM32 IAP 程序中的 flash 代码解析》
- 《STM32 flash 读写保护介绍及代码解析》
大家的支持就是我分享技术的动力,希望大家需转载时能附上原作者的博客:https://blog.csdn.net/u012993936,谢谢。
--- End ---
你可能还想看:
> 如何7天快速入门Zigbee?
> 免费的Zigbee抓包神器!比Ubiqua还好用!
文章都看完了,随手点个赞吧~
↓↓↓ ↓↓↓
版权声明:本文为CSDN博主「Jesse_嘉伟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012993936/article/details/122951466
点击左上角的
“关注”
,定期更新 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 在线升级专栏目录
后续会陆续更新下列文章,点个关注+收藏,就能获取最新文章的推送哦!
- 《STM32 IAP 在线升级原理全解析》
- 《STM32 如何生成升级固件?》
- 《STM32 Ymodem 协议及代码解析》
- 《STM32 IAP 程序中的 flash 代码解析》
- 《STM32 flash 读写保护介绍及代码解析》
大家的支持就是我分享技术的动力,希望大家需转载时能附上原作者的博客:https://blog.csdn.net/u012993936,谢谢。
--- End ---
你可能还想看:
> 如何7天快速入门Zigbee?
> 免费的Zigbee抓包神器!比Ubiqua还好用!
文章都看完了,随手点个赞吧~
↓↓↓ ↓↓↓
版权声明:本文为CSDN博主「Jesse_嘉伟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012993936/article/details/122951466
暂无评论