您好!
我使用 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 链接器命令文件。