完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
固件升级在没有U盘插入的时候是完全正常运行的,而且U盘文件的读写和写入也没有问题。 本来都以为大功告成了,结果发现在U盘插入状态下进行固件升级程序会卡住(猜测是进入了死循环),在这种情况下将U盘拔出后,系统又能正常的完成升级。 初步推测是U盘的中断优先级太高了,导致系统原本的初始化还没有来得及进行完毕就检测到了U盘的插入中断,相应的函数还没有加载完成,所以程序卡死。 想请教一下各位大佬有没有遇见这种情况,又有什么解决办法。 |
|
相关推荐
2个回答
|
|
|
|
|
|
问题解决啦! 猜测是在固件升级的过程中U盘无意间进入挂起状态,基于此我做了两处改动。 (1)提前端口复位代码。 这也是在RTwilliam hill官网 上看到有人这样做,复位之后USB Host会重新检测U盘,这样U盘就会退出挂起状态? (2)经过检测程序是在进入main函数之前就死循环了,所以在main函数之前的一些初始化代码中加入usbhost_core.c文件中的rt_err_t rt_usbh_attatch_instance(uinst_t device)函数。我这里选择的是sal_socket.c文件中的sal_init函数中对应于串口助手打印的第一行代码的下面。 之后编译下载,将要升级的固件也更新为这样,在固件升级重启的过程中就一切正常了,而且无论是否插入U盘,都可以正常升级。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
AI模型部署边缘设备的奇妙之旅:边缘端设备的局域网视频流传输方案
1379 浏览 0 评论
1437 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
6496 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1837 浏览 0 评论
3028 浏览 0 评论
77265 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-14 04:58 , Processed in 0.490186 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号