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.

[参考译文] AM263X-MCAL SDK:使用 DMA 将 ADC 结果传输到两个 CPU

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1577340/am263x-mcal-sdk-transfer-adc-results-to-two-cpus-using-dma

器件型号:AM263X-MCAL SDK


我需要同时在 R5FSS0 的内核 0 和内核 1 上获得相同的 ADC 结果。

要设置数据传输、我设置内核 0 上的 EDMA、以首先将 ADC 结果传输到内核 0 的 TCMB、然后传输到内核 1。 数据传输工作正常、就像这样。 这样一来、核心 1 没有初始化 EDMA。

现在我的问题是:EDMA 传输完成的中断是否路由到两个内核、以便两个内核可以同时为其提供服务? 如果是、如何做到这一点? 这可以通过中断 X-BAR 实现吗? 或者我是否可以在两个内核上都启用 TPCC0 中断?

谢谢、

Flurin

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

    嗨、Flurin、

    是的、您必须在两个内核中注册中断。 否则、在内核 0 处的 DMA 中断时发出 IPC 通知、从内核 0 到内核 1。

    谢谢、  

    Madhava.

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

    它是否与 使用 HwiP_construct (...) 在 vim 的内核 1 上注册 TPCC0 中断一样简单? 还是需要在 CPU1 上添加 EDMA 外设?

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

    您好:

    该专家目前已离职。 请再等待 1-2 天以便他们返回。

    此致、

    Allison

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

    嗨、Flurin、  

    是的、在内核 1 上注册 TPCC0 中断就足够了。 中断的 EDMA 标志将由内核 0 的 ISR 清除、因此请确保内核 1 的 ISR 不会再次清除它们。  

    旁注...

    • EDMA 驱动程序处理 ISR 并回调用户函数。 此 ISR 清除 EDMA 标志。 从两个内核调用它可能会导致任一内核上缺少中断。  
    • 由于这是从 EDMA 到 VIM(每个内核的)的聚合中断、在处理特定通道 TC /ITC 标志的 ISR 时需要小心。

    谢谢。此致、

    Madhava.