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.

[参考译文] TMS320C6654:在不使用 DDR 的情况下将 RBL 转换为 L2SRAM

Guru**** 2535750 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/941537/tms320c6654-rbl-into-l2sram-without-ddr

器件型号:TMS320C6654

您好!

我有一个围绕 C6654的设计、不幸的是、当时 DDR 不工作(布局问题)。 我的应用程序非常小、适合 L2SRAM、在调试环境中一切正常。 现在、我要获取.out 文件并将其刷写到外部 SPI 闪存中。 不幸的是、我尝试了多种方法、但无法使其正常工作。

  • 是否有必要让 DDR 使 RBL 正常工作? 或者它是否只能与 L2SRAM 配合使用?
  • 在.RMD 文件中、我看到多个位置原点为0x400。 这是 L2SRAM (0x10800000)的地址是否与项目链接器文件类似?
    如果是,则示例代码中的0x0400地址代表什么? 如果否,该地址是什么?
  • 我按照 C6657_directROM_Boot_example 中的步骤操作、然后使用我自己的工具将最终的二进制文件(SPI_le_swap.bin)刷写到外部闪存中(闪存写入器需要 DDR、因此我无法使用)。  
    除了简单地将映像刷写到外部闪存之外,还有其他要求吗? 还验证了写入是否正确
  • SPI 引导是否需要引导参数表? 下面是我正在使用的一个(输入时钟为85MHz、PLL 后为850MHz)
  • 我是否遗漏了任何东西? 我们非常感谢您的任何帮助

SPI 闪存原理图设计类似于 C6657 EVM、其中 CS0连接到 SPI CS。 我们还使用 MT25QU128ABA1EW7。

引导引脚配置 [12:0] 0001100000110 (12是最左侧位、0是最右侧位)

我尝试了 CCS10和 CCS9 (以生成输出文件)

处理器 SDK:processor_sdk_rtos_c665x_6_03_00_106

平台配置:

谢谢你

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

    LazyHD、

    您是否没有使用 MSMC 存储器加载代码。 请注意、ROM 使用 L2和 MSMC 存储器的某些区域来存储一些引导结构。  例如、ROM 使用的引导参数表位于以下位置:

    #define ROM_BOOT_PARAMS_ADDR_C6657 0x8fff00

      从008efd00到008ffffc 的位置被引导 ROM 用于不同的结构。  

    RMD 文件使用 spiboot.out 文件创建连续二进制文件  

    关于.RMD 文件中0x400的组织、请查看以下 e2e 链接上 Ivan 的响应:

    https://e2e.ti.com/support/processors/f/791/t/230484?Hex6x-exe-usage

    Norflashwriter 可以通过修改为使用基于 MSMC 的缓冲区来运行。 请密切注意闪存写入器中使用的字节擦写操作。 n`t 这与 μ s 匹配、引导映像将不会以正确的格式存储在闪存中。 这已经在多个线程中进行了讨论。 示例请参阅:

    https://e2e.ti.com/support/processors/f/791/t/440532

    引导参数表对于 SPI 引导不是必需的、但请注意、不带引导参数表的 SPI 和 I2C 引导模式将将 PLL 设置为旁路模式、因此引导速度极慢。 引导参数表指示 ROM 配置 PLL 和 SPI 时钟以实现更快的引导。

    如果按照 C6657直接引导示例操作、则应能够在 C665x EVM 上引导映像。 您可以在尝试自定义设计启动之前将其用作起点。

    此致、

    Rahul  

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

    您好、Rahul、

    感谢您的回答、我解决了问题、但我有后续问题。

    问题与 CS 配置有关。 我在 SPI 总线上连接了一个逻辑分析仪、并注意到 CS 引脚的运行不正常。 CS 配置为 CS0有效(10)、因为在我们的设计中 SPI 闪存连接到 CS0。 但这不能按预期工作。

    我将 CS 配置更改为 CS0和 CS1均处于活动状态(00)、并且开始按预期工作。  

    您能不能简单介绍一下这种配置的含义? "未使用"也意味着什么?  

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

    ROM 规范仅指示值01b 和10b 有效。 其余两个值11b 和00b 保留。 这里对此主题进行了类似的讨论:

    https://e2e.ti.com/support/processors/f/791/t/293262

    我们已针对此问题提交了文档错误、但尚未将其添加到数据表中。