dma

    -1熱度

    1回答

    在哪裏可以找到有關建築學,dma,iommu的實施的教科書? 你知道學習的好鏈接嗎?

    3熱度

    2回答

    我想在內核空間編寫的驅動程序: 通信。在嵌入式系統(使用PowerPC)通過的PCIe連接的FPGA。 它使用DMA將信息從FPGA傳輸到RAM。 用戶程序必須訪問此信息。 我需要一些類似的例子來指導我。有沒有人有任何想法,我可以找到一些來源?

    0熱度

    1回答

    我面臨着以下線程提到確切的問題: - Using DMA API in linux kernel but channel is never available 我不能看到任何DMA通道/sys/class/dma。建議解決方案禁用CONFIG_NET_DMA。但你們可以告訴我如何禁用這個特殊的東西嗎?我檢查了製造menuconfig,但不知道該怎麼做。從搜索功能

    2熱度

    1回答

    由於某些設計要求,我需要在運行時更改DMA描述符。爲了實現這一點,我按照以下步驟操作: 中止DMA通道。然後DMA硬件將保存當前執行的描述符 write_back相同DMA通道的RAM位置。 等到中止完成 修改write_back RAM位置上的DMA描述符。 再次啓用 DMA通道這是代碼片段我使用: //Select DMA channel DMAC->CHID.reg = DMAC_CHID

    5熱度

    1回答

    我正在編寫一個內核模塊,它將分配一些連貫的內存並返回相應的虛擬地址和物理地址。 我正在註冊該模塊爲cdev,用dma_alloc_coherent()分配空間,我想使用dma_common_mmap()將其映射到mmap。 dma_common_mmap()需要一個指向struct device的指針:我怎麼能得到它?

    8熱度

    1回答

    我正在使用高速串行卡進行從外部源到具有PCIe卡的Linux機箱的高速數據傳輸。 PCIe卡附帶一些使用dma_alloc_coherent分配dma緩衝區以接收數據的第三方驅動程序。但是,由於Linux限制,這種方法將數據傳輸限制爲4MB。我一直在閱讀和嘗試多種分配大型DMA緩衝區的方法,但無法讓其工作。 這個系統有32GB的內存,正在運行紅帽3.10的內核版本,我想讓4GB的可用於連續的DMA

    3熱度

    2回答

    我一直在嘗試一段時間,通過USART將我的計算機的數據塊傳輸到STM32L100C-DISCO。出於性能原因,這是使用DMA完成的。但是,到目前爲止,我還沒有得到它的工作。因爲我似乎無法弄清楚我可能做錯了什麼,所以我想我會在這裏問。 我使用的是libopencm3,但不幸的是,他們其他優秀的repository of examples在STM32L1xxx上似乎沒有包含一個用於DMA的DMA。雖然

    4熱度

    1回答

    我想要完成的是在PCIe上的FPGA板上的DMA內核中直接訪問的用戶空間中創建一塊內存(不受內核的干擾)。 爲了做到這一點,我使用posix_memalign()在用戶空間用來在用戶空間分配存儲器(4M)的塊,然後通過一個寫操作通過它的虛擬地址給內核。 在內核中我用下面的代碼來獲取用戶空間內存塊的所有頁面,以創建一個分散/集中列表,並獲得每一頁的所有物理地址: static ssize_t pos

    1熱度

    1回答

    我有一個PCI設備讀取由dma_alloc_coherent 分配在內核文檔存儲它說,之前刷新內存: 「你可能但是需要確保沖洗告訴設備讀取內存」 正是我怎麼做,以前處理器的寫緩衝區?我如何刷新內存,以便設備讀取正確的數據?

    5熱度

    1回答

    我試圖讓DMA傳輸的FPGA和x86_64的Linux機器之間的工作。 在PC端我這樣做初始化: //driver probe ... pci_set_master(dev); //set endpoint as master result = pci_set_dma_mask(dev, 0xffffffffffffffff); //set as 64bit capable ... /