大家好!我用的自建http服务器搭建CC3200的OTA服务器,现在是流程已经可以走通,可以实现升级,但问题是我比如程序有版本1.0.0升级到1.0.1可以成功,然后由1.0.1升级到1.0.2重启后就死机了,我看1.0.2的文件已经下载到/sys/mcuimg2.bin 中,是那方面的问题,我自己怀疑2点,1:现在升级时参照OTA例程改的,是不是因为是TEST模式问题(不过我是每次下载到mcuimg2.bin后,程序会改写boot文件,修改为NOTEST模式,加载mcuimg2)2:是不是1.0.1版本程序下载到mcuimg2中后,再下载1.0.2之前是不是得把mcuimg2格式化下?否则1.0.2覆盖1.0.1所在mcuimg2时候会出问题,导致1.0.2加载mcuimg2不行?
xiaohu zhao1:
求回复!
wei lin5:
需要格式化mcuimg2.bin文件,因为当你1.0.2文件大小小于1.0.1时你不对文件进行格式化会出问题,相当mcuimg2.bin=1.0.2+(1.0.1-1.0.2),会出问题。所以正常情况下是先删除文件,再新建文件。最好是把文件交替写在mcuimg1.bin和mcuimg2.bin里,当1.0.1写在mcuimg1.bin,就把1.0.2写在mcuimg2.bin,1.0.3写在mcuimg1.bin,这样当文件下载不完全时方便还原成原程序。
xiaohu zhao1:
回复 wei lin5:
恩,我以前试的时候也是怀疑得需要格式化(擦除),主要是我没找到文件擦除函数(想着全写1是不是就擦除了?),然后我是直接删除mcuimg2.bin,发现删除不行,感觉得格式化,SDK里面的有文件格式化函数吗?请问是那个哈?感激不进!
wei lin5:
回复 xiaohu zhao1:
没找到对应的格式化函数,删除肯定能用,我调试OTA时就是提供删除完在新建一个同名文件来实现的。
hongxin zhu1:
楼主,你的问题我暂时无能为力,因为我正在学习ota, 但是我想问你, 我也是自己在windows上搭建http服务器,但是服务器端我不知道应该放哪些文件(包括文本文件和bin文件),以及文本文件里面有什么内容,希望楼主详细解答。感激不尽。