您好!
我们需要使用 DMA 将数据写入 SPI 闪存。 DMA 还可供 ADC 等多个其他 SPI 外设使用。
我们需要更新 DMA 控制数据包、为每次传输配置 SPI 闪存数据写入的源地址和元素数量。
我们还希望在更新控制数据包时保持启用 DMA、因为其他 SPI 外设正在运行(特别是、我们在写入闪存时需要连续采集 ADC)
根据 TRM (SPNU563A)第724页的表20-9在 DMA_EN 位的说明中、我了解应在启用 DMA 控制器之前设置控制数据包。
这样会强制我们在配置控制数据包之前禁用 DMA。
如果可能、我们想找到一种在不禁用 DMA 的情况下更新控制数据包的方法。
您能否告诉用户、在 DMA 仍处于启用状态时、更新 DMA 控制数据包应满足哪些条件?
我当时想先确保 DMA 不忙(MA_REG_BASE_ADDR->GCTRL 和 MASK_DMA_GCTRL_BUS_BUS_BUSY = 0)、然后写入控制数据包(DMA_RAM_REG_BASE_ADDR->PCP [通道])
这是否可行或我们是否还要检查其他条件?