开场白
本来应该2020完成CH579的OTA测评工作的,无奈自己是个懒散的人,直到现在才不舍的放下手中的“王者农药”。。。
话不多说,进入正题。
概述
我们知道,BLE蓝牙产品由于其无线通信特性,一般BLE芯片的升级途径也会顺带使用该特性,也就是“无线升级”,又叫“On The Air”(OTA)。
对此,CH579官方也提供了其两种OTA方式,此处我们仅介绍其中一种:AB面方式(姑且这么命名)。
CH579将整个Flash分成2块独立的区域,分别放置镜像A(ImageA)和镜像B(ImageB)。这两个区域都可以放置一个完整的、独立的、可运行程序,系统会在两者中选择最新的、正确的程序来运行。
该OTA方式最大的优点就是容错性高,哪怕升级失败,至少旧的镜像还是可以运行的;缺点就是比较占用flash。(另一个OTA方式的优缺点正好与此相对)
下面我们将演示,在烧录了ImageA的情况下,进行ImageB的OTA升级。
(本文涉及到的相关工具,在最后见附件)
编译与烧录ImageA
首先,我们先来编译和烧录ImageA,然后使用WCHISPTool将ImageA烧录进开发板。
编译和转化ImageB
接下来我们需要编译ImageB,然后我们使用工具将ImageB.hex转换成ImageB.bin(官方提供的OTA安卓APP要求OTA升级使用bin文件)。
APP准备
我们安装好官方提供的升级APP之后,需要将ImageB.bin放到指定的目录里(CH579Update)。
开始OTA升级
现在我们可以开始进行OTA升级了。
打开APP,我们选中名为“simple Peripheral”的设备。
连接成功后,我们可以点击“GETINFO”,这时我们可以看到当前运行的是Image A。
现在我们点击“IMAGEB”进行升级,这时我们可以看到我们之前上传的镜像ImageB.bin。
点击“CONFIRM”,现在我们可以看到新的固件大小是81708字节,并且信息栏显示“Ready to program device!”。然后我们再点击“START PROGRAMMING”进行升级。
升级很快啊,啪的一下就升完了,估摸着不到一分钟。
这时我们重启设备,再“GETINFO”就可以看到正在运行的是ImageB了。
至此,OTA升级体验完成!
繁絮至此,但求明细。
CH579升级工具.apk
(2.69 MB, 下载次数: 21)
Binary.zip
(887.42 KB, 下载次数: 37)