工具/软件:
您好:
我的用例是在 HWA 内部通过距离库 VFFT 流水线运行距离库:
-
PS0:BFP 解压缩(从 L3 输入-> HWA RAM)
-
PS1:FFT
-
PS2:FFT 输出的 BFP 压缩
目前我正在以这种方式处理输入:
-
CPU 触发 从 L3 到 HWA RAM 的一个 rbin 的 EDMA 传输(使用 EDMACCPaRAMEntry)。
-
然后 CPU 通过软件触发 PS0。
-
等待完成、在 for-loop 中对每个 rbin 重复。 (用于将 srcAddr 更新到下一个 rBin 点的循环)
这是有效的、但效率很低、因为 CPU 被绑定、驱动每个 rbin 的 EDMA。
目标:
消除 CPU 以循环方式运行。 我希望:
-
由 CPU 手动执行的第一个 EDMA 传输。
-
EDMA 完成时、应该会触发 PS0 启动
-
当 PS0 完成时、它应 触发一个 DMA 请求 返回到 EDMA、以自动开始下一次 rbin 传输。
-
此序列应重复、直到处理完所有 rbin 且没有 CPU 干预。
问题:
-
HWA 是否支持该流程?
-
EDMA 完成->触发 以启动 PS0。
-
HWA PS0 Done -> 触发 EDMA -> EDMA 事件进行下一次传输。
-
-
在 HWA ParamSet 配置中:
-
对于 PS0、我是否应该
triggerMode = HWA_TRIG_MODE_DMA在中设置并启用 DMA 请求interrupt Cfg? -
dmaRequestLine应使用哪个值将 PS0 完成功能连接回 EDMA?
-
-
在 EDMA 侧:
-
我是否应该构建一个链接的 Param 列表(每个 rbin 一个)、通道绑定到 HWA DMAREQ 线路?
-
如何将所选的 EDMA TCC 完成路由到
HWA_TRIG_IN0以正确触发 PS0?
-
- 您还能解释压缩中字段“headerEnable"字“字段的概念吗?