完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人调试工程中,想实现bootloader中读取sd卡是否有升级固件完成iap升级。逻辑如下:
开机进入bootloader→挂载fatfs系统读取sd卡中是否有升级固件→读卡器的App。 工程用STM32cubemx生成,问题现象如下: 1,直接运行App本身,即usb读卡器任务,是能够读取到sd卡,并且在电脑上进行读写操作的。 2,从bootloader跳转到App后,不开启usb设备的初始化,程序也是正常。 3,跳转后开启usb初始化,程序并没有马上卡死。过了大概1-3s后,程序卡死,触发看门狗复位。 4,经过深度的查询后,我发现在跳转app中,只要不执行 f_mount( fs,(TCHAR const*)SDPath,1);这一条挂载sd卡命令,在后续的App中并不会卡死。 5,在跳转前,我执行了f_mount(NULL,(TCHAR const*)SDPath,1); 和FATFS_UnLinkDriver(SDPath);即取消挂载和注销。
|
|
相关推荐
1个回答
|
|
1、时序问题:初始化USB和SDIO外围设备时可能存在时序问题。检查您是否符合这些外围设备所需的时序规格。
2.堆栈溢出:如果USB和SDIO初始化代码导致堆栈溢出,则可能导致系统崩溃。请确保堆栈大小已正确配置,并且足以用于您的应用程序。 3.资源冲突:在访问引导加载程序和应用程序代码之间共享的资源(如中断处理程序或内存)时可能存在冲突。在跳转到应用程序代码之前,请确保资源已正确释放和配置。 4.初始化顺序:确保以正确的顺序初始化USB和SDIO外围设备,并遵循制造商建议的初始化步骤。 5.中断处理:检查应用程序代码中是否存在任何与中断相关的问题。确保为应用程序代码正确配置了中断矢量。 6.内存映射:验证是否为引导加载程序和应用程序代码正确配置了内存映射和内存区域。 7.调试:使用调试器和断点来缩小程序崩溃的确切位置。这将有助于识别导致问题的特定代码或功能。建议检查代码并彻底调试应用程序,以确定问题的根本原因。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1641 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1562 浏览 1 评论
988 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
691 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1608 浏览 2 评论
1869浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
655浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
525浏览 3评论
541浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
514浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 07:17 , Processed in 0.752849 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号