TI中文支持网
TI专业的中文技术问题搜集分享网站

CC3200 OTA Service Pack以及MCU Image示例

由于在官方的SDK里面使用的是dropbox做服务器来进行OTA升级,国内访问不了, 为了方便大家可以参考,下面是用国内的一个服务器来实现的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.

Susan Yang:

谢谢分享!

xiaobo zhang1:

谢谢分享

Samuel Wu:

强烈支持,期待你的后续!!!

Yonghua Pan:

以上关于是关于OTA的状态,欢迎提出改进意见,亦或者如果觉得想共享代码也是非常的欢迎。

blackfish:

回复 Yonghua Pan:

你好,我想请问下ata_api.h下的#define OTASTAT_FILENAME "/sys/otastat.txt"      里面的"/sys/otastat.txt" 路径在哪里,是否需要修改?因为按上文中您分享的方法没有成功升级,而是 sl_extLib_OtaRun 一直返回-4,表示路径找不到。。

Yonghua Pan:

回复 blackfish:

这个是在本地写的,就是在CC3200 FLASH上的路径。能否把DEBUG_PRINT的开关打开,具体在哪个API返回的错误,给出更多的log来分析一下。

GUIFANG WU:

这个项目工程是直接导入到CCS 里面吗?

GUIFANG WU:

你这个项目工程是CCS的吗?

GUIFANG WU:

C:\Users\Administrator\Downloads\SimpleLink-CC3200-cc3200_ota_servicepack_and_image_v1_0\example\ota_update_cn

你说直接用CCS 导入这个工程文件就可以了?

GUIFANG WU:

回复 GUIFANG WU:

TI 工程师,你好:**** Build Finished ****Buildfile generation error occurred..Referenced project 'ti_rtos_config' does not exist in the workspace. Project 'ota_update_os' may not build as expected.Build stopped..

导入CCS工程后,编译的时候,提示了这个报错,你知道是什么原因吗?

赞(0)
未经允许不得转载:TI中文支持网 » CC3200 OTA Service Pack以及MCU Image示例
分享到: 更多 (0)