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.

[参考译文] TMS320C6678:在尝试从 SPI NOR 闪存引导时卡在 ROM 引导加载程序中

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/674383/tms320c6678-stuck-in-rom-bootloader-while-trying-to-boot-from-spi-nor-flash

器件型号:TMS320C6678

我有一个映像、该映像构建为从 SPI 闪存引导。  此映像从 SPI 引导、当烧写到评估板的 SPI 闪存时不会出现任何问题、跳线设置为从 SPI 引导。  但是、在我们的定制板上、映像不会启动。  我已使用 code composer 连接到目标、我可以看到处理器卡在地址0x20b0a26c 和0x20b0a338之间的 RBL 中的大环路中。  有人能告诉我 RBL 对什么不满意吗?   我已经读取了 DEVSTAT 寄存器、它看起来是正确的。   我还可以在目标上运行代码(从 CCS)、读取和写入 SPI 闪存时不会出现任何问题。  哦、我还可以在目标上从 CCS 运行我尝试从 SPI 引导的相同映像、并且运行正常。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    团队将收到通知。 他们将直接在此处发布反馈。

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

    您能否详细说明 EVM 与定制电路板设计之间的差异? 此外、您是否使用与 EVM 相同的映像、闪存工具和 DEVSTAT 设置? 此器件上 SPI 引导失败的最可能原因是引导映像未使用正确的字节顺序进行刷写、这是引导映像创建实用程序如何生成映像以及闪存工具如何将其编程到闪存的函数。 从挂起的存储器位置、ROM 代码在 HW_SPI_xfer 和 hwSpiRead 函数中挂起、因此它似乎在正确的引导模式下引导。

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

    遗憾的是、我对 EVM 和定制板之间的差异并不完全肯定。  我们在 EVM 上开发的大多数代码都在新电路板上正常运行。  我们有一个与之通信的定制 FPGA、但从 CCS 调试器加载代码时、我们可以实现这一目标、而不会出现任何问题。   所涉及的图像与我在 EVM 和定制板上烧录的图像相同。  我所使用的刷写工具完全相同、是从原始的 norwriter_evmc6678l TI 工具修改的。  当我从 CCS 调试器加载映像并读取 DEVSTAT 寄存器时、它在两个电路板上的读数相同。  我认为这种设计是正确的、因为这是两个电路板上的同一个处理器。

    感谢您提供有关我卡在其中的循环的信息。  您能告诉我、什么可能会使 RBL 无限期停留在该环路中?  它是否会遇到会导致它永久循环的错误情况?

    一项新的发展。  当我们探测电路板以查看 SPICLK、SDA 和 MISO/MOSI 线路是否处于活动状态时、我们突然发现图像实际上正在启动。  我当然没有更改刻录到闪存的映像、但我们在每次启动映像时多次重启电源。  什么改变了?  为什么它突然开始启动?  我不知道。  我会继续调查、但我不喜欢意外开始工作的情况、因为它很容易停止工作。  如果您能让我深入了解 RBL 环路的性质、我可能会弄清楚为什么它突然退出该环路并引导我的代码。

    谢谢、

    David