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.

[参考译文] AM263P4-Q1:一个外设的多核使用(MCAN)

Guru**** 2463330 points
Other Parts Discussed in Thread: AM263P4

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1475920/am263p4-q1-multicore-usage-of-one-peripheral-mcan

器件型号:AM263P4-Q1
主题中讨论的其他器件:AM263P4

工具与软件:

嗨、专家:

IAM 在 AM263P4的 SW 概念下工作。  
我想拥有2个不同的软件。 一个在内核0上运行、另一个在内核1上运行。
两者是否可以访问 同一个 MCAN 实例? 我如何处理对不同内核的外设的访问?

此致、

Marcel

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

    嗨、Marcel、

    这是完全可以接受的。 MCAN 实例连接到 SoC 存储器映射中的硬物理地址、任何 CPU 内核都可以获取对 CFG/MSG_RAM 存储器空间的访问权限(假设 MPU 已正确配置为允许该访问)。 您可以从任一内核调用同一 API 来访问共享 MCAN 实例。

    此致、

    Zackary Fleenor

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

    以及如何处理访问。 我认为只应该有一个内核来初始化 MCAN 实例?
    此外、如果两个内核都想同时写入 MSG_RAM、会出现什么情况?
    有什么需要处理的问题吗? 是否有一个代码示例?

    此致、

    Marcel

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

    尊敬的 Marcel:

    上星期我在 OOO 的时候对延迟的反应表示歉意。 我不知道有任何说明这一点的示例。

    正确、只有单个内核负责 MCAN 实例的初始配置。 对寄存器的访问可以是启用了相关存储区域 MPU 配置的任何内核。

    为了处理多个内核到 MSG_RAM 之间的访问仲裁、应用程序应利用 SPINLOCK IP 的锁定寄存器、以确保前一个内核已完成其 MSG_RAM 访问、然后再当前内核尝试访问相同的器件资源。

    有关其他信息、请参阅相关的 TRM 章节(第833页)。

    此致、

    Zackary Fleenor