CC3200 ota 校验
请问 :cc3200的OTA 是怎样校验 从服务器下载的升级包是正确的?
关于OTA,TI wiki页面是有专门说明的。您可以先看一下
http://processors.wiki.ti.com/index.php/CC3200_Over_The_Air_Update_Application
hi,susan:
我这边 现在做本地升级,你之前我让我参考附件8831.OTA.7z, 是不是我使用SDK进行本地OTA升级 ,是不是可以不用考虑校验的问题。由SDK完成,因为我看到CCS编译完是bin文件。
下面是用国内的一个服务器来实现的OTA例程。
https://github.com/yhpan0613/SimpleLink-CC3200/releases/tag/cc3200_ota_servicepack_and_image_v1_0
这是整套的代码,是基于SDK 1.2.0的,例程的名称是ota_update_cn。
请注意在编译这个例程之前, simplelink_extlib/ota是需要重新编译的。
在服务器端的准备升级的MCU Image以及Service Pack根据协议要放在位置OTA/CC3200。待升级的文件列表以及它们的大小是存储在一个文件img.txt里面,文件格式如下:
SP_SIGN:{f40_sys_servicepack.sig}
SIGN_SIZE:{256}
SERVICEPACK:{f43_sys_servicepack.ucf}
SP_SIZE:{28236}
MCU_IMG:{f80_sys_mcuimg.bin}
MCU_SIZE:{36316}
冒号前面的字段是文件标识,后面的字段是文件名称, f是文件标识,后面的数字代表标识的含义如下:
- 01 - The file is secured
- 02 - The file is secured with signature
- 04 - The file is secured with certificate
- 08 - Don't convert _sys_ into /sys/ for SFLASH
- 10 - Use external storage instead of SFLASH
- 20 - Reserved.
- 40 - NWP should be reset after this download
- 80 - MCU should be reset after this download
还有另外一个文件ver.txt, 里面存储的是MCU image和Service Pack存储的路径,格式如下:
“CDN_url”: http://SERVER_DOMAIN/OTA/CC3200/Vid01_Pid33_Ver18/,
Vid代表Vendor ID, Pid代表Product ID, Ver代表升级软件版本,OTA/CC3200目录下文件列表如下
Vid01_Pid33_Ver18下面文件列表如下:
sys_servicepack.sig代表service pack的签名文件,会存储在/sys/serverpack.sig。sys_servicepack.ucf是待升级的service pack文件,会存储在/sys/serverpack.ucf。sys_mcuimg.bin是待升级的MCU Image文件,会存储在/sys/mcuimg2.bin。在进行OTA前, /sys/mcuimg.bin需要烧录application_bootloader, /sys/mcuimg1.bin需要烧录当前运行的Image。当OTA升级结束后,application_bootloader将会加载mcuimg2去运行。然后在下一次OTA的时候,从云服务器上下载的Image会烧录到/sys/mcuimg1.bin,在设备重启后application bootloader会自动加载mcuimg1。
注意:服务器端的KeepAlive选项要设置成ON.
Terry han :
我这边想了解,是不是不需要关心OTA校验的问题,直接使用SDK中OTA的部分完成即可。我关心这个问题。我看SDK中OTA的 没找到对升级包校验的部分,因为下载也会出现错误。