Other Parts Discussed in Thread: AM62P
器件型号: AM2632-Q1
主题: AM62P 中讨论的其他器件
尊敬的专家:
客户报告他们在从 9.2.0.56 版升级 SDK 时遇到了 MMCSD 驱动程序问题。
这是原始的 syscfg 设置。
但是、升级 SDK 后、MMCSD 驱动程序将在 MMCSD_OPEN () 中失败
客户想知道我们对驱动程序进行了哪些更改、以及如何使 SDK 与旧版本兼容。 您能帮忙吗?
此致
Andre
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.
Other Parts Discussed in Thread: AM62P
器件型号: AM2632-Q1
主题: AM62P 中讨论的其他器件
尊敬的专家:
客户报告他们在从 9.2.0.56 版升级 SDK 时遇到了 MMCSD 驱动程序问题。
这是原始的 syscfg 设置。
但是、升级 SDK 后、MMCSD 驱动程序将在 MMCSD_OPEN () 中失败
客户想知道我们对驱动程序进行了哪些更改、以及如何使 SDK 与旧版本兼容。 您能帮忙吗?
此致
Andre
QJ、
感谢您的信赖。 但我有问题:
1.在更改列表中、diff 的源文件位于 V0 文件夹中。 我在 SDK 11.00.00.16 中找不到此文件夹


我可以知道这是正确的吗?
2、由于 MMCSD 驱动器可以与客户电路板配合工作而无需更改。 我想知道我们用于测试 EMMC 的平台是什么?
3.在比较结果中,我看到我们做了很多的延迟设置。
@@–1117、17 +1122、11 @@静态 int32_t MMCSD_initEMMC(MMCSD_handle 句柄)
状态= MMCSD_TRANSFER(句柄,&TRANS);
}
-/*等待 100 毫秒*/
- ClockP_USleep(100U*1000U);
-
if (status == SystemP_Success)
{
MMCSD_parseECSDEmmc (obj->emmcData、obj->tempDataBuf);
}
-/*等待 100 毫秒*/
- ClockP_USleep(100U*1000U);
-
/*在控制器和设备中设置总线宽度*/
uint32_t controllerBusWidth、ecsdBusWidth;
@@–116、29 +1160、12 @@静态 int32_t MMCSD_initEMMC(MMCSD_handle 句柄)
}
obj->busWidth = controllerBusWidth;
-/*等待 100 毫秒*/
- ClockP_USleep(100U*1000U);
if (SystemP_Success == status)
{
MMCSD_halSetBusWidth (attrs->ctrlBaseAddr、控制器 BusWidth);
}
-/*等待 100 毫秒*/
- ClockP_USleep(100U*1000U);
-
-/*永久启用 RST_n */
- IF(SystemP_Success == status )
-{
- MMCSD_initTransaction(&trans);
tran.cmd = MMCSD_MMC_CMD (6);
- trans.arg = 0x03A20100;
- status = MMCSD_TRANSFER(句柄,&TRANS);
-}
-
-/*等待 100 毫秒*/
- ClockP_USleep(100U*1000U);
-
我想知道为什么消除这些延迟吗? 它是否会影响与我们用于测试的 EMMC 不同的 EMMC?
此致
Andre
您好 Andre、
我们没有用于测试 eMMC 的平台 (EVM 或 LaunchPad)。 软件开发团队应配备验证板、用于测试所有 SDK 驱动程序。
MMCSD 使用 Rev11 SDK 中的 V1。 它在位于以下位置的 soc_config.h 中进行定义:
C:\ti\mcu_plus_sdk_am263x_11_00_00_19\source\drivers\hw_include\am263x
#define DRV_VERSION_MMCSD_V1
我不知道为什么要删除延迟、但我认为新驱动程序应该在发布之前进行测试。
通过重新添加延迟是否解决了问题?
(+) AM2632-Q1:eMMC 读取速度:仅获取 12Mb/s(而不是 24Mb/s)-基于 Arm 的微控制器 — 内部论坛-基于 Arm 的微控制器 — 内部- TI E2E 支持论坛
Nikhil 表示、 eMMC 驱动程序是从最新的 SDK 版本中排除的、不再针对 AM263 器件进行验证
问题已解决。
必须在 Driver_Open 调度程序启动后调用 RTOS()。 在 MMCSD_LLD_initMMC() 期间、我们使用 ClockP_usleep ()、此 API 依赖于 RTOS 服务、如果调度程序不启动、它将停止。
我们的演示项目是在不使用 RTOS 的情况下实现的。 它们都很好。
我建议向客户提供基于 RTOS 的演示代码以供参考。
此致
Andre