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 引导和 DDR 初始化问题

Guru**** 2558250 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/623323/tms320c6678-spi-booting-and-ddr-initialization-problem

器件型号:TMS320C6678

团队、

在我们的板上、C6678 DSP 以存储器引导模式工作。 我们将使用 SPI 闪存作为引导源-避免 IBL 的使用。 我们已按照 http://processors.wiki.ti.com/index.php/File:C6678_directROM_boot_examples.zip 步骤生成 SPI 映像、并通过外部编程器将其直接编程到 SPI 闪存中、然后将闪存焊接到电路板上。 之后 、DSP ROM 引导加载 程序会成功配置器件资源以启动引导过程、将映像从 SPI 闪存加载到器件中并停留在 RBL 移交过程中、因此它仍然不执行映像。

接下来、我尝试通过 C6678 DSP 对 SPI 闪存进行编程、如手册中所述。  我使用 CCS 和  C:\ti\ccsv5\ccs_base\emulation\boards\evmc6678l\gel\evm6678l.gel 作为 电路板 的.gel 文件来连接 到电路板 、但.gel 文件 与 电路板不匹配、DDR3测试失败 、控制台提供了下 一个输出:

在测试时、DSP 读取 它之前写入的不同值。

我尝试根据 SDRAM 器件的数据表(因为它不同于 C6678 EVM 器件)和  http://www.ti.com/lit/an/sprabl2e/sprabl2e.pdf KeyStone I DDR3初始化手册中所述的几何/时序规范、通过 本应用报告中提到的电子表格重新配置.gel 文件、但尚未成功。

请描述 本手册中最关键的步骤、让我更正 .gel 文件、并在我们决定要求您为 您的一侧的电路板计算.gel 文件时为您提供所需的源代码。

P.S.

​下面是我们的电路板和 TI C6678 EVM 参考板在 DDR3存储器控制器方面的核心原理图差异:

  • 在我们的电路板上、DDRSLRAATE0和 DDRSLRAATE1通道均通过0 Om 电阻器下拉( 未加载1Kom 上拉电阻器)、而在 C6678 EVM 中、DDRSLRAATE0通过2Kom 电阻器下拉、DDRSLRATE1 通过 2Kom 上拉
  • ​​​我们板上使用的 SDRAM 部件为  MT41K1G8SN-125 ,而 C6678 EVM 使用 K4B2G1646C-HHHH9​​。  由于 C6678芯片的勘误表、我们将 DDR3控制器配置为666.67MHz、但 我们板上的 SDRAM 器件是800MHz 速度等级器件
  • DDRAM fly-by 问题。  

-此注释来自 EVM:地址/命令/控制/时钟路由必须按字节顺序为0、1、2、3 ECC、4、 5、6、7。  

-我们板的顺序是0、1、2、3、ECC、7、6、5、4​,那么读写水平如何处理这种情况?

