STM32F411 SDIO 4位模式异常,求问F4xx系列4位传输速率实现情况
STM32F411 SDIO 4位模式速率达标实现疑问
我正在开发基于STM32F411的STM32Cube项目,项目需要较快的SD卡读取速度,但SDIO 4位模式无法正常工作。
关于SDIO 4位模式的问题,在多个技术平台已有大量反馈,多数指向STM32Cube生成的代码。常见解决方案是先以1位模式启动SD卡,再切换至4位模式,修改位置通常在main.c或FATFS/Target/bsp_driver_sd.c中。
STM32官方论坛的相关讨论中,有ST员工回复称:
该问题已追踪一段时间(编号155983),修复发布后我会通知大家。
但该问题最初报告于2015年,我并不期待后续更新。
我尝试了多种上述方案,结果分为两种:
- 方案无效:4位模式虽成功启用,但FATFS无法在
ff.c约3050行处找到FAT分区,对应代码片段:
/* Find an FAT partition on the drive. Supports only generic partitioning rules, FDISK and SFD. */ bsect = 0; fmt = check_fs(fs, bsect); /* Load sector 0 and check if it is an FAT-VBR as SFD */
- 速率无提升:读取速率与1位模式完全相同。
此外,部分SDIO使用教程提及的基准测试数据存在误差,比如某教程中18MHz时钟下2.4Mb/s的读取速率仅符合1位传输水平,并未达到4位模式应有的性能。
我的问题是:是否有开发者在STM32F4xx处理器上实现了符合4位传输的读取速率(即速率约为时钟频率的一半)?
内容的提问来源于stack exchange,提问作者JavaLatte
相关产品推荐
相关产品推荐

