Drivers
將 linux /dev/fb0 映射到 DDR 以進行顯示
我想編寫一個 linux 驅動程序,將我指定的記憶體地址空間映射到 /dev/fb0。
驅動程序應該由linux的哪個部分指定?drm或幀緩衝區或伺服器X或其他東西?我的驅動程序中應該有哪些屬性?
該驅動程序是一個 linux 核心模組。
drivers/video/fbdev
下載 linux 核心的原始碼,查看(github here )中現有幀緩衝驅動程序的程式碼和Documentation/fb
( github ) 中的文件。Google教程如何編寫核心模組,先用一個簡單的模組練習。僅僅映射記憶體是不夠的,你必須實現幾個
ioctl
s.編寫核心驅動程序並不容易。如果你必須問這種問題(而且你這幾天問了很多),你可能做不到。
X 是 X 協議的伺服器。它可以通過 DRM 核心模組使用硬體,也可以通過幀緩衝驅動程序(使用
fbdev
X 驅動程序)使用硬體。這方面的細節很容易在網上找到,Google。/dev/fb0
是一個幀緩衝設備,所以你不需要關心 X 或 DRM。