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.

[参考译文] PROCESSOR-SDK-AM335X:无法读取 SD 卡状态和 SCR 寄存器

Guru**** 2540720 points
Other Parts Discussed in Thread: AM3359

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/598461/processor-sdk-am335x-cannot-read-sd-card-status-and-scr-register

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:AM3359

我正在寻找 AM335x /MMC 模块与 SD 卡连接的示例。

我的问题是 ACMD13 (SD 状态)和 ACMD51 (SCR 寄存器)。  这些命令应具有通过数据寄存器发送到主机的512位(64字节)块数据。

命令正确发送且没有任何错误、R1响应表示没有错误且命令成功。

但是、当我读取512位块的 SD_DATA (偏移220h)寄存器时、它将返回所有"0"。

我出了什么问题、您能提供帮助吗?

谢谢

Trieu Pham

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用的是什么软件? TI 发布的 Processor SDK :www.ti.com/.../PROCESSOR-SDK-AM335X 完全支持 MMC
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我正在使用 Starterware。  我查看了示例(mmcsd)文件夹 ,但看不到它试图读取 SD 状态(ACMD13)和 SCR (ACMD51) 寄存器的任何位置。

    该示例展示了如何设置总线和初始化卡、但它从未检查设置是否到达 SD 卡。

    我不确定 MMC 是否适用于该部件。  我希望您可以将一些光投射到其中。

    提前感谢您!

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

    Trieu、

    您使用的是哪个版本的 Starterware? 我 假设您正在尝试 C:\ti\pdk_am335x_1_0_6\packages/ti\starterware\examples\mmcsd 中的示例?

     在运行示例并单步执行代码时、您是否看到在 SD_CMD 寄存器偏移0x20C 中设置的上述命令?

    Lali

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Lali、
    是的、我看到命令在 SD_CMD 寄存器中设置。 请注意、这是特定于应用(ACMD)的命令、因此首先发送命令55、然后发送命令13或命令51。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Lali 和 Biser、

     还有其他建议吗?

    我做了更多的测试、我认为可能是 TI 没有更新这些命令的数据寄存器。

    SD 卡很好地接受了该命令,对于这些命令,必须在 SD_DATA 中进行响应。

    TI 未传输数据。 您能深入了解一下吗?

    首先检查 CMD6、这符合规格、 SD_RSP 中的32位响应(R1) 以及 DAT 线路中的512位数据。

    在我的测试中、SD_RSP10 (210H)中的 R1响应正常。

    但 SD_DATA (220h)中的512位响应不正常。

    您能否查看此可能的错误?

    -Trieu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Trieu、
    您是否可以尝试以下位置的基于 PDK 的示例:
    C:\ti\pdk_am335x_1_0_6\packages \MyExampleProjects\MMCSD_evmAM335x_armTestProject

    您使用的是哪款 AM335x EVM? 它是通用 EVM 吗?

    您需要通过运行 pdkProjectcreate.bat 文件来构建此示例。 如果您需要有关生成此示例的帮助、请告诉我、我可以为您提供帮助。 我建议使用此示例的原因是、与 Starterware 版本相比、此基于 PDK 的驱动程序更具最新性。

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

    你好,Lali,

    是的、如果有助于更好地描述问题、我可以尝试一下。

    但是、我看不到您上面提到的项目文件夹

    如果可能、您可以将其发送给我还是向我展示从何处获取它。

    谢谢

    Trieu Pham

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

    您需要运行脚本以生成项目。 有关如何执行此操作的步骤、请参阅 processors.wiki.ti.com/.../Rebuilding_The_PDK

    请参阅"PDK 示例和测试工程创建"一节

    运行 pdkProject Create.bat 后、将弹出一个名为 MyExampleProjects,的目录
    C:\ti\pdk_am335x_1_0_6\packages \MyExampleProjects

    这将包含我上面提到的 MMCSD 示例。
    希望这对您有所帮助。

    Lali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lali、
    BTW、我没有 EVM。 我的计划是提取您的代码并将其用于我的目标板。 您是否看到任何可能存在的问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我运行了 PDKprojectCreate.bat 并提供了"PDK 示例和测试工程创建"说明中所示的选项。
    未创建"MyExampleProject"文件夹。 它显示错误无法找到指定的路径。 然后我手动创建了它们。 它仍然有错误、如下所示)我错过了什么?

    (小部分
    C:\ti\pdk_am335x_1_0_6\packages >pdkProjectCreate.bat am335x all Little mmcsd arm C:\ti\pdk_arm335x_1_0_6\packages
    ========================================================================================================================================================
    配置:
    SoC :AM335x
    电路板 :全部
    字节序 :小
    模块 :mmcsd
    处理器 :ARM
    pdk_short_name:C:\ti\pdk_arm335x_1_0_6\packages
    ========================================================================================================================================================
    正在检查配置...
    完成
    ========================================================================================================================================================
    PDK_PARTNO :AM335
    pdk_Eclipse_ID :com.ti.pdk.am335x
    RTSC_platform_name:ti.platforms.evmAM3359
    RTSC_TARGET :GNU.targets.arm.A8F
    CCS_DEVICE :"Cortex A.33574.ICE_AM3359"
    系统无法找到指定的路径。
    (小部分
    检测 PDK 中的所有工程并将其导入到工作区 C:\ti\pdk_arm335x_1_0_6\packages/MyExampleProjectl 中
    检测到的测试项目:MMCU_FatfsConsole_bbbAM335x_armExampleProject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_FatfsConsole_bbbAM335x_DMA_armExampleProject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCU_FatfsConsole_evmAM335x_armExampleProject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_FatfsConsole_evmAM335x_DMA_armExampleProject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCU_FatfsConsole_icev2AM335x_armExampleProject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_FatfsConsole_icev2AM335x_DMA_armExampleProject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCU_FatfsConsole_skAM335x_armExampleProject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_FatfsConsole_skAM335x_DMA_armExampleProject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_bbbAM335x_armTestproject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_bbbAM335x_DMA_armTestproject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_bbbAM335x_EMMC_armTestproject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCU_bbbAM335x_EMMC_DMA_armTestproject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_evmAM335x_armTestProject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_evmAM335x_DMA_armTestProject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_icev2AM335x_armTestproject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_icev2AM335x_DMA_armTestproject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_skAM335x_armTestproject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    检测到的测试项目:MMCSD_skAM335x_DMA_armTestproject
    系统无法找到指定的路径。
    正在复制 macro.ini
    系统无法找到指定的路径。
    未检测到工程
    项目生成完成
    (小部分
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Trieu、

    所有 Processor SDK 组件是否都已在 CCS 中注册? 这是您在启动 CCS 时应该看到的提示、它询问您是否要注册新找到的组件。

    在继续执行示例和/或单元测试之前、确保已安装所有相关/必备产品并在 CCS 中注册。 安装 Processor SDK 产品后启动 CCS 将导致 CCS 查找并注册任何新产品。 如果任何相关产品尚未在 CCS 中注册、则在 PDK 工程创建期间会发生错误。

    您是否在 C:\ti 或其他客户路径上安装了所有组件? 默认情况下,脚本假定安装的位置。

    您使用的是哪个版本的 CCS? 脚本采用 CCSv7。

    Lali