USB's CDC协议的OTA升级
[TOC]
一 支持的软硬件平台
1.1 支持的硬件平台
支持x1000、x1600、x2000、x2600、ad100系列CPU,已在ilock(x2000e & mmc0)、Halley6(x1600e &nand)、x2600_evb_v1.0(x2600e & nor)开发板上验证。
1.2 支持的软件平台
ota支持升级linux系统和Freertos系统。
二 OTA原理和介质介绍
2.1 OTA简介和实现方法
君正USB's CDC协议的OTA简单来说分为三个步骤。
-
第一步: 准备好需要更新的升级固件。
-
第二步:通过USB的CDC协议将升级固件传输到设备上。
-
第三步:设备将得到的OTA升级固件更新到自身的存储介质中,然后重启切换到最新升级的系统上,从而完成整个OTA流程。
君正基于Freertos系统,OTA升级的策略是采用创建一个rtos_ota分区,分区中放置具有ota升级功能的Freertos系统代码。SPL引导代码通过判断ota分区中的内容是否为"ota:kernel2", 来决定是否要进入具有ota升级功能的Freertos系统。也就是一台设备上具有ota升级功能的Freertos系统代码和用户的主系统,但是每次只运行其中的一套系统,两个系统共同使用一份SPL代码。
2.2 OTA升级支持的存储介质
君正USB's CDC协议的OTA目前支持的存储介质有mtd和mmc,mtd包含:nand和nor。