​请查看此信息、并告知我们 这些差异是否会导致上述测试失败。  其他问题:

  • 但我仍然无法理解为什么 DSP RBL 卡在移交过程中、并且当我们通过编程器写入 SPI 闪存时、不会在第一个实验中执行加载的映像
  • 我们能否 通过 JTAG 接口直接在 DSP 上执行某些指令而无需 SPI 闪存和 DRAM 交互?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已将您的疑问转发给软件专家。 他们的反馈应发布在此处。

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

    PM、

    我们建议您将问题分解为两个不同的部分。 第一个问题是 DDR 初始化问题、第二个问题与直接从 SPI 引导有关、因为这是两组不同的专家提出的问题。

    我将回答 SPI 引导问题、然后与 DDR 专家联系以帮助解决另一个问题。  您能否说明一下、您是否已经尝试过 SPI 引导示例并在 TI EVM 上进行了验证、然后再在定制设计上进行了验证。  您是否使用 TI 闪存实用程序或您自己的编程器对闪存进行编程。 这一点很重要、因为在对闪存进行编程时、您需要确保字节顺序正确。 是否是引导映像,您还在使用初始化 DDR,然后尝试将映像加载到 DDR 存储器中?   您能否在启动失败后提供 Debug GEL 文件的日志(您能否提供此日志)? 您是否检查了 DEVSTAT 中的引导模式是否与定制板上这些引脚的配置方式相匹配?  在n`t RBL 为何进行 μ L 传递控制之前、您能否确认应用程序代码和数据段已加载到存储器中(检查存储器映射并尝试从应用程序.out 加载符号)

    此致、

    Rahul

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

    PM、

    正如 Rahul 所说的,这个问题需要分为两部分。  您应该努力使 DDR 正确配置并可靠运行、而不是使编译的引导解决方案正常工作。  我建议您只需使用 GEL 文件配置 DDR 接口并使其正常工作、同时使用 JTAG 调试器将 CCS 连接到您的板。  

    DDR 调试也分为两部分:正确的电路板设计和正确的软件配置。  要获得布线正确的电路板、必须遵循 DDR 布局指南。  然后、必须按照 DDR 初始化指南中的步骤、正确配置 DDR 控制器和 PHY、以便与 DDR3 SDRAM 进行可靠通信。  请参阅此 E2E 文章中概述的步骤,以完成布局和调试步骤 e2e.ti.com/.../462229

    Tom

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

    Rahul、请逐点查找您的问题的答案:

    • 我无法 在 TI C6678 EVM 上尝试/验证 SPI 引导示例、因为我们没有 EVM、而且我们专门根据 C6678硬件参考手册设计了我们的电路板
    • 我们使用自己的编程器对 SPI NOR 闪存进行编程、SPI 获取从开始到结束传递良好、但在获取后不执行映像、这意味着不会出现字节交换问题(在其他情况下、获取过程也已中断)
    • 我们仍然无法完全按照 C6678 directROM 引导示例(processors.wiki.ti.com/.../File:C6678_directROM_boot_examples.zip)中所述的方式执行构建的映像 、该示例不会初始化 DDR A.F.A.I.K.
    • 在将  evmc6678l.gel Shannon_SystemDebug_v0.4.gel 文件从开始到结束目标连接-> NOT_writer.out 加载到 CCS -> app.dat 加载到0x8000000地址 流后、我在目标连接结束时看不到任何输出、直到我看到"[C66xx_0] NOR Writer 版本实用程序执行 01.00.03英寸 CCS 控制台输出(最后一个可能是 C6678 EVM 和我们的 SPI 闪存之间的差异导致的-我们使用 Micron_S25FL128S 而不是在 EVM 上使用 Numonyx_N25Q128A11BSF40F)
    • DEVSTAT 中的引导模式设置为 ROM SPI 引导 -因此这一侧应该是好的
    • 内存初始化不正确(DRAM 测试失败)、因此加载的应用代码和数据段不正确/不正确

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

    我也是代表安德拉尼克说的。
    我们能够解决所有问题、现在似乎没有任何问题。
    我们的定制电路板可以从 SPI 闪存启动、并在串行输出上发送 Hello world 消息。

    主要问题是 DRAM 设置无处不在。 在 GEL 文件、PDK 库和预编译 LED 演示中、这是错误的、我们在闪存芯片中预编程了这些内容。 写入器使用相同的库、将映像写入闪存也失败。 此外、我们使用的 SPI 闪存与 EVM 不同、我必须自定义写入器、以便在 DDR 固定后正常工作。

    由于 DRAM 测试不是无错误的,因此我们尝试的每个程序都退出了 main()函数,然后它才能够执行任何有用的操作。 它在控制台上没有显示任何错误信息....

    总之、感谢您对这些问题的支持。

    谢谢您、
    Robert
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Robert 的最新消息、也很高兴听到他的消息。 我要将该主题标记为"已应答"。

    Phil