如何DMA實際工作是理論,我知道; - http://en.wikipedia.org/wiki/Direct_memory_accessLINUX - DMA數據傳輸 - 從SPI讀取--- TX到USART - RPI
但在規劃如何,我們對其進行管理?
我正在使用RPI &期待使用DMA執行以下操作。
假設如果我想使用SPI ----讀取數據---從SD卡讀取到USART。
我是否必須爲數據傳輸寫程序&將它們給予dma或者它是由DMA tx & rx通道處理?
什麼是linux內部使用它?
一些專家可以告訴我們在這方面要遵循哪些步驟。我是DMA編程的新手。林
*「從SD讀到USART」* - 對於DMA或PIO,在主存中緩衝數據是常態。設備到設備的傳輸很少執行,對於典型的硬件根本無法實現。 DMA中的「M」用於「存儲器」,因此DMA控制器在設備之間和存儲器之間進行傳輸。還有一些DMA控制器也會使用mem-to-mem xfers。 SPI和USART驅動程序可能已經使用DMA。你打算重寫SPI和USART驅動程序嗎? – sawdust
+1。這是一個真正的問題。事實上,在大多數ARM設計中,SPI和UART傳輸之間存在衝突。請參閱http://dics.voicecontrol.ro/process_mails/arata_discutia/139618/DMA_Corrupts_UART_RX.html –