dma

    3熱度

    1回答

    我想在我的char驅動程序的DMAble存儲器上實現mmap方法。 起初我想用DMA API來實現它,然後用於PCI設備。 dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp) dma_alloc_coherent的第一個參數是指向結構設備的指針。 對於ISA或EISA它可以

    0熱度

    1回答

    如何DMA實際工作是理論,我知道; - http://en.wikipedia.org/wiki/Direct_memory_access 但在規劃如何,我們對其進行管理? 我正在使用RPI &期待使用DMA執行以下操作。 假設如果我想使用SPI ----讀取數據---從SD卡讀取到USART。 我是否必須爲數據傳輸寫程序&將它們給予dma或者它是由DMA tx & rx通道處理? 什麼是linu

    1熱度

    1回答

    我有一個簡單的理論問題。我知道的DMA通常有半滿或全中斷。如果我想使用DMA從外設傳輸數據,我如何確保獲得所有數據,因爲數據可能不在dma傳輸邊界。 例如,串口可能會發送5個字節,我會得到和中斷前4個結合在一起(假設dma大小爲4),但沒有爲第5個。人們通常用什麼方法來解決這個問題。

    1熱度

    1回答

    某些Linux DMA專家可以幫助我理解這個概念。 a>我是DMA編程新手。 DMA如何爲ARM控制器實際工作? b>如果我們使用mmap向驅動程序發送數據。我們如何將這與DMA同步呢? c>使用DMA我們在軟件中實際需要做什麼? d>這個dma輸入輸出通道是什麼? 是否有一些示例代碼..是DMA的新手,它將有助於我理解這個概念。

    2熱度

    1回答

    硬盤I具有基於ARM設備,運行Linux,其被連接到攝像頭,並且我想要存儲所捕獲的幀有效HD。 我在用戶空間中發展,但可以修改隨意 司機我編碼使用C 幀被使用DMA寫入存儲器,和我有自己的物理內存的指針。 我能控制所有的幀捕獲流量,而當幀緩衝區是穩定的,我可以告訴(從Video4Linux的司機dqueued) Linux的版本是3.0.35 我熟悉的內核源代碼代碼,不是專家,但我能找到自己的路,

    2熱度

    1回答

    我有一個帶有兩種RAM的ARM平臺。有一些SDRAM和內部SRAM。平臺上的USB控制器僅需要駐留在內部SRAM上的DMA地址。目前,我正在使用一個通用驅動程序,它從調用dma_pool_alloc獲取可用的DMA地址。 有沒有辦法告訴內核只給內部SRAM而不是SDRAM的USB驅動程序DMA地址?

    1熱度

    1回答

    我想做多個幀的dma發送一個大幀(巨型)。我能夠發送正常幀(大小爲1500)。我需要對dma有所懷疑。 dma_map_single()相對於其他API的真正優勢是什麼。我們可以用dma_map_page做所有事情,對吧? 假設我們需要發送一個司機一個大框架(珍寶),我有存儲在此框架中多個緩衝區。這些緩衝區在物理內存或虛擬內存中不是連續的。但是這些緩衝區在內核空間中。我們怎樣才能把它作爲一個框架發

    0熱度

    1回答

    同時調用這個函數: static inline void writel(unsigned int v, volatile void __iomem *addr) { *(volatile unsigned int __force *)addr = cpu_to_le32(v); } 是否該地址是absoulute或通過MMU? DMA - 寫入地址是否由MMU翻譯? 爲什麼寄存器

    0熱度

    1回答

    我繼續在FGPA驅動程序上運行我的work。 現在我添加了OpenCL支持。所以我有以下test。 這只是添加NUM_OF_EXEC次寫入和讀取相同緩衝區的請求,然後等待完成。 每個寫入/讀取請求在驅動程序中序列化,並作爲DMA事務順序執行。 DMA相關代碼可以查看here。因此驅動程序需要一個事務,執行它(rsp_setup_dma和fpga_push_data_to_device),等待來自F

    2熱度

    1回答

    我正在使用基於ARM的處理器運行Linux(3.0.35)板。主板有1GB內存,連接到一個快速的SSD高清和一個500萬像素的攝像頭。 我的目標是捕獲高分辨率圖像並直接寫入這些磁盤。 一切順利,直到我試圖挽救一個很長視頻(超過1GB的數據), 節約了大量文件之後,似乎我無法重新加載攝像頭驅動程序 - 它失敗爲流分配足夠大的DMA內存塊(當調用dma_alloc_coherent()時)。我把它縮小