[問題] 關於嵌入式系統記憶體資料搬移

看板LinuxDev作者 (Allen_Hsu)時間8年前 (2016/01/21 00:26), 編輯推噓1(105)
留言6則, 4人參與, 最新討論串1/1
請求各位前輩幫忙小弟解一些疑問 目前小弟正在進行嵌入式系統程式開發有關影像處理,而我們平台是A9雙核心,作業系統 是linux。我想請問在我們系統中因為有許多地方都需要進行記憶體資料搬移,因為搬移 資料搬移這件事花費CPU大多的時間,我想請問這種問題大家是否都會使用DMA的方法來解 決,因為從我所學的知識中DMA是針對資料搬移所開發出來的一塊硬體,而在MCU中,我會 使用。但跑到有掛作業系統下的A系列處理器我卻不知道該如何是好了。所以我想請教各 位,在linux下要如何使用DMA來進行記憶體中A位址搬移到記憶體中的B位址,在網路上找 不太到sample code可以學習…再麻煩各位替小弟我解答了!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.5.77 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1453307173.A.C7F.html

01/21 11:23, , 1F
首先你要確定你的ARM SOC有 DMA controller
01/21 11:23, 1F

01/21 11:26, , 2F
然後他對應的driver有掛起來~
01/21 11:26, 2F

01/21 13:48, , 3F
Documentation/crypto/async-tx-api.txt 可以看一下?
01/21 13:48, 3F

01/21 21:58, , 4F
所以如果有DMA但是driver沒有掛起來的話,就要自己寫
01/21 21:58, 4F

01/21 21:58, , 5F
一個囉?另外感謝前輩指教
01/21 21:58, 5F

01/25 19:11, , 6F
沒掛起來 把它掛起來就好啦
01/25 19:11, 6F
文章代碼(AID): #1MdxKbn_ (LinuxDev)