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.

[参考译文] AM2632-Q1:SDK11.00.00.16 的 AM263x MMCSD 驱动器

Guru**** 2667985 points

Other Parts Discussed in Thread: AM62P

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1593454/am2632-q1-am263x-mmcsd-driver-of-sdk11-00-00-16

器件型号: AM2632-Q1
主题: AM62P 中讨论的其他器件

尊敬的专家:

   客户报告他们在从 9.2.0.56 版升级 SDK 时遇到了 MMCSD 驱动程序问题。

这是原始的 syscfg 设置。

1.png但是、升级 SDK 后、MMCSD 驱动程序将在 MMCSD_OPEN () 中失败

客户想知道我们对驱动程序进行了哪些更改、以及如何使 SDK 与旧版本兼容。 您能帮忙吗?

此致

Andre  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好  Andre、

    请在 docs flder 中查看变更摘要:

    ..\docs\change_summary\source\drivers\mmcsd.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    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

    我不知道为什么要删除延迟、但我认为新驱动程序应该在发布之前进行测试。

    通过重新添加延迟是否解决了问题?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    QJ、

       我想知道我们使用哪个平台进行 EMMC 测试吗? AM243x? AM62P 或。 我想知道可以使用哪个电路板作为参考。

    此致

    Andre

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    QJ、

       AM263x SDK 有很大变化。 它增加了 LLD 驱动程序层、因此很难将它们与不匹配的 readme.txt 进行比较。 请帮助检查设计人员团队以加快调试过程。

    此致

    Andre

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    (+) AM2632-Q1:eMMC 读取速度:仅获取 12Mb/s(而不是 24Mb/s)-基于 Arm 的微控制器 — 内部论坛-基于 Arm 的微控制器 — 内部- TI E2E 支持论坛

    Nikhil 表示、 eMMC 驱动程序是从最新的 SDK 版本中排除的、不再针对 AM263 器件进行验证

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Andre、

    您能否确认客户是否可以在其定制电路板上从 SDK 11.0.0.16 中成功运行示例“mmcsd_raw_io_eMMC_am263x-cc_r5fss0-0_nortos_ti-arm-clang"?“?

    同时、我们正在与开发团队核实差异。

    谢谢、

    Sahana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题已解决。  

    必须在 Driver_Open 调度程序启动后调用 RTOS()。   在 MMCSD_LLD_initMMC() 期间、我们使用 ClockP_usleep ()、此 API 依赖于 RTOS 服务、如果调度程序不启动、它将停止。

    我们的演示项目是在不使用 RTOS 的情况下实现的。 它们都很好。

    我建议向客户提供基于 RTOS 的演示代码以供参考。

    此致

    Andre