LinuxDev 板


LINE

最近突然需要實現用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://webptt.com/m.aspx?n=bbs/LinuxDev/M.1645689370.A.628.html ※ 編輯: uniquelegend (1.200.42.183 臺灣), 02/24/2022 16:30:26
1F:推 breeze08: 我不是driver的專家,雖然不能給你什麼建議,但在你問 02/25 00:03
2F:→ breeze08: 題的描述上想探討釐清一下,更清楚的描述或許有助於其 02/25 00:03
3F:→ breeze08: 他人幫助你。以下是我對問題的理解,目前看起來是你有 02/25 00:03
4F:→ breeze08: 一台x86主機,主機上有一套軟體要透過PCIe介面來跟FPGA 02/25 00:03
5F:→ breeze08: 溝通,而你想使用DMA的方式來實現,到這部分我的理解對 02/25 00:03
6F:→ breeze08: 嗎?假如這部分理解沒錯,再來會有幾個延伸問題,這個F 02/25 00:03
7F:→ breeze08: PGA的供應商有提供基本的驅動給你嗎?還是你要自己從從 02/25 00:03
8F:→ breeze08: 無到有?如果從無到有的話工程量可能頗巨大,就我的理 02/25 00:04
9F:→ breeze08: 解來說你需要先閱讀那塊FGPA的Spec知道如何操作那塊FPG 02/25 00:04
10F:→ breeze08: A,再來是根據Spec來撰寫主機上的PCIe驅動來實現跟FPGA 02/25 00:04
11F:→ breeze08: 基本的溝通,然後以此為基礎調整成以DMA的方式傳送。還 02/25 00:04
12F:→ breeze08: 是說你已經有廠商給的基本驅動只是要調整成DMA的方式? 02/25 00:04
13F:→ breeze08: 另外根據你最後提到的透過DMA傳給主機這句話來看,我有 02/25 00:04
14F:→ breeze08: 疑惑的是你這塊FPGA的角色是主動式還是被動式?他會主 02/25 00:04
15F:→ breeze08: 動給PC訊號還是PC給訊號後才會動?這塊FPGA上的程式是 02/25 00:04
16F:→ breeze08: 你撰寫的嗎?還是廠商提供的?你有需要去調整這上面的 02/25 00:04
17F:→ breeze08: 程式碼嗎?還是程式碼是已經固化的? 02/25 00:05
不好意思!因為怕手機排版不好看,所以用截圖回覆! 非常謝謝您的幫助
18F:→ uniquelegend: https://i.imgur.com/PZQVy8o.jpg 02/25 00:32
※ 編輯: uniquelegend (36.230.25.93 臺灣), 02/25/2022 00:33:34
19F:→ breeze08: 這邊在釐清一下你想實現的DMA部份,指的是FPGA那一側還 02/25 00:40
20F:→ breeze08: 是指主機那一側?還是兩側都要? 02/25 00:40
21F:→ breeze08: 關於主機的PCIe驅動撰寫,參考書籍可以看看Linux Devic 02/25 00:44
22F:→ breeze08: e Driver 3/e 或是平田豐的 Linux Device Driver Progr 02/25 00:44
23F:→ breeze08: amming 02/25 00:44
24F:→ breeze08: 這兩本也有關於DMA的章節 02/25 00:46
25F:→ breeze08: 話說碩班一個人做這個感覺是有點慘,如果真的沒有人可 02/25 00:54
26F:→ breeze08: 以幫的話可能就要考慮descent大說的外包了 02/25 00:54
27F:→ breeze08: 啊 抱歉 我看到你是要實現FPGA上的DMA了,但如果是要實 02/25 01:03
28F:→ breeze08: 現FPGA上的DMA可能就不屬於Linux driver的範疇了,而是 02/25 01:03
29F:→ breeze08: 屬於積體電路設計的部分 02/25 01:03
不好意思!我可能沒有表達清楚。 是兩邊都需要的,驅動/fpga/軟體都需要實現。目前打算先新增完驅動的部分,再來進一步測試硬體到底該如何實現 因為目前我可能觀念有點模糊,所以不確定像這種streaming dma的buffer配置到底應不應該在驅動裡實現? 因為在網路上查到的介紹看起來是在「每次執行讀寫動作時,重新配置。」 感覺這個動作(每次執行)比較偏向軟體的部分而不是驅動。 我想確認我這個判斷方式是否有誤? 因為目前看到的範例都是比較簡短的小例子,我不大會分辨該在哪部分實現他才是對的。 謝謝您的回答 ※ 編輯: uniquelegend (36.230.25.93 臺灣), 02/25/2022 02:09:20
30F:→ breeze08: 關於buffer該放在哪,以我粗淺的認知,放在用戶態(也就 02/25 15:40
31F:→ breeze08: 是你的軟體)的效能會比較好,因為假如buffer放在驅動中 02/25 15:40
32F:→ breeze08: (內核態),你的軟體還需要進行系統呼叫才能讀取,這步 02/25 15:40
33F:→ breeze08: 驟就多了一份overhead。那所謂的buffer放在用戶態,其 02/25 15:40
34F:→ breeze08: 具體實現也是透過驅動來達成的,通常是透過驅動中實現m 02/25 15:41
35F:→ breeze08: map這個file operation來把內核態的空間映射至用戶態。 02/25 15:41
36F:→ uniquelegend: 了解!太感謝您的幫忙了! 02/27 00:52







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP