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.

[参考译文] TMS320C6748:从闪存引导时出现间歇性问题

Guru**** 2543190 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/620042/tms320c6748-intermittent-problem-booting-from-flash

器件型号:TMS320C6748

我们设计了一个使用 TMS320C6748EZWT3 DSP 的电路板、该 DSP 从 NAND 闪存引导。 我们已经看到从闪存引导时出现间歇性问题、尤其是在一个电路板上  、三次尝试中的一次失败。 我们 探测了连接到闪存芯片的 EMA_WAIT_0引脚、引导加载程序似乎在相同的时间内成功和失败的引导访问闪存。 是否有任何方法可以确定引导加载程序是否 无法从闪存加载代码? 例如、如果存在不可纠正的错误、该怎么办?   

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

    虽然我没有任何答案、但我至少想提出一些想法或意见和问题来帮助调试。 我不熟悉引导加载程序、无法告诉您错误的响应是什么。

    由于 EMA_WAIT_0引脚指示引导加载程序在两种情况下都在读取 NAND 的时间长度正确、因此对我的影响是、NAND 读取在可能的最后一段加载结束之前不会返回错误。 一个有趣的测试是在不同段(如.text_test)中的某些程序代码的 NAND 内容中添加另一个段、该段的长度足以检测到 EMA_WAIT_0探针上的额外长度。 如果故障情况读取的时间与通过案例相同、则成功读取所有原始 NAND 内容以及新的虚拟.text_test 段。

    您如何观察到引导失败?

    您是否已将 JTAG/CCS 连接到电路板、并且可以在引导过程之后观察引导过程和加载的代码?

    我可以想到的比较引导加载代码结果的最简单方法是在引导后停止处理器、并将整个程序空间存储到文本文件中。 然后针对失败的案例重复此操作、并在两者之间进行文本比较。 您可能需要阅读有关硬件断点的 CCS 教程或在 TI.com 上进行搜索以了解如何设置和使用这些断点、但我不确定它们是否可以承受硬复位。 否则、您可能必须在代码的入口点放置 B $或 BKPT 指令、以使仿真器在引导加载后尽早停止。

    我对引导加载程序行为的期望是、它会在读取 NAND 内容时复制这些内容、然后在末尾有一个校验和 如果失败、它可能会再次尝试读取、或者它会挂起-我猜可能会倾向于再次读取、这不会由 EMA_WAIT_0签名表示。 也许引导加载程序文档会让您有所了解、或者在此处提供另一个更正式的答复。

    请告诉我们您的学习或发现还有哪些内容。

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

    可以通过许多方法来调试此问题。 您可以使用我们在 NAND 启动失败时提供的 Debug GEL 文件捕获器件状态,并向我们报告程序计数器以查看:
    processors.wiki.ti.com/.../OMAP-L1x_Debug_Gel_Files

    C6748引导加载程序用户指南中提供了该器件的 NAND 引导的详细信息:
    www.ti.com/.../spraat2f.pdf

    如果引导加载程序遇到不可纠正的错误、它会将块标记为 BAD、并尝试在接下来的32个块中查找引导映像。

    我还想n`t 您、C6748有一个次要 NAND 问题、如果这些问题是由备用区域引起的、那么它不会纠正错误。 请查看硅质子勘误表。 解决方法是使用最新的 AISGen 工具、该工具应用可解决此问题的补丁。
    www.ti.com/.../sprz303h.pdf (检查建议2.3.24)

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

    谢谢 Rahul 和 Randy。 这一问题似乎是咨询意见2.3.24造成的。 应用补丁后、问题似乎已解决。