您好,支持
我正在开发sdk1.08。
我现在正在通过USB实现软件更新。
我现在在我的项目中实现了USB-CDC,它工作得很好。
我能够在闪存中写入NVMS\u GENERIC\u部分而没有问题,因此应该也可以执行固件更新。
我检查了flash分区表并使用了为suota提供的分区表。
有描述整个过程的申请说明吗?SDK被告知是SUoUSB兼容的,但我没有找到关于这个的信息
我应该直接在NVMS\u FW\u UPDATE\u部分中编写固件吗?
我应该设置一些标志或标题吗?
新的firmaware是否在启动时自动转移到闪存的NVMS\u固件\u部分?
谢谢你的帮助。
马蒂厄
设备:
嗨,马修,
SUoUSB还没有正式发布,SUoUSB背后的实现和结构仍在评估中,目前还没有关于这个特性的文档或示例应用程序。据我所知,通过USB进行的更新与“空中传送”过程完全相同,新更新的映像将驻留在固件更新分区中,然后引导加载程序在更新完成且设备重新启动后,将检查fw更新分区中的有效应用程序映像,因为它将找到一个新映像,所以它将检查映像的有效性,并将映像从固件更新分区复制到执行分区。此外,固件更新分区中的映像数据将被标记为无效,以便在随后的重置中被忽略。关于更新版本的头和标志,应该与mkimage工具生成的fw相同,它是附加在图像开头的suota\u 1\u image\u header\t结构。
有效映像的标志为0x02,该标志在SUOTA过程结束时设置,表示映像已成功传输,这是引导加载程序检查的内容,以便启动从更新部分到执行部分的复制过程,原始副本完成后,更新部分中的映像头被设置为无效,以防止在随后的重新启动中创建新副本。
谢谢你的对话