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.

[参考译文] DRA724:无法读取/写入大于32GB 的 SD 卡

Guru**** 2560390 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/571378/dra724-unable-to-read-write-sd-cards-greater-then-32gb

器件型号:DRA724

DRA72x SD 控制器是否支持 SDXC 卡(即 SD 大于32GB)?

是否存在任何硬件限制?

-吉里什

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该卡的格式如何? 当您获得64 GB 或更大的卡时、它们通常格式化为开箱即用的 ex-FAT。 这可能是与文件系统支持相关的软件问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、没错。 但我明确地将卡格式化为 FAT32、并且能够安装卡、但当我开始写入 SD 卡时、我开始看到这些 Linux 内核错误消息、写入失败。
    mmcblk3:发送状态命令时出错-110、正在重试
    mmcblk3:发送状态命令时出错-110、正在重试
    mmcblk3:发送状态命令时出错-110、正在中止
    fat-fs (mmcblk3p1):无法读取 inode 块以进行更新(I_pos 957957)

    我也在研究内核驱动程序、但想确保硬件方面没有任何限制。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不应存在与64GB 卡相关的任何问题。 您使用的是哪种 Linux 版本? 读取工作正常吗? 只有写入才有问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    目前、我运行的是 Linux 内核版本3.14。
    不、读写操作看起来不一致。 例如、我能够一次写入和读取一个较小的文件(如1KB .txt 文件)、然后尝试写入一个大小大约为2.4GB 的较大的文件、即当我开始通过 dmesg 看到上述内核错误消息时。
    我将尝试使用 Linux 内核版本4.4并查看它是否解决了此问题。
    但是、如果没有已知的硬件限制。 这是一个好知识。

    谢谢、
    Girish
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、我发现这个问题、有人在过去的某个时间发布过、尤其是最后建议的答案是、J6 MMC/SD 控制器不支持 SDXC?!

    e2e.ti.com/.../1980363

    您能否再次澄清一下这里的情况吗?

    -吉里什
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    SDXC 需要 exFAT 支持。 我们不支持 exFAT。 这就是为什么这是我第一个要求的原因。 我们可以处理对64GB 卡的写入。

    是否已从 ti-linux-3.14.y 分支中提取所有更新?

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

    除了 Brad 答复外、我还想提一下 DRA72x TRM 提供了从硬件角度来看的信息:

    第25章 eMMC/SD/SDIO
    表25-1. 标准4.5支持的功能
    特性:支持密度
    支持:密度支持没有硬件限制
    限制:限制可能来自文件系统(32 GiB)。

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我已经查看了该表。 但这适用于 MMC 规格 v4.5中支持的功能。 我不确定这些应用是否也适用于 SD 规格 v3.01。 它们是吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为我没有来自 ti-linux-3.14分支的所有更新。 是否有任何可能影响此行为的相关更改?
    我可以查看最新的承诺、看看我是否可以选择其中任何一项。

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

    [引用 user="Girish Tummala">是的,我查看了该表。 但这适用于 MMC 规格 v4.5中支持的功能。 我不确定这些应用是否也适用于 SD 规格 v3.01。 它们是吗?[/报价]

    您是对的、该表适用于 MMC 规格 v4.5

    关于 DRA72x SD 硬件支持、它支持以下 SD 卡标准:

    -完全符合 SD 物理层规范 v3.01中定义的 SD 命令/响应集
    -完全符合 SD 卡规范第 A2部分 v3.00中定义的 SD 主机控制器标准规范集

    v3.01支持安全数字扩展容量(SDXC)卡、容量高达2 TB (2048 GB)、而 SD 2.0规范中 SDHC 卡的限制为32 GB。 因此、DRA72x SD 硬件支持高达2 TB 的 SD 卡。

    但下面是软件驱动程序限制:

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否尝试从我引用的树中挑选与 MMC 相关的最新提交?

    另一组潜在的重要提交与 dra72x-EVM.dts 文件相关:

    git.ti.com/.../dra72-evm.dts

    我希望您在某个时候已经放弃了自己的 DTS、因此您看不到 dra72-EVM.dts 的更新。 其中有一组与 MMC 端口的 IOdelay 设置相关的信息。 您可能需要检查它。 如果错误、可能会导致大量的读取和/或写入错误。

    此外、您能否尝试使用比2.5GB 文件小一点的文件进行一些写入? 例如、100MB 文件是否起作用? 1 GB 文件的大小如何? 我认为 FAT32应该支持高达4 GB 的文件大小。 但是、2GB 似乎是查看问题的一个非常常见的阈值、因此最好测试更小的内容、以确保错误不会以某种方式与文件大小有关。