1. 程式人生 > 其它 >LCD驅動

LCD驅動

1. LCD驅動介紹

2. LCD檔案介紹

2.1 原始檔

Framebuffer 裝置驅動的實現和標頭檔案主要是在linux核心原始碼中的/driver/video和/include/linux目錄中,主要包括如下幾類檔案:

1)/drivers/video/fbmem.c;
2) /drivers/vieo/xxxfb.c;
3) /drivers/video/yyy;
4) /include/linux/fb.h.
其中xxx為自己新增的FrameBuffer驅動程式。yyy表示目錄名,一些與默寫廠商生產的LCD相關的檔案在改目錄下。
fb.h檔案中主要是定義一些結構體和巨集;fbmem.c實現了裝置初始化、解除安裝和檔案操作介面;xxxfb.c為自己新增的裝置驅動檔案(如struct fb_info)實現了入口點函式xxxfb_init。

2.2 幀緩衝(FrameBuffer)驅動設計與實現

 在linux系統中通暢使用FrameBuffer技術讀寫LCD上的影象。FrameBuffer從本質上講就是影象裝置的硬體抽象。對於開發者而言,FrameBuffer是一塊顯示快取(也就是視訊記憶體),往顯示快取中寫入特定格式的資料就意味著向螢幕輸出內容。通過不斷向FrameBuffer中寫入資料,顯示控制器就自動從FrameBuffer中讀取資料並顯示出來。由於大多數計算裝置(手機、平板電腦)沒有像PC一樣的專用視訊記憶體,所以Linux系統單獨將記憶體分出了一塊作為視訊記憶體,這塊分出來的記憶體就是FrameBuffer佔用的空間大小。
FrameBuffer裝置是字元裝置,所以在/dev目錄中有與FrameBuffer裝置對應的裝置檔案。可以用程式或Linux命令列工具直接訪問這些裝置檔案。
FrameBuffer裝置檔案的主裝置號是29,次裝置號從0-31。