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:可访问相同外设 (ADC、GPIO) 的不同内核

Guru**** 2548020 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1547625/am263p4-q1-different-cores-with-access-to-same-peripheral-adc-gpio

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

工具/软件:

嘿、专家、

IVE 使用内核 0 和内核 1 的系统工程。 现在、我有一个信号路由到 ADC0。  
我希望两个内核都具有信号值。
那么我可以通过两个内核读取 ADC 值吗?
TRM 说:“换句话说、多个启动器可以同时访问同一个 ADC 结果寄存器、而不会发生争用。“
但例如在 systemconfig 中、我只能将 ADC0 签名到一个内核。 因此、在我看来、TI 无意通过不同的内核使用相同的外设。
或者、仅使用带有一个内核的 ADC0 然后通过 IPC 将数据发送到另一个内核是更好的解决方案吗?

此致

Marcel

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

    SysConfig 仅用于该配置。 通常配置仅执行一次、因此仅将其分配给一个内核。

    但是、TRM 规定了您可以从多个内核读取“结果寄存器“。 您可能必须对不同内核的同一结果寄存器使用不同的地址(我不记得是绝对地址)、但事实仍然如此。

    或者、仅将 ADC0 与一个内核配合使用、然后通过 IPC 将数据发送到另一个内核是更好的解决方案吗?

    您也可以这样做、但没有必要。

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

    您好:Marcel、

    正如 Kier 正确地指针一样、您可以执行该操作。 确保您没有任何会阻止任何内核读取数据的 MPU 设置。 除非 TRM 中针对特定元件规定、否则应可从所有内核访问外设(例如,一些 GPIO 组专用于特定的 R5F 内核,因此您无法从其他内核直接访问这些外设)

    与 Kier 同样共享的一样、您可以使用 IPC 传递数据、也可以将一个标记为内核间共享存储器的 RAM 段转储数据。 您必须注意同步以避免脏读写、因为这是共享数据。

    如果您对使用 IPC 感兴趣、可以参阅 TRM 的 IPC Mailbox 和 Spinlock 部分以及 SDK 中的等效示例 (examples/drives/IPC)。

    此致、
    Shaunak