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方案优势:
|