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.

[参考译文] TDA3:如何获取 IPU 子系统的内核 ID。

Guru**** 2589300 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/585230/tda3-how-to-get-the-core-id-for-ipu-subsystem

器件型号:TDA3

您好!

TDA3xx IPU sbsystem 具有2个 cortex M4内核。 如何获取内核的内核 ID?

哪些系统寄存器用于获取 CPU ID?

如何将这两个 cortex M4内核之间的内核切换到 IPU 子系统?

此致、

Yuvraj

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

    关于前两个问题、您可以从以下寄存器中读取/识别内核 ID (有关详细信息、请参阅 TRM):

    谢谢、

    Alex

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

    非常感谢您的回复。
    我们正在实施 Autosar OS 多核要求。
    使用案例如所述。
    任务1属于 Core1、任务2属于 Core 2。
    2.目前我在任务1中,想要激活任务2。
    3.在激活任务2之前,我必须知道当前执行的内核。
    4.根据当前 CoreID,我将决定是否切换内核。
    5.如何获取当前运行的 Core 的 CoreID?

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


    好的、我现在看到、让我们与团队一起进一步调查。 将很快通知您。

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

    我不是 IPU 的专家、但以下是我根据我的研究发现的内容:

    IPU 子系统实现了一个 ROM 表(每个 CPU)、其中包括一些外设/组件 ID 寄存器。 有一个"外设 ID0"(PID0)寄存器(每个 CPU)、是根据 ARM 文档定义的"实现"、我认为这是 TI 用来区分两个内核的寄存器。

    PID0寄存器位于 IPU 地址空间中的地址0xE00F FFE0。 请注意、这个寄存器(和 ROM 表本身)是 Cortex-M4存储器模型的"私有外设映射"区域的一部分、并且基于这个模型、每个内核有其自己/专用的 PID0寄存器、只有那个特定的内核才能访问。 也就是说、每个内核都在地址0xE00F FFE0处看到自己的 PID0寄存器。

    我无法确定、但我认为这些应该是正确的 Cortex-M4 CPU ID:

    *对于 IPU_C0、PID0寄存器值= 0x0000 0000;
    *对于 IPU_C1、PID0寄存器值= 0x0000 0001;

    请告诉我您是否在寻找它。

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

    是的、(PID0)寄存器工作正常。
    非常感谢。

    此致、
    Yuvraj