OTA即空中程序升级技术,通过在线升级的方式实现嵌入式系统的在线更新。随着IOT的快速发展,OTA技术成为智能家居的标配。基于嵌入式MCU的IOT应用如下图所示:
图1 OTA示意图
MCU:控制核心,实现功能控制,显示,触控按键等,也是OTA升级的核心对象。
RF通信模块:实现网络连接,完成数据和命令的接收和发送,是MCU与云端通信的桥梁。
1. MCU OTA升级流程:
① 获取升级指令,如自动更新,手动更新
② 程序下载,从云端下程更新软件包,储存在MCU Flash区域
③ 程序更新,执行IAP操作,实现程序的更新
④ 更新完成
2. 传统的8bit MCU OTA方案:
在ROM区划分boot区存放bootloader程序,受限于存储空间,边下载边擦写,存在误擦风险,容易变“板砖”。
图2 传统的程序升级过程
3. 赛元OTA备份双区升级方案:
基于赛元大资源,eFlash工艺MCU,将ROM存储区分为APP代码区和BUFFER备份区,APP区存放出厂的功能代码,BUFFER区用于接收云端下载的升级代码,当接收到升级指令后,可以通过APP区程序或Bootloader程序执行下载任务,将下载的代码存放在BUFFER区域,下载完成并校验通过后,执行IAP操作,将BUFFER区的代码拷贝到APP区,完成程序更新。
图3 赛元OTA流程
赛元OTA技术特点:
4K 独立LDROM区:存放bootloader程序
• 管理应用程序,实现程序的跳转;
• 通信连接,OTA程序包下载(用户自定义);
• 程序包校验;
• 拷贝备份区程序到运行区,升级设备固件;
最大128K Flash Rom区:分为代码区和备份区
App代码区:
• APP服务运行;
• 升级命令接收;
• 将程序包下载至Buffer备份区;
Buffer备份区:
• 升级文件存放;
4. 赛元OTA方案优势: