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

CC2538 Ota Upgrade出错

Hi,TI

        

          ZB_ZARC_Interest-Zigbee_OTA_Upgrade_Cluster_Specification中明确表示the version value should

be higher than the current image version on the client to indicate an upgrade,我用OtaServer进行OTA升级

的时候也验证了这一事实,可以正常的进行OTA升级,但是在用ZigBee Gateway Subsystem配合Gateway application

进行OTA升级的时候发现第一次按“O”是可以进行OTA升级的,但是在升级后,OTA Client重新入网后,会自动,反复循环的

一直进行OTA操作。附件中有用Ubiqua抓到的HCU工程OTA结尾处和再次进行OTA升级的包,the version value等于the current image

version,依旧会进行OTA,也验证过,小于的情况下也会进行OTA。

请问这个问题是ZigBee Gateway Subsystem中OTA server的问题还是Gateway Application的问题?该如何解决,已经困扰了我好几个月了,

谢谢!

VV:

在Gateway那边要OTA 退出来吧。

xudong Fan:

回复 VV:

ota的配置文件清空依旧会进行OTA,而且是之前烧录过的那个image,按理来说,两个如果image版本没有更新,就不会再继续进行ota的

Michael.Zhang:

回复 VV:

您好,ota重复更新的问题能不能帮我们解决一下,困扰好久了。many thanks!

miffy:

回复 Michael.Zhang:

即使版本不对,OTA也会升级的,因为源码里面并没有做判断。

另外,CC2538的 ping-ponging这种升级方式,必须严格注意,否则升级同一个固件就会导致芯片临时锁住。

解决方法就是在gateway端做判断,因为在image request阶段,远程节点会把fileId发过来,里面是有版本号的,所以本地读取的文件版本号和远程发过来的版本号做对比,决定是否升级就可以了。第一次的版本号一定是0x1,后面再升级Image B, 再接着升级Image A,再接下来Image B,就这样ping-ponging下去

miffy:

回复 xudong Fan:

我这边是已经成功了,我把zigbee linux gateway里面的ota server部分代码移植出来使用,已经成功了,绝对不会重复两次升级同一个固件,在我server端不换固件的情况下,只会升级一次,第二次就会因为版本无法升级,必须换固件,这样ping-ponging,完美解决了CC2538固件升级的问题

Michael.Zhang:

回复 miffy:

能共享下修改的代码吗,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » CC2538 Ota Upgrade出错
分享到: 更多 (0)