簡體   English   中英

從Linux內核空間到PCIe卡的DMA

[英]DMA from Linux kernel-space to PCIe card

我正在嘗試為PCIe設備編寫一個Linux驅動程序--Adlink PCIe 7300A高速數字IO卡。

驅動程序適用於正常的內存傳輸,但嘗試使用卡的總線主控功能來啟動緩沖區從CPU內存到設備輸出FIFO緩沖區的DMA傳輸根本不起作用。

我一直試圖在幾周的時間內解決這個問題,而不是幾天。

任何見解都真的非常值得贊賞。

驅動程序代碼 - https://github.com/sbrookes/timing_driver_sdarn/blob/master/kernel_land/timing.c

設備數據表 - http://www.acceed.com/manuals/adlink/P7300A%20Manual.PDF

PLX 9080 PCI接口芯片數據表 - http://www.der-ingo.de/bin/milanhelp/PLX9080.pdf

我無法解釋我多么欣賞任何洞察力。

謝謝,

斯科特

我好像已經解決了這個問題。 看起來中斷處理程序中的錯誤條件是在錯誤的時間中止DMA傳輸,從不讓轉移開始。

一個嚴肅的“呃”時刻,但找到它需要認真的努力。

根據評論,抱歉,如果我絕望地污染了SO。 還在學習如何成為一個好公民。

不確定上面鏈接的代碼是否會在我的項目更改時保持靜態,或者該鏈接是否會反映最新版本。 基本上要小心,不要在錯誤的時間中止您的轉移。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM