完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在下用freerots+sdio驱动tf卡,出了不少问题
1.读取数据经常卡死 解决方式:由4位模式改为1位模式。稳定性倒是上去了,但公司要求速度,于是找另外的方式,发现sd_diskio.c里面没有使用dma传输, 于是改为dma传输,稳定性和速度都看似解决了。 2.大数据操作出错 现象:问题1说了,问题看似解决了,但实际还有问题,加入以512个数据长度进行操作很稳定,数据也没错误,但如果超过512进行操作就会 偶尔出问题,这个偶尔是只也有正确的,也有不正确的,并且不正确始终就是那几个不正确,且每次都一样。 如果我改回1位非dma方式就没有错误。也就是说问题应该出在dma上,这下完全不知道怎么解决了。 |
|
相关推荐
1个回答
|
|
在使用FreeRTOS + SDIO驱动TF卡时,遇到的问题和解决方案如下:
1. 读取数据经常卡死 解决方式:将4位模式改为1位模式,以提高稳定性。但为了满足公司对速度的要求,可以尝试以下方法: a. 在sd_diskio.c文件中启用DMA传输。这样可以在保持稳定性的同时提高速度。 2. 大数据操作出错 现象:使用512个数据长度进行操作时,数据稳定且无错误。但当数据长度超过512时,偶尔会出现错误,且错误始终是相同的几个。 解决思路: a. 检查SD卡的容量和速度等级,确保它们符合您的需求。 b. 检查FreeRTOS和SDIO驱动的配置,确保它们正确设置以支持大数据传输。 c. 在sd_diskio.c文件中,检查是否有任何限制导致超过512字节的数据传输出现问题。如果有,尝试修改这些限制。 d. 检查硬件连接,确保SD卡与微控制器之间的连接稳定且无干扰。 e. 如果可能,尝试使用另一张SD卡或更换SD卡插槽,以排除硬件故障的可能性。 3. 其他建议 a. 在进行大数据传输时,可以考虑分批次传输,每次传输512字节或更少的数据,以降低出错的风险。 b. 对于关键数据,可以实施错误检测和纠正机制,如CRC校验,以确保数据的完整性和正确性。 c. 在开发过程中,可以使用调试工具和日志记录功能,以便更好地了解问题所在并进行针对性的优化。 希望以上建议能帮助您解决在使用FreeRTOS + SDIO驱动TF卡时遇到的问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1877 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1661 浏览 1 评论
1145 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
760 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1720 浏览 2 评论
1963浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
789浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
612浏览 3评论
629浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
590浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 03:13 , Processed in 0.691295 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号