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.

[参考译文] TMS320C6657:SPI 引导表中的 cpuFreqMhz 有什么意义

Guru**** 2472510 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1464640/tms320c6657-what-does-cpufreqmhz-in-spi-boot-table-say

器件型号:TMS320C6657

工具与软件:

您好!

我正在尝试通过250 MHz 运行 TMSC6657内核时钟引脚。 现在、boot_Params_SPI_T 结构中的"cpuFreqMHz"值到底有什么作用、如所示
引导表?

1.是仅作为芯片中 ROM 引导加载程序的参考值、还是用于编程以未知魔法方式对我编程的东西? 该值用于什么用途?

2.还有两个字段:swPllCfg_msw 和 swPllCfg_Lsw、在我所用的示例中都为0、这两个字段启动。 为什么它为零以及由谁填充这些值?

使用150 MHz 时、在我的板上工作的整个引导表是

:10 0000 00 00280000003200000000000000010018 7D.
:10 0010 00 00040002000200010096001E00000000 23.
:10 0020 00 1000000000000000FFFFFFFFFFF C8.
:00 0000 01 FF

这将解码为:

长度= 0x28、cksum = 0、boot_mode = 0x32 (SPI 引导、模式50)、param_index = 0、swPllCfg_msw = 0、swPllCfg_Lsw = 0、 OPTIONS = 1 (SPI 选项 BT)、addr_width = 0x18 (24位)、
NPins = 4、片选= 2、SPI MODE = 2、片选到事务延迟= 1、

CPU freq = 0x96  <==此处 CPU freq 等于内核时钟引脚上的频率!! 为什么?

总线频率= 0x1E (30 MHz)  0x00 (和0kHz)

read_addr_msw = 0

READ_addr_LSW = 0x1000 (引导入口点)

我希望您可以提供帮助或向我提供一个可以理解的文档

此致

Andreas

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

    大家好、我们需要花几天时间对此进行调查并进行回复。

    谢谢。

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

    尊敬的 Andreas:

    为了帮助解答您的疑问、您能否告诉我们您针对这些文档或 SDK 版本/代码引用了什么文档或 SDK 版本/代码?

    您能告诉我们代码路径或文档章节详细信息、以便我们参考并加以澄清吗?

    谢谢。

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

    Raven、您好!

    我没有详细说明这一点的文档、这就是我提出问题的原因。

    是多少

    1. RBL 的源代码(ROM 引导加载程序)  

    RBL 1_0_C6657 - TI.com

      tiboot.h、第761行(结构类型为 boot_Params_SPI_T 的 cpuFreqMhz)


    2.一个工作的十六进制文件(上面给出),是由另一家公司完成的,我不能再问了,与该板启动,其中
      我使用十六进制编辑器反向输入、例如 SPI 引导、引导参数表。

    用于 KeyStone 架构的 DSP 启动器用户指南(修订版 C)

       根据我的理解、PLL 在 SPI 引导中被"旁路"、因此引导参数中的两个值是没有意义的?

      不过、通过读取源代码、我不明白这些值是否由 RBL 设置、是否可以为空、或者它们的用途是什么、

      根据 RBL 的源代码、我得到 CPU 时钟在电子保险丝寄存器中进行了硬编码... 但假设100 MHz 是一个固定值
      它还可以与控制器通信。

      因此, cpuFreqMhz 的意义是一个谜对我。

    此致

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

    尊敬的 Andreas:

    感谢您提供的详细信息。 我们的工作与您具有相同的知识水平、因为完成这项工作的原始团队/人员不再在公司内要求您进行任何澄清。 因此只会尽最大努力。

    [报价 userid="450794" url="~/support/processors-group/processors/f/processors-forum/1464640/tms320c6657-what-does-cpufreqmhz-in-spi-boot-table-say/5621370 #5621370"]

    tiboot.h、第761行(结构类型为 boot_Params_SPI_T 的 cpuFreqMhz)

    [报价]

    如果您查看中的代码 /C665x_bootrom_src/main/spimain.c 第128行、我们正在尝试从文件路径 CoreFreqMHz/C665x_bootrom_src/devices/gauss/romcfg/gaussdsp.c  <RBL_PATH>第2713行获取 cpuFreqMHz 的值(同一文件中的第315行)。

    如果 PLL 状态被禁用(旁路)、则返回的值为100。 否则、这些值取自电子保险丝。

    谢谢。

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

    那么、总而言之:在 SPI 模式下、我们启动时会绕过 PLL。 因此、根据您编写的引导加载程序代码、该值不会执行任何操作。 谢谢。