Hello,
Please look at my comments below.
1.
You mentioned : “reading a file via PIO is the slowest one” - this is not obvious,
since CPU frequency of 1 GHz allows to achieve very high performance for data
read in polling technique. But - You are right - this “also makes CPU busy” and
do not allow to use advantages of multi-tasking. Therefore polling approach is not
suitable for Linux.
2.
External DMA is used with the SDMA. The SDMA controller helps to optimize system
performance by offloading the CPU in dynamic data routing with relatively slow channels,
such as UART, SSI, SPI. The SDMA is not the best solution to achieve maximal throughput.
It makes sense to use the internal DMA for maximal performance.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------