主题中讨论的其他器件:TMS570LC4357、 TMS570LS3137
我计划在 TMS570LC4357上利用 DMA 相当多的时间来传输数据。 TMS570LC4357技术参考手册讨论了 DMA 的功能和配置、但并未讨论 DMA 的工作原理。 是否有一个文档解释了 DMA 的内部以及数据如何从一种类型的存储器传输到另一种类型的存储器? 基本上 、我 会尝试找到以下问题的答案:
DMA 传输时序。
a. DMA 通道传输一帧数据需要多长时间?
b. 是否有公式根据元素数量和读取和写入元素的大小来计算时间?
DMA 争用和优先级。 根据 ARM 架构参考手册、DMA 使用 CPU AXI 从器件和 TCM 端口访问 RAM 或闪存。 由于 LSU (加载/存储单元)和 PFU 使用 TCM 端口访问闪存和 RAM、因此 CPU 和 DMA 之间会发生争用、CPU 具有更高的优先级。
a: 我们是否有办法量化 CPU 访问闪存或 RAM 导致的 DMA 停转时间?
B. 确保对 RAM/Flash 的 DMA 访问请求不会被标出的机制是什么?
c. 是否有办法更改优先级、以便 DMA 具有更高的优先级?
3、TCM 有三个端口(ATCM、B0TCM 和 B1TCM)。
A. 是否可以使用 ATCM 和 B0TCM 或 B1TCM 之一同时访问 RAM 和闪存?
4.在每个 DMA 帧被传输后是否有一个总线释放时间? 换言之、DMA 控制器是否需要在每次帧传输后的特定时间内释放总线? 如果是、时间有多长?
此致、
Pouya