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.

[参考译文] TMS320F28386S:通过 CLA 访问对存储器进行 DMA 写入

Guru**** 2535150 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1136344/tms320f28386s-dma-write-to-memory-with-cla-access

器件型号:TMS320F28386S

您好!  

我使用 SPI 从外部陀螺仪写入和读取数据。

我正在使用 DMA 来节省 CPU 写入和读取 SPI FIFO 的时间。

接收到数据后、需要对接收到的数据进行一些处理。

我想在 CLA 上执行该处理。

我的配置基于"SPI_Ex5_loopback_DMA"示例项目。

在使用 CPU1存储器时、我可以确认数据是从陀螺仪发送和接收的。

为了让 DMA 将从 SPI 接收到的数据直接写入具有 CLA 访问权限的存储器、我将 RDATA 缓冲器放置在"cla_chared"数据段中。

```μ A

#pragma SET_DATA_SECTION ("CLA_shared")

易失性 uint16_t RDATA[16];//陀螺接收数据缓冲器

#pragma SET_DATA_SECTION ()//将段重置为默认值

```μ A

但是、数据似乎没有复制到缓冲区。

当 CLA 任务运行时、缓冲区中的值全为0。

我有什么问题吗?

或者、DMA 无法通过 Wright 访问 CLA 可以访问的存储器?

我附加了 relevante2e.ti.com/.../2838x_5F00_FLASH_5F00_CLA_5F00_lnk_5F00_cpu1.rar 链接器命令文件。

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

    此外、DMA 接收结束能否触发 CLA 任务?

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

    您好!

    DMA 无权访问 LSRAM。

    您可以使用 CLA-DMA MSGRAM 在 DMA 和 CLA 之间共享数据。

    数据表中列出了可用的 CLA 触发 器、并且 driverlib enum CLA_Trigger 中也提供了这些触发器。 在 F2838x 中、DMA 触发不是 CLA 触发源。

    此致、

    Veena