完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
固件升级在没有U盘插入的时候是完全正常运行的,而且U盘文件的读写和写入也没有问题。 本来都以为大功告成了,结果发现在U盘插入状态下进行固件升级程序会卡住(猜测是进入了死循环),在这种情况下将U盘拔出后,系统又能正常的完成升级。 初步推测是U盘的中断优先级太高了,导致系统原本的初始化还没有来得及进行完毕就检测到了U盘的插入中断,相应的函数还没有加载完成,所以程序卡死。 想请教一下各位大佬有没有遇见这种情况,又有什么解决办法。 |
|
相关推荐
2个回答
|
|
|
|
|
|
问题解决啦! 猜测是在固件升级的过程中U盘无意间进入挂起状态,基于此我做了两处改动。 (1)提前端口复位代码。 这也是在RT论坛上看到有人这样做,复位之后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盘,都可以正常升级。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
786 浏览 0 评论
4210 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2520 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2926 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31442 浏览 11 评论
72897 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:12 , Processed in 0.500933 second(s), Total 74, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号