完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前在做一个USB导出LOG的功能,使用文件系统 FATFS 将日志写入文件(用的内部flash,后512k),再用USB MSC虚拟U盘,连接PC可以直接将LOG文件拖出来,目前功能都已经实现并测试通过,但只有第一次下载程序可以正常执行,再次复位后程序直接不跑了, 影响到了flash?看一些帖子,多主机操作文件系统会出问题(STM32 与PC同时操作文件系统),我在使用USB MSC就已经把文件系统卸载了,并做了以下测试
测试: 1.usb虚拟u盘地址 与 文件系统地址 使用相同地址:0x08080000 只有第一次可以启动成功 系统复位不可用 2.usb虚拟u盘地址包括 文件系统地址 usb msc add:0x0807A000 disk fatfs address:0x08080000 系统复位不可用 3.文件系统地址包括USB虚拟u盘地址 usb msc add:0x08080000 disk fatfs address:0x0807A000 系统复位不可用 不知道啥问题了,各位大佬给点建议~~~ |
|
相关推荐
1个回答
|
|
从您的描述来看,您在使用MSC(USB Mass Storage Class)和FATFS(Fat File System)时遇到了一些问题。在这种情况下,我们需要分析可能的原因并提供解决方案。
1. 确保USB MSC和FATFS的地址空间不冲突:您提到已经将USB虚拟U盘地址和文件系统地址设置为相同的地址(0x08080000),这可能导致地址冲突。请尝试将它们设置为不同的地址空间,以避免冲突。 2. 确保在USB MSC连接时不操作FATFS:您提到在使用USB MSC时已经将文件系统卸载,这是一个好的做法。但是,请确保在USB MSC连接期间,您的程序不会尝试访问或操作FATFS。这可以通过在USB MSC连接期间禁用FATFS操作或使用标志位来实现。 3. 检查Flash写入次数:内部Flash的写入次数是有限的,如果频繁写入可能会导致Flash损坏。请确保您的程序在写入Flash时遵循正确的擦写周期,以延长Flash的使用寿命。 4. 确保USB MSC和FATFS的初始化顺序正确:在您的程序中,确保先初始化FATFS,然后再初始化USB MSC。这样可以确保在USB MSC连接之前,FATFS已经正确初始化。 5. 检查USB MSC和FATFS的中断优先级:确保USB MSC和FATFS的中断优先级设置正确,以避免中断冲突。 6. 使用调试工具检查程序运行情况:使用调试工具(如ST-Link)检查程序在复位后是否正常运行。这可以帮助您找到问题所在。 7. 考虑使用双缓冲区:为了避免在USB MSC和FATFS之间发生冲突,可以考虑使用双缓冲区。这样,您可以在USB MSC连接期间将数据写入一个缓冲区,然后在USB MSC断开连接后将数据写入FATFS。 8. 检查USB MSC和FATFS的配置:确保USB MSC和FATFS的配置正确,包括块大小、块数等。 通过以上步骤,您应该能够找到问题所在并解决它。如果问题仍然存在,请提供更多详细信息,以便我们进一步分析。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1817 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1631 浏览 1 评论
1103 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
739 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1692 浏览 2 评论
1951浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
756浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
586浏览 3评论
605浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
568浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 21:16 , Processed in 0.828633 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号