STM32CubeMx开发之路—在线升级OTA—(拓展)
- STM32CubeMx开发之路—在线升级OTA(1/4)—基础知识
- STM32CubeMx开发之路—在线升级OTA(2/4)—BootLoader
- STM32CubeMx开发之路—在线升级OTA(3/4)—App
- STM32CubeMx开发之路—在线升级OTA(4/4)—测试
运行环境
Windows10
-
STM32CubeMX
Version 5.4.0
-
Keil5(MDK5)
Version 5.28.0.0
-
硬件开发板
F103RB-NUCLEO
简介
本教程主要提供另一种升级思路, 这种方法采用Bootloader接收升级程序, 可以不需要App2区.
(文末会提供代码,但不讲解代码)
思路
- 通过Bootloader获取程序,这样每个App都可以少写很多关于OTA的代码, 减少了出错的概率.
- 同时因为Bootloader出厂之后通常是不会更改的, 因此就算升级失败, 也有补救的方法.
- 同时这样可以不进行程序的搬运, 直接就能够将代码下载进App1,甚至可以不需要App2区.
- 当然也可以保留App2区, App1也可以实现下载程序到App2的功能.
先看Bootloader的框架
- 标志位放在Bootloader的最后一页的最后一个字节.
在看App1的框架
- 收到程序之后只需要修改标志位再重启就行了(如果Bootloader有自检过程,甚至不需要修改标志为).
演示
只提供源码, 不讲解代码 ! ! !
- 协议是自己定的, 上位机也是自己写的.
- 免费提供
下位机源码
和上位机程序
. -
讲解
和C#上位机源码
就不免费提供了.
-
Boot源代码
STM32F103rb_Boot_New.zip -
App1源代码
STM32F103rb_App1_New.zip -
上位机程序
Leaf_OTA.exe
备注:提供一下个人微信号 Hleafleafleaf,欢迎加好友,共同学习!共同进步!