请教一个关于DMA的问题,按照我的理解,DMA的作用只是在嵌入式系统两部分间进行数据传输,并没有数据存储的功能,因此在实际应用中,虽然使用DMA可以提高CPU利用率,但是整个传输过程也不会完全不占用CPU的,比如说在进行SD卡读写时,将数据从CPU搬移到SDIO外设这一过程可以使用DMA完成,但是在传输过程中CPU给SDIO发送cmd命令还是需要CPU来参与的。因此在高速采集传输系统中,虽然可以使用DMA,但效率还是很难达到100%的,请问这一理解对吗?
你好,你的理解是对的,在高速采集传输系统中,可以使用DMA,但效率还是很难达到100%的。但是相比于没有使用DMA的情况,使用DMA可以显著提高CPU利用率和数据传输效率。