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.

[参考译文] AM5K2E02:确定启动阶段的器件速度(15 vs 4)。 是否有 ID 寄存器?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1229244/am5k2e02-determine-the-device-speed-15-vs-4-in-the-booting-phase-is-there-an-id-register

器件型号:AM5K2E02
主题中讨论的其他器件: 66AK2E05

大家好!

我们正在查看  AM5K2E02的数据表"SPRS864D"、尤其是第3.3.2节"器件型号图例"。 此名称的底部字段为25或4、1.25GHz 为25、1.4GHz 为4。

是否有要读取的寄存器将在引导阶段的运行时确定此值? 我尝试了 JTAGID 寄存器(在 0x02620018处)、但两个 SoC 都是如此。

用例:需要在两个处理器上都有一个引导映像、根据内核运行速度、此映像可以决定 PLL 使用哪些设置。

‘D数据表中还有一个看起来很完美的"EVSPEED"寄存器。 但两个 SoC 都将其读取为0x0 (在 C 代码中和直接在调试器中)、因此这没有什么帮助。

非常感谢

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

    Gregory Fenn,

    JTAGID 和 DEVSPEED 是唯一的两个区分选项。 没有其他可用选项。

    通常、DEVSPEED 寄存器将提供器件的最大速度。

    在 AM5K2E02中、DEVSPEED 寄存器有一个字段"ARMSPEED" --位0-11应该给出最大的内核频率值。

    只需在 CCS 中运行 GEL 文件并使用"Memory Browser"窗口,然后键入 DEVSPEED 寄存器的地址,并尝试可视化值。

    此致

    尚卡里

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

    正如我所说的、两个处理器的 DEVSPEED (即*(unsigned int*)(0x02620C98U)为0、因此这没有多大帮助、我的问题似乎类似于"EVMK2H板上的 DEVSPEED 默认为0? -处理器论坛-处理器- TI E2E 支持论坛"-尽管没有人修正过这个问题。

    无法使用 CCS、因为我们需要在开发过程中的运行时动态读取 DEVSPEED。 问题不是我们离线检查每个 SoC 的速度、而是在启动期间解决它。

    另外值得注意的是、您提到的 ARMSPEED 字段不正确、因为数据表中的所有选项在1250 MHz 频率下都无法正确读取、因此对于我们的1.25GHz 板、没有任何速度信息能够正确读取。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正如我所说,两种处理器的 DEVSPEED (即*(unsigned int*)(0x02620C98U))都是0,所以这没什么帮助,我的问题似乎类似于"EVMK2H 板上的 DEV"默认为0"? -处理器论坛-处理器- TI E2E 支持论坛"-尽管没有人修正这个问题。

    DEVSPEED 肯定会在 K2H 板上工作。 我已经尝试过很多次了…… (请参见下面的快照)

     (芯片修订版本2.0、3.0、和3.1)的正确地址为0x02620C90  请注意、 根据芯片版本、DEVSPEED 的地址将发生更改。 请参阅存储器映射部分。 页号: 211  https://www.ti.com/lit/ds/symlink/66ak2h12.pdf

    无法使用 CCS,因为我们需要在开发过程中在运行时动态读取 DEVSPEED。 问题不是我们脱机掌握每个 SoC 的速度,而是在引导过程中找出它。

    我完全理解您的需求。  对于测试、只需确认它是否可行、并能够通过开发速度和区分来确认值。  

    完成后、可以轻松地将引导代码插入以读取 DEVSPEED 的值。 对吧?

     ——

    现在, 我 已经用 K2H 板试验了 DEVSPEED 值,能够将值映射为"1400 MHz-->1.4 GHz"。 (参见快照)

     我可以非常确信、DEVSPEED 将返回如下所示的相应值 、而不会给出"0"。

    K2H 数据表和计算器、该计算器具有 DEVSPEED 寄存器中检索到的值。

    我 手头没有 AM5K2E02板。 否则、它会容易得多。  但过程保持不变。

    此致

    尚卡里

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

    谢谢 Shankari、然而此信息和您的产品说明书 SPRS866G 适用于 K2H 板、我们的器件是 K2E 板、而不是 K2H。 您知道我可以从何处单调找到  AM5K2E02的 DEVSPEED 的寄存器地址吗?  

    根据此处的最新数据表/勘误表(AM5K2E02数据表、产品信息和支持| TI.com)、K2E 的 DEVSPEED 寄存器为 0x02620C98。 我有没有办法可以向我们的测试/审计团队证明 K2E 寄存器实际上是位于0x02620C90吗? 如果我对我读取 0x02620C90 (而不是0x02620C98 )的最佳解释是我们的产品数据表错误、那么我们的产品可能不会通过质量保证审核。

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

    Gregory,

    不,不,这不是我的意思。。。

    ——

    这是因为您指出了 K2H E2E 线程、我证明了 K2H 是为 DEVSPEED 寄存器提供正确的值。 就这么简单。

    此外,还提醒您关于芯片修订 w.r.t 到地址 DEVSPEED ...

    我也有 K2E 板——即 66AK2E05 (但不是 AM5K2E02板),但它仍然是同时拥有 C66x 和 ARM 内核的"EDISSON"板。  

    (E - K2E 中的 Edsson 表示)   

    如果66AK2E05 可以在 DEVSPEED 上获取正确的值、那么   AM5K2E02肯定 也应该能够获取正确的值。

    --

     我已经试验 66AK2E05 ,即使它获取的值是 0x02620C90 而不是0x02620C98 。 请参阅下图

    我知道、在 K2E 数据表中、 0x02620C90地址是保留的。

    "0x02620C98"是为 DEVSPEED 寄存器所指的地址... (我也很惊讶)

    --

    --

    不过、让我与内部团队讨论并返回、询问66AK2E 和 AM5K2E02器件的 DEVSPEED 寄存器的正确地址...

    此致

    尚卡里

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

    Gregory,

    在一个旧的 E2E 后,穆库尔说,  

    "我浏览了 K2E 的设计规格、发现 K2E 的 DEVSPEED 字段在 0x02620C90上。  中的数据表不正确、显示为 0x02620C98。"

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1024108/66ak2h14-the-max-frequency-on-66ak2h14-and-66ak2e05/3793315#3793315

    由于没有更新数据表的计划、我将以常见问题解答的形式捕获此错误。

    此致

    尚卡里

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

    谢谢、当我读到  0x02620C90 并忽略不正确的误导性数据表、我得到以下读数:

             @0x0262_0C90
      ============================
      1.25GHz SoC: =0x0004_0004
      1.40GHz SoC: =0x0010_0010

    但我对这些值的含义感到困惑、因为与数据表 SPRS864D 相比、它们似乎没有任何意义。

    这些值表示(根据 DEVSPEED)手册[SPRS864D、8.2.3.16]:

    ——对于1.25GHz 的芯片,DEVSPEED 和 ARMSPEED 字段读作1350Mhz (即使我想读出来,在8.2.3.16节中也没有1250Mhz 的选项)

    ——对于1.4GHz 的芯片,DEVSPEED 和 ARMSPEED 字段  ,读作1500MHz(这也没有意义,因为 SPRS864D 的表3-1 ,行"频率"清楚地表明芯片是1.25Ghz 或1.4GHz)

    查看 您链接到此处的讨论: 66AK2H14:66AK2H14和66AK2E05的最大频率-处理器论坛-处理器- TI E2E 支持论坛 :上面的读数(0x00040004和0x00100010)看起来是正确的,但数据表却又是错误的。  

    我们是否可以参考官方来源来确认 DEVSPEED 的正确位置和含义?、 由于我们需要审核和验证为我们的产品生成的代码、而作为其中的一部分、我们需要证明使用以下代码片段宏示例的合理性:


      #define ReadDeviceSpeedInMHz  (*(volatile UINT32*) 0x02620C90U  ==  0x00040004U)?  1250:1400 )

    感谢您目前的帮助。

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

    Gregory,

    是的,数据表的值在两个地方是错误的,这已经在上面的 e2e 链接中承认--请查看 Mukuls 关于速度等级的答复。

    您的读数似乎正确并与下表匹配。

    #define ReadDeviceSpeedInMHz  (*(volatile UINT32*) 0x02620C90U  ==  0x00040004U)?  1250:1400 ) [/报价]

    是、如果值为0x00040004、则为1250MHz。

    如果值为0x00100010、则频率为1400MHz。

    --

    @0x0262_0C90
      ============================
      1.25GHz SoC: =0x0004_0004
      1.40GHz SoC: =0x0010_0010

    --

    Mukul 的答复来自上述 e2e:-

    提供的速度等级是数据表第3.4.2节中列出的等级-器件型号图例。 1.25GHz ARM/DSP1.4GHz ARM/DSP  
    (数据表中的页号: 11 )

    这些字段是  

    设计

    ARMSPEED

    XYZ 25

    0x004

    0x004

    XYZ 4

    0x010

    0x010

    --

    或者、  

    是否可以检查并看到芯片上的标记? 以便将其映射到器件名称命名规则?

    --

    同时、 我已经通过电子邮件向内部硬件团队发起讨论、以确认这些更正。

     ——

    此外、我同意以下几点

    --对于1.25GHz 芯片,DEVSPEED 和 ARMSPEED 字段读作1350Mhz (尽管我想读出来,但在第8.2.3.16节中事实上并没有针对1250MHz 的选项)

    根据第8.2.3.16...节、值0x00040004映射到了1350Mhz、该值应该是1250MHz。

    --对于1.4GHz 芯片,DEVSPEED 和 ARMSPEED 字段读作1500MHz (这也毫无意义,因为  SPRS864D 的表3-1,行"频率"清楚地表明芯片为1.25Ghz 或1.4GHz)

    根据第8.2.3.16...节、值0x00100010映射到1500MHz、假设值为1400MHz。

    此致

    尚卡里

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

    Gregory,

    内部小组的答复:

    @0x0262_0C90
      ============================
      1.25GHz SoC: =0x0004_0004
      1.40GHz SoC: =0x0010_0010

     

    根据数据表中的表9-46、值 0x00040004 映射到 1350MHz 、而值 0x00100010  1500MHz 是 最大内核频率;建议的工作频率    分别为1250MHz 和1400MHz、如页码:8所示。  

    --

    您是否检查过芯片上的标记? 以便将其映射到器件名称命名规则?

    此致

    尚卡里