STM32 IAP远程在线更新实现方案设计简介(未实践)
本编内容纯属个人娱乐,并未实践,无参考意义.
一、串口实验简介
1.什么是IAP?
IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。
在重新编程过程中可以通过任何一种通信接口(如IO端口,USB,CAN,UART,I2C,SPI等)下载程序或者应用数据到存储器中。
使用IAP的条件是必须有一部分程序已通过使用ICP的方式烧到闪存存储器中(Bootloader)。
IAP的执行流程:
1)检查是否需要对第二部分代码进行更新
2)如果不需要更新则转到 4)
3)执行更新操作
4)跳转到第二部分代码执行
2.程序的相关功能:
Bootloader:
①从串口接收bin文件
②升级,运行,删除app程序
③显示功能
APP:
①实时RTC
②LCD显示
3.串口IAP实验流程:
①使用ICP方式下载BootLoader程序
②将APP程序生成BIN文件
③使用USART下载BIN文件到BootLoader
④BootLoader更新APP程序
⑤执行APP程序
二、基于串口实验的改进
程序的相关功能:
BootLoader:
承担app的更新,删除,检查功能
APP:
①从串口接收bin文件,并写入外部的存储芯片
②实时RTC
③LCD显示
三、无线远程在线固件更新方案
基于第二点串口实验的改进,嵌入RTOS系统,使设备在接收bin文件的过程中仍能正常使用.