[問題] DMA driver相關問題
最近突然需要實現用dma與fpga溝通,
但由於一直以來都沒有碰有關driver的東西,
而且有時間壓力,
所以一直都是在網路上瞎找資料。
(因為真的沒有按部就班的從基礎學起,
所以可能會有非常嚴重的概念錯誤,
請各位見諒。)
想請問一些觀念問題或有沒有推薦的書?
1.
像是使用持續性(coherent)的DMA是在掛載driver時就將配置buffer的部分寫在driver中了;
那如果是streaming這種,既然是每次動作時重新map,那是不是配置buffer的部分就是直接寫在軟體動作裡?
2.
(這問題不知道會不會錯版)
fpga的部分等軟體分配完buffer後,將總線地址傳給fpga。
照著TLP格式來放入此地址,並將TLP丟給RQ/RC通道,
就會自動判定成DMA請求並執行嗎?
(因為部分原因,所以pcie ip的部分沒有使用官方含有dma的ip,而是使用最基礎的Ultrasc
目前只是要將fpga內的資料在軟體請求時,透過dma寫入主機。
但因為相關概念真的非常不足,
也沒有人可以詢問,所以可能很多觀念有嚴重錯誤,煩請大家不吝指教。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.42.183 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1645689370.A.628.html
※ 編輯: uniquelegend (1.200.42.183 臺灣), 02/24/2022 16:30:26
推
02/25 00:03,
2年前
, 1F
02/25 00:03, 1F
→
02/25 00:03,
2年前
, 2F
02/25 00:03, 2F
→
02/25 00:03,
2年前
, 3F
02/25 00:03, 3F
→
02/25 00:03,
2年前
, 4F
02/25 00:03, 4F
→
02/25 00:03,
2年前
, 5F
02/25 00:03, 5F
→
02/25 00:03,
2年前
, 6F
02/25 00:03, 6F
→
02/25 00:03,
2年前
, 7F
02/25 00:03, 7F
→
02/25 00:04,
2年前
, 8F
02/25 00:04, 8F
→
02/25 00:04,
2年前
, 9F
02/25 00:04, 9F
→
02/25 00:04,
2年前
, 10F
02/25 00:04, 10F
→
02/25 00:04,
2年前
, 11F
02/25 00:04, 11F
→
02/25 00:04,
2年前
, 12F
02/25 00:04, 12F
→
02/25 00:04,
2年前
, 13F
02/25 00:04, 13F
→
02/25 00:04,
2年前
, 14F
02/25 00:04, 14F
→
02/25 00:04,
2年前
, 15F
02/25 00:04, 15F
→
02/25 00:04,
2年前
, 16F
02/25 00:04, 16F
→
02/25 00:05,
2年前
, 17F
02/25 00:05, 17F
不好意思!因為怕手機排版不好看,所以用截圖回覆! 非常謝謝您的幫助
→
02/25 00:32,
2年前
, 18F
02/25 00:32, 18F
※ 編輯: uniquelegend (36.230.25.93 臺灣), 02/25/2022 00:33:34
→
02/25 00:40,
2年前
, 19F
02/25 00:40, 19F
→
02/25 00:40,
2年前
, 20F
02/25 00:40, 20F
→
02/25 00:44,
2年前
, 21F
02/25 00:44, 21F
→
02/25 00:44,
2年前
, 22F
02/25 00:44, 22F
→
02/25 00:44,
2年前
, 23F
02/25 00:44, 23F
→
02/25 00:46,
2年前
, 24F
02/25 00:46, 24F
→
02/25 00:54,
2年前
, 25F
02/25 00:54, 25F
→
02/25 00:54,
2年前
, 26F
02/25 00:54, 26F
→
02/25 01:03,
2年前
, 27F
02/25 01:03, 27F
→
02/25 01:03,
2年前
, 28F
02/25 01:03, 28F
→
02/25 01:03,
2年前
, 29F
02/25 01:03, 29F
不好意思!我可能沒有表達清楚。 是兩邊都需要的,驅動/fpga/軟體都需要實現。目前打算先新增完驅動的部分,再來進一步測試硬體到底該如何實現 因為目前我可能觀念有點模糊,所以不確定像這種streaming dma的buffer配置到底應不應該在驅動裡實現? 因為在網路上查到的介紹看起來是在「每次執行讀寫動作時,重新配置。」 感覺這個動作(每次執行)比較偏向軟體的部分而不是驅動。 我想確認我這個判斷方式是否有誤? 因為目前看到的範例都是比較簡短的小例子,我不大會分辨該在哪部分實現他才是對的。 謝謝您的回答
※ 編輯: uniquelegend (36.230.25.93 臺灣), 02/25/2022 02:09:20
→
02/25 15:40,
2年前
, 30F
02/25 15:40, 30F
→
02/25 15:40,
2年前
, 31F
02/25 15:40, 31F
→
02/25 15:40,
2年前
, 32F
02/25 15:40, 32F
→
02/25 15:40,
2年前
, 33F
02/25 15:40, 33F
→
02/25 15:41,
2年前
, 34F
02/25 15:41, 34F
→
02/25 15:41,
2年前
, 35F
02/25 15:41, 35F
→
02/27 00:52,
2年前
, 36F
02/27 00:52, 36F
討論串 (同標題文章)
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章