你好支持
我正在研究SDK 1.08。
我现在正在通过USB实现工作的软件更新。
我现在在我的项目中实施了USB CDC,它运作良好。
我能够在闪存中写入NVMS_GENERIC_PART没有问题,因此应该可以执行固件更新。
我检查了Flash分区表并使用给给定的Suota。
有些应用笔记的王者是否描述了整个过程?SDK被告知要兼容Suousb,但我没有找到有关此信息的信息
我应该直接在nvms_fw_update_part中编写固件吗?
我应该设置一些标志还是标题?
是新的Firemare在启动时在闪存中的NVMS_Firmware_part中自动转移吗?
谢谢你的帮助。
Matthieu.
设备:
嗨matthieuw,
Suousb是它尚未官方发布的东西,SuousB后面的实现和结构仍在评估中,目前没有此功能没有文档或示例应用程序。据我所知,通过USB的更新与空中过程相当相同,新的更新图像将驻留在固件更新分区中,然后在更新完成后,启动加载程序并重新启动设备,将检查对于FW更新分区中的有效应用程序映像,由于它会发现它将检查图像的有效性,并且将图像从固件更新分区复制到执行分区。此外,固件更新分区中的图像数据将被标记为无效,以便在后续重置中忽略。关于更新版本的标题和标志应该与Mkimage工具产生的FW相同,这是映像开始上的Suota_1_1_Image_Header_t结构。
有效的图像具有0x02的标志,它由Suota过程的末尾设置,表示图像的成功转移,这是引导加载程序检查,以便从更新部分开始将复制过程从更新部分开始到执行部分,之后原始副本完成更新部分中的图像的标题设置为无效,以防止后续重启中的新副本。
谢谢mt_dialog.