I want to share my opinion on the SDK 2.0.
I need a fluent usage of DMA with the SPI UART and I2C.
The SPI and I2C are continuously polling devices to readout the values. So the DMA is of a good value.
It is well possible to initialize the DMA once and restart the service without recursing all of the initialization. Few bits to be set to restart. The transfer will write on the destination address.
In the SDK 1.1 the HAL level is the only way to provide the initialization, I did it and working now.
In the SDK 2.0 the HAL level has disappeared, and the service offered for the DMA transfer is much more mature than in SDK 1.x, but the only service offered is to re initialise all the registers for the transfer. The overhead is very ugly. It is worth only for rare transfers, different, non repeatable. My observation is, the only solution offered is also the most useless.
For the UART rather than restarting the transfer service, the receive buffer should always be circularly recursed, never stopping.
If there is a way to suggest an updated revision in this perspective.
Just an observation..