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.

[参考译文] TDA2EX17EVM:内核 C0和内核 C1之间的 IPU2子系统处理器间通信

Guru**** 2562360 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/626857/tda2ex17evm-ipu2-subsystem-inter-processor-communication-between-core-c0-and-core-c1

器件型号:TDA2EX17EVM

您好!

 

我们希望在内核 C0和内核 C1之间实现 IPU2处理器间通信。 我已经检查了第7.3节双 Cortex-M4 IPU 子系统功能说明。 提到了三种 IPC 方法:

 

  1. 使用 WFE 和 SEV

  2. IPC 中断的使用

  3. 将位带功能用于信号量运算

 

我们希望使用第二种方法“为 IPC 使用中断”。  我 对处理器间通信有一些疑问:

 

  1. 向量表映射

    对于 IPU2内核 C0矢量表、在 VTOR (Reg addr:0xE000ED08)中更新了起始地址0x00000000

    对于 IPU2内核 C1矢量表、起始地址为0x00001000。

    IPU2内核 C1的 VTOR 地址是什么?

     

  2. 我是否需要在内核 C0和 C1上闪存/加载相同的可执行文件?

  3. TRM 第7.3.7.2节中提到了对 IPC 使用中断,“一次只有一个 CPU 处于活动状态”。 我们希望两个 CPU 都处于运行/活动状态。

     我们需要考虑什么设置?

 

  1.  TRM 第7.3.1.2节的"复位分布"中提到了这一点

    IPUx_C0决定运行模式、它是:

    •模式1:一个 ARM Cortex-M4处理器正在运行、另一个处理器保持复位状态。

    •模式2:两个 ARM Cortex-M4处理器正在运行。

    如何设置模式2? 未提供有关模式设置的说明。

 

此致、

Bhagyashri

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

    专家将收到有关您在 TRM 上的问题的通知。

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

    你(们)好
    在 IPU2处理器内核 C0和 C1之间、我们没有使用邮箱机制的确切 IPC 示例代码。
    但在 VISION SDK 中确实有类似的内容、使用 VSDK 3.0中的 PDK、
    可在下找到 IPC 示例
    \ti_component-\drivers\pdk_01_07_00_11\packages/ti\drv\ipc_liter\examples\ipc_mbx

    此致、Shiju

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

    Bhagyashri

    我的回复是内联的。


    1) 1)向量表映射:
    对于 IPU2内核 C0矢量表、在 VTOR (Reg addr:0xE000ED08)中更新了起始地址0x00000000
    对于 IPU2内核 C1矢量表、起始地址为0x00001000。
    IPU2内核 C1的 VTOR 地址是什么?
    [Jondhale、Prasad] VTOR (矢量表偏移寄存器)告诉从0x0的偏移量、矢量表保存在该位置。 当矢量表从0x1000开始时、您可以将 VTOR 设置为0x1000。 确保 MMU 已映射,且其他内核不使用此内存。

    2) 2)我是否需要在内核 C0和 C1上闪存/加载相同的可执行文件?
    [Jondhale、Prasad]是的。

    3) TRM 第7.3.7.2节中提到了为 IPC 使用中断:“一次只有一个 CPU 处于活动状态”。 我们希望两个 CPU 都处于运行/活动状态。
    我们需要考虑什么设置?
    [Jondhale、Prasad]两个内核都可以同时运行。 您所引用的语句仅在两个内核不访问相同资源的情况下才适用。



    4) 4) TRM 第7.3.1.2节"复位分配"中提到了这一点
    IPUx_C0决定运行模式、它是:
    •模式1:一个 ARM Cortex-M4处理器正在运行、另一个处理器保持复位状态。
    •模式2:两个 ARM Cortex-M4处理器正在运行。

    如何设置模式2? 未提供有关模式设置的说明。
    [Jondhale、Prasad]这只是一个建议、无需遵循。 通常、A15 (bootmaster)通过 PRCM 启用所有内核、因此无需 OS 来处理。