Windriver PCI大記憶體分配說明

2021-09-24 09:12:57 字數 1205 閱讀 8818

在使用windriver進行驅動開發時,不可避免地會使用到記憶體分配的功能,這裡先介紹下jungo公司的技術手冊

其他的相關文件在juno官網上都可以搜尋到,非常重要。

這裡的功能在technical-docunments(簡稱td)手冊的第1.3節中有具體說明

technical document #3: preallocating contiguous dma buffers on windows

; host-to-device dma buffer:

hkr,, "dmatodevicecount",0x00010001,0x04 ; number of preallocated dma_to_device buffers

hkr,, "dmatodevicebytes",0x00010001,0x100000 ; buffer size, in bytes

hkr,, "dmatodeviceoptions",0x00010001,0x41 ; dma flags (0x40=dma_to_device

; + 0x1=dma_kernel_buffer_alloc)

; device-to-host dma buffer:

hkr,, "dmafromdevicecount",0x00010001,0x04 ; number of preallocated dma_from_device buffers

hkr,, "dmafromdevicebytes",0x00010001,0x100000 ; buffer size, in bytes

hkr,, "dmafromdeviceoptions",0x00010001,0x21 ; dma flags (0x20=dma_from_device

; + 0x1=dma_kernel_buffer_alloc)

這裡想說明的是關於hkr的配置:

配置一:

dmatodevicecount指的是需要分配的記憶體數目,0x00010001是校驗位,0x4是具體的分配數目

配置二:

dmatodevicebytes指的是需要分配的記憶體大小,後面的0x100000,這裡0x表示16位,即1048576位元,約100mb的大小

配置一:

dmafromdeviceoptions指的是分配的記憶體的h使用方向,0x41表示的是從主機到裝置,0x21表示從裝置到主機

大內高手 記憶體模型

大內高手 記憶體模型 了解linux的記憶體模型,或許不能讓你大幅度提高程式設計能力,但是作為乙個基本知識點應該熟悉。坐火車外出旅行時,即時你對沿途的地方一無所知,仍然可以到達目標地。但是你對整個路途都很比較清楚的話,每到乙個站都知道自己在 知道當地的風土人情,對比一下所見所想,旅程可能更有趣一些。...

大內高手 記憶體模型

大內高手 記憶體模型 作者 李先靜 2007 7 9 了解 linux 的記憶體模型,或許不能讓你大幅度提高程式設計能力,但是作為乙個基本知識點應該熟悉。坐火車外出旅行時,即時你對沿途的地方一無所知,仍然可以到達目標地。但是你對整個路途都很比較清楚的話,每到乙個站都知道自己在 知道當地的風土人情,對...

大內高手 記憶體模型

了解linux的記憶體模型,或許不能讓你大幅度提高程式設計能力,但是作為乙個基本知識點應該熟悉。坐火車外出旅行時,即時你對沿途的地方一無所知,仍然可以到達目標地。但是你對整個路途都很比較清楚的話,每到乙個站都知道自己在 知道當地的風土人情,對比一下所見所想,旅程可能更有趣一些。類似的,了解linux...