STM32F 远程升级OTA 应用总结
转: https://blog.csdn.net/fengweibo112/article/details/87858848
1.概述
STM32具有IAP自编程能力,能实现OTA功能。OTA代码由Bootloader和APP组成。在设计时,应尽可能的简化Bootloader功能。以下所有的阐述在STM32F4上已实现。
2.实现思路
把单片机内部flash分为3个区域,分别储存“bootloader”、“运行APP”和“代码暂存区”。“运行APP”接收升级代码保存到“代码暂存区”,接收完成过后写一个升级标志,跳转到bootloader,bootloader把“代码暂存区”的程序拷贝到“运行APP”中,然后清除升级标志,并跳转到运行APP,实现整个升级过程。
3.明确实现功能
Bootloader实现功能:代码跳转、读写OTA升级标志、代码拷贝、串口打印四个功能。
APP实现功能:接收代码储存,写OTA标志,代码跳转。
4.flash分区(共2M flash空间)
“bootloader”:从0x8000000(flash的起始地址)到0x8010000,总共0x10000=64K的flash空间。
“运行APP”:从0x8010000到0x8080000,共448k的flash空间
“代码暂存区”:从0x8080000到0x8100000,共512k的flash空间。
5.升级标志位读写
升级标志写入后备寄存器当中,需要使用到RTC功能。
6.APP与bootloader之间跳转
7.APP设置
赞 (0)