This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
你(们)好
通常、EMMC 需要在识别和 数据传输之间进行频率切换-识别必须在低频上运行、并且仅在该高时钟允许之后运行。 据我所知、这是 JEDEC 的一部分、用于确保兼容性。
在我的 Swissbit SFEM005GB1ED1TO-I-5E-31P-STD 上 、数据表看起来 类似(已查看其他几个数据表并具有类似的内容):
基本上 、大多数带有 MMCSD_CMD (0)-(6)的 MMCSD_initEMMC 都必须在低频率上运行、只有在 完成后才允许高频率运行。
这不适用于 SDK 10.1 (尝试了"Auto Assign Maximum Speed"、Direct HS 或 DS -它们都不起作用)。
是否有支持或如何实现这一点?
注意:这在 SDK 9.x 中也不起作用 、但我做了调整-使用 MMCSD_Config.outputClk 我添加了另一个 基于 MMCSD_switchCardSpeed 的函数、该函数允许在 MMCSD_initEMMC 之前和之后进行时钟切换、以确保它从400kHz 开始、并且如果一切都正常、则切换到 HS400。
使用此解决方案和 SDK 9.2、相同的原型可以正常工作、因此接线正常、EMMC 也可以正常工作。
现在、我希望使用 SDK 10.1实现相同的目标 、但删除了 MMCSD_Config.outputClk、该驱动程序发生了相当大的变化、因此我的 SDK 9.x 解决方案不再起作用。
在我回到零并再次尝试修改驱动程序之前、我想知道这个时钟开关是否受新 SDK 的支持(我预计"Auto assign maximum speed (自动分配最大速度)"是这样、但对我来说不起作用)。
编辑:
驱动程序似乎甚至没有尝试初始化 EMMC、但返回错误:
静态 int32_t MMCSD_LLD_initMMC (MMCSDLLD_Handle 句柄)
{
返回 MMCSD_STS_ERR;
}
对此有任何修复?
v2驱动程序似乎有某种 EMMC 代码-应该使用吗? 如何选择? 已尝试从 soc_config.h 切换到 DRV_VERSION_MMCSD_V2、但会搜索 SDK 中未包含的 LLD v2版本。
我需要一个解决方案来获得 EMMC 的支持、EMMC 的工作时间是9.2、现在它在10.1中缺失
此致、
Barna Csenteri
尊敬的 Qingjun:
我遇到了同一个问题、您能帮助回答这个问题吗? 谢谢!
MMCSD_LLD_initMMC 似乎始终失败。
此致、
Zane
尊敬的 Zane:
软件应用程序脱机处理此问题。 我将关闭此主题。
是否有此问题的时间表?
我需要知道、因为我们的项目处于相当先进的阶段、在 6月有一些截止日期-如果没有这种支持、我将不得不推迟切换到 SDK 10.x
可能需要几周的时间。 我不是很确定。