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.

[参考译文] TMS320C5515:SD 卡错误引导

Guru**** 2587345 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/591530/tms320c5515-sd-card-erroneous-boot

器件型号:TMS320C5515

您好!

我们会定期遇到问题、PCB 上的 C5515似乎尝试从 SD 卡加载映像、但是在启动时 SD 卡上没有文件。

我们当前从2个器件启动、NOR 闪存或 USB。

PCB 已进入、 我们通过 USB 将引导加载程序加载到它们上 、然后 USB 将*。bin 文件通过 USB 进行 编程并将其编程到 NOR 闪存中。

然后、如果从器件上拉电然后重新加电、则器件会从 NOR 闪存引导、一切正常。

尽管我们已经发现有几次电路板通过 USB 插入计算机以加载引导加载程序、但计算机从未识别到 USB 设备已插入。

然后、我们发现从电路板上卸下 SD 卡并通过 USB 将其插回计算机、这样计算机就可以识别设备已插入、并且我们能够执行引导加载过程。

SD 卡阻止 C5515内部引导加载程序到达 USB 引导加载点。

我们能够在具有相同 SD 卡的另一个电路板上验证这一点、因此它似乎与 SD 卡有关。

问题是、如果 SD 卡为空(空白、没有文件、但 SD 卡格式化)、为什么我们的电路板在尝试从 SD 卡加载映像时卡住、令人震惊。

在产品中具有有效映像后将同一 SD 卡放入 NOR 闪存 即可正常工作(因为 NOR 闪存引导点位于 SD 卡引导点之前)。

 然后、C5515能够对 SD 卡进行读取和写入 、 并且不会出现任何问题。

对这一问题的任何意见都很好。

谢谢、

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

    我已通知 C5000团队。 他们的反馈将直接发布在此处。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ben、
    有趣的问题。
    只是大声思考、建议2.0.9是否适用于您的案例? www.ti.com/.../sprz308d.pdf
    可能与您看到的内容无关、但想要询问。

    是的、SD 是在引导序列之后也不是在引导序列期间、因此很难说出可能会使 SD 跳闸的原因。

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

    你好、Lali、

    是的、咨询意见2.0.9确实适用于我们。

    我们必须在一段时间前执行另一个电路板修订版、该修订版使用了勘误表中所述的权变措施。

    谢谢、

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

    Ben、

    我正在与一些内部人员核实这一点、并将在收到响应后发布到这里。

    Lali

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

    谢谢!

    如果我在结尾处发现任何其他内容、我将发布它。

    以下是当前整个问题的要点形式:

    1. 我们在产品中使用 C5515、它设计为从 NOR 闪存或 USB 引导。

    2. 当 NOR 闪存中没有有效映像时、C5515从 USB 引导。

    3. 我们将 C5515连接到用于将数据保存到的 SD 卡。  我们不使用 SD 卡进行引导。

    4. 我们会定期遇到这样的问题:如果 NOR 闪存中没有有效映像、C5515永远不会将其提供给 USB 引导加载程序。  我们发现、通过从单元中取出 SD 卡、C5515将连接到 USB 引导加载程序。

    5. 当我们希望保存或读取 SD 卡时、它在我们的应用中工作正常。

    谢谢、

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

    您好 Ben、

    SD 卡引脚上是否有上拉电阻、尤其是 CMD 上的上拉电阻?

    此外、您是否能够在没有 GEL 的情况下将电路板连接到 CCS 并查看引导加载程序的停止位置?

    在程序计数器值中、我们应该看到引导加载程序符号、以确定其卡住的位置。

    Lali

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

    你好、Lali、

    是的、所有6 个 SD 卡引脚(CLK、CMD 和数据引脚)上都有12.1K 的上拉电阻。

    我执行的调试会话使 PC 卡在地址0xFFBBB3至0xFFBBD4之间(见下图)。

    谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Ben、
    屏幕截图未通过回复。 请重新发布吗? 谢谢。
    Lali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我正在尝试再次发布图片、但在上一个帖子中没有看到。

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

    此外、这里是 SD 卡接口的原理图。

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

    Ben、

    请在 SD 卡上尝试此操作:

    1.从 https://www.sdcard.org/downloads/formatter_4/下载 SD 卡格式化板

    2.使用格式化板将 SD 格式化为 FAT32

    3.将 boot5505.bin 复制到格式化的 SD 卡的根目录

    4.将 SD 卡插入 SD 卡插槽

    5.重启 C5515 EVM 以重新启动

    此外、您是否可以尝试使用 PC 上的外部 SD 读卡器或批量 SD 卡复印机对 SD 卡进行编程?

    您是否还可以尝试在 SD 之前的 SPI 等设备上放置引导映像、以查看其是否正常工作?


    /cfs-file/__key/communityserver-discussions-components-files/791/0131.Dummy.zip

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

    你好、Lali、

    我们在过去还注意到,如果我们启用了中断,CSL v3.04中的 MMC_Read()方法 有时会卡在无限循环中,以查找 MMCST0寄存器的状态位是否发生变化。

    下面的代码显示了该区域、当读取 MMCST0时、它永远不会获得离开 DO 循环的值。

    执行
    {
    do
    {
    status = hmcsd->mmcRegs->MMCST0;
    if (status & CSL_MMCSD_data_tout_crc_error)!= 0)
    {
    reIssueReadFlag = 1;
    break;
    }
    
    }while (status & CSL_MMCSD_read_ready)!= CSL_MMCSD_read_read_ready
    
    ;
    = 1) reIssueReadeFlag = 1;
    
    }while (break;}}while (read_read_read_read_read_read_read_read_read_read_read.if 

    我不知道 TI 引导加载程序代码中是否使用了相同的库、但我想与大家分享这一发现。

    谢谢、

    编辑: 我刚刚在5月5日看到了您关于 SD 卡的最后一篇文章。  我将尝试这些说明、并告诉您结果。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Lali、
    我们没有 C5515 EVM、只有 eZdsp USB 记忆棒。
    但是、我在您的帖子中尝试了 SD 卡格式化板链接。
    在 SD 卡上使用 SD 卡格式化板导致故障后、产品在插入 SD 卡后启动正常。
    我过去和今天在 Windows 中尝试过使用 SD 卡格式化板、但这没有解决问题。
    您提供的格式化工具似乎与 Windows 中的工具不同、格式化 SD 卡。
    MBR 中是否有 TI 引导加载程序不希望在 SD 卡上看到的某种类型的值?
    谢谢、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ben、

    很高兴它开始使用不同格式的工具。

    C55xx 引导加载程序仅支持单个分区的 SD 卡。 默认情况下,SD 卡关联中的 SD 卡格式化程序将 SD 卡格式化成单个分区,而窗口的格式化程序则会将任何分区默认为

    如果 SD 卡被格式化为多个分区、则它将无法与 C55xx 引导加载程序配合使用。

    Lali

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Lali、
    这不在线程的范围内、但您是否知道验证 SD 卡是否格式化为多个分区的方法?
    谢谢、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Lali、

    我能够从已知良好的 SD 卡和导致引导加载程序停止的 SD 卡读取 MBR。

    SD 卡的分区部分似乎存在导致引导加载程序停止的垃圾数据。

    在工作正常的 SD 卡上、只有一个分区存在。

    下面是 SD 卡第一个扇区中数据的尾端:

    工作 不工作
    [200] 0 [200] 2910.
    [201] 0 [201] 30025.
    [202] 0 [202] 63494
    [203] 0 [203] 16835
    [204] 0 [204] 187.
    [205] 0 [205] 24576.
    [206] 0 [206] 27238
    [207] 0 [207] 60160
    [208] 0 [208] 17072
    [209] 0 [209] 20303
    [210] 0 [210] 19796年
    [211] 0 [211] 21063.
    [212] 0 [212] 8224
    [213] 0 [213] 8224
    [214] 0 [214] 2573.
    [215] 0 [215] 25938
    [216] 0 [216] 28525
    [217] 0 [217] 25974.
    [218] 0 [218] 25632.
    [219] 0 [219] 29545
    [220] 0 [220] 29547.
    [221] 0 [221] 28448
    [222] 0 [222] 8306
    [223] 512 [223] 29807
    [224] 12. [224] 25960
    [225] 14342 [225] 8306
    [226] 47352. [226] 25965
    [227] 137. [227] 26980
    [228] 0 [228] 11873
    [229] 40823 [229] 3583.
    [230] 58. [230] 17418
    [231] 0 [231] 29545
    [232] 0 [232] 8299
    [233] 0 [233] 29285.
    [234] 0 [234] 28530
    [235] 0 [235] 65394
    [236] 0 [236] 2573.
    [237] 0 [237] 292664
    [238] 0 [238] 29541.
    [239] 0 [239] 8307.
    [240] 0 [240] 28257.
    [241] 0 [241] 8313.
    [242] 0 [242] 25963
    [243] 0 [243] 8313.
    [244] 0 [244] 28532
    [245] 0 [245] 29216
    [246] 0 [246] 29541.
    [247] 0 [247] 24948
    [248] 0 [248] 29810
    [249] 0 [249] 2573.
    [250] 0 [250] 0
    [251] 0 [251] 0
    [252] 0 [252] 0
    [253] 0 [253] 44032.
    [254] 0 [254] 55499
    [255] 0xAA55 (十六进制) [255] 0xAA55 (十六进制)

    为什么选择停转?

    如果引导器件(在本例中为 SD 卡)在某种程度上无效、那么逻辑是引导加载程序只是安装而不是移动到 USB 引导加载程序部分是如何的?

    谢谢、