WSTON 发表于 2020-7-7 14:03:02

关于RT1052使用U盘升级程序的问题请教

大家好,想请教大家一个问题,就是使用U盘给RT1052升级的问题:
现在已经给RT1052写好了USB host和fafts文件系统,然后下一步想在U盘插入RT1052的时候,搜索U盘数据,如果有升级文件,就可以选择升级与否。
这方便查了很多资料,官方那边关于mcubootloader的介绍了USB HID的方法居多,各位大侠可否给个提示。

eric2013 发表于 2020-7-8 11:13:38

这个的升级,你能实现在线的Flash擦写就很好做了。

KingChen 发表于 2020-7-10 07:57:57

1. 先参考SDK的mcubootloader, 需要实现检测 ROM2合法标志及CRC检验需要U盘在ROM2数据. 然后将Rom划分为两个大小一样的空间, ROM1, ROM2。

KingChen 发表于 2020-7-10 08:22:41

1. 先参考MCUbootloader, 检查 ROM2更新标志并CRC检查ROM2更新文件数据。2,将ROM划分ROM1,ROM2;ROM1运行代码。ROM2用来存储代码。3.如果插入U盘,搜索有数据,选择升级。拷贝升级文件到ROM2,并置标志位。4,跳到bootloader或重启。5, 进入bootloader并检查标志位及check CRC更新文件,把文件拷贝到ROM1. 并清除标置位。6, 跳到ROM1运行新程序。

WSTON 发表于 2020-7-21 09:12:36

KingChen 发表于 2020-7-10 08:22
1. 先参考MCUbootloader, 检查 ROM2更新标志并CRC检查ROM2更新文件数据。2,将ROM划分ROM1,ROM2;ROM1运行 ...

谢谢你的回复,之前对一些加载文件,XIP还不是很了解,现在知道了,跟你说的差不对。我这边使用了外部Flash和SDRAM,所以比较简单了。

WSTON 发表于 2020-7-21 09:17:36

eric2013 发表于 2020-7-8 11:13
这个的升级,你能实现在线的Flash擦写就很好做了。

谢谢汉哥,之前看了你的建议,我回去补了一些知识,现在搞好了,不过跳转之后还会有一个问题。跳转是成功的,跳转之后会出现概率性卡在APP的LCD初始化的ELCDIF_RgbModeInit函数中。单独下载APP到RT1052是完全不会有卡住的情况的,跳转之前我也试过关闭全局中断 DisableGlobalIRQ()以及SCB_CleanDCache() 和SCB_DisableDCache(),还是消除不了该问题。
页: [1]
查看完整版本: 关于RT1052使用U盘升级程序的问题请教