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.

[参考译文] TDA2EVM5777:如何在 TDA2XX 上启用 A15 CPU_1

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/568847/tda2evm5777-how-to-enable-a15-cpu_1-on-tda2xx

器件型号:TDA2EVM5777

你(们)好

我对 A15 (MPU_1)的使用有一些疑问、如下所示。

1)如何 启用 A15 (MPU_1)? 目前,我在应用程序中仅使用 A15 (MPU_0),我想将某些应用程序移至 A15 (MPU_1)。

2)是否要在 BIOS 或 Starterware 中进行任何更改?

谢谢、此致

Jithin daggy

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

    Jibin、您好!

    SBL 可以在 MPU_1上加载应用程序映像。 为此、无需对 Starterware 或 BIOS 进行任何更改。

    此外、VSDK 还支持 MPU_0和 MPU_1的 SMP 模式。 对于 tda2xx_EVM_BIOS_all 配置、应在 cfg.mk 中将 DUAL_A15_SMP_BIOS 设置为 yes、以便为 A15启用 SMP 模式。

    此致、
    Rishabh

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

    你好、 Rishabh

    感谢您的回复。 我正在使用在 TDA2xx SOC 上运行的定制应用。 如何检查 MPU_1是否已启用? 我能否在 CCS 中看到任何寄存器并检查它是否处于活动状态。 如果未激活、我可以在哪里配置使其激活?

    谢谢、此致

    Jithin daggy

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

    Jithin、

    在 CCS 中为 TDA2x 创建目标配置并连接到 A15。 从此处转至  Scripts>DRA72x PRCM 模块配置>DRA72x_PRCM_MODULE_AllEnable_Config、该配置将配置所有内核。 您现在应该能够右键单击并连接到 MPU_1内核。 您还应该看到它正在运行/暂停。  

    对于寄存器(当然、如果所有配置都没有出现错误)、您可以从"View"菜单上拉"Register View"。 如果启用了所有时钟、您应该能够看到每个模块的寄存器电流值(来自 TRM 的所有寄存器都出现在 CCS 寄存器视图中)。

    谢谢、

    Alex

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

    Jibin、您好!

    您可以通过查看 MPU_PRCM_PRM_PRM_C1和 MPU_PRCM_CM_C1寄存器来检查 MPU C1的状态。

    在 TDA2xx 上、MPU_0是引导主器件、而 MPU_1由 ROM 引导加载程序保持在 WFE 中。

    您可以通过从 MPU_0发送 SEV 来唤醒 MPU_1。 在发送 SEV 之前、您应该确保已经正确地对 AUXBOOT0 (MPU_AUX_CORE_BOOT_0)和 AUXBOOT1 (MPU_AUX_CORE_BOOT_1)寄存器进行了编程。


    此致、

    Rishabh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、请确保未将 PMLIBCpu1ForcedOff ()作为引导加载程序的一部分运行。

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

    您能否提及 MPU_PRCM_PRM_PRM_C1和 MPU_PRCM_CM_C1寄存器的存储器地址? 以便我可以通过 CCS 进行检查。

    我已通过以下值定义了 AUXBOOT0和 AUXBOOT1

    MPU_AUX_CORE_BOOT_0 (0x800U)
    MPU_AUX_CORE_BOOT_1 (0x804U)

    编程的值是否正确?

    您能否提到如何通过 CCS 将 SEV 信号从 MPU_0发送到 MPU_1?

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

    Jibin、您好!

    您可以在器件用户指南(TRM)中搜索 PRCM 和 AUX_CORE_BOOT 寄存器及其地址。

    SEV 是一个 CPU 指令。 CPU0必须执行它、即在 CPU0代码中。 您可以使用内部的指令创建一个小型汇编器代码。

    有关 SEV 的更多信息、请参阅:

    此致、

    STAN

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

    Jibin、您好!

    MPU_PRCM_PRM_C1和 MPU_PRCM_CM_C1具有一组寄存器、分别具有基地址0x48243800和0x48243A00。 有关详细信息、请参阅 TRM。

    AUX_CORE_BOOT_0用作状态寄存器、以向从 CPU 发出信号、表示它必须在主 CPU 发起的发送事件操作之后唤醒。 AUX_CORE_BOOT_1包含从 CPU 在唤醒后必须跳转到的物理地址位置。
    要对 AUXBOOT 寄存器进行编程、您可以参阅中的 SBLLibMPUCPU1BringUp API /bootloader/sbl_lib/src/sbl_lib_tda2xx_platform.c.

    此致、
    Rishabh

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

    感谢您提供这些信息、我将检查这些寄存器并更新您的信息。
    那么、MPU_1和 MPU_0的频率是否相同?

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

    是的、两个内核的频率将相同。 无法为子系统中的各个内核设置不同的频率。

    此致、
    Rishabh