**
framebuffer對應的原始檔在linux/drivers/video/目錄下,總的抽象裝置檔案為fbcon.c,在這個目錄下還有其他各種顯示卡驅動相關的原始檔。
framebuffer裝置驅動主要基於如下兩個檔案:
1) linux/include/linux/fb.h
2) linux/drivers/video/fbmem.c
1)fb_var_screeninfo
這個結構描述了顯示卡的特性:
struct fb_var_screeninfo;
2) fb_fix_screeninfon
這個結構在顯示卡被設定模式後建立,它描述顯示卡的屬性,並且系統執行時不能被修改,
比如framebuffer記憶體的起始位址,它依賴於被設定的模式,當乙個模式被設定後,記憶體資訊由顯示卡硬體給出,記憶體的位置等資訊就不可以修改。
struct fb_fix_screeninfo ;
3) fb_cmap
描述裝置無關的顏色對映資訊。可以通過
fbiogetcmap 和fbioputcmap
對應的ioctl操作設定或獲取顏色對映資訊.
struct fb_cmap ;
4) fb_info
定義當顯示卡的當前狀態;fb_info結構僅在核心中可見,fb_ops指標指向驅動裝置工作所需的函式集。
struct fb_info ;
5) struct fb_ops
使用者應用可以使用ioctl()系統呼叫來操作裝置。
struct fb_ops ;
6) structure map
struct fb_info_gen | struct fb_info | fb_var_screeninfo
| | fb_fix_screeninfo
| | fb_cmap
| | modename[40]
| | fb_ops ---|--->ops on var
| | ... | fb_open
| | | fb_release
| | | fb_ioctl
| | | fb_mmap
| struct fbgen_hwswitch
\-----|-> detect
| encode_fix
| encode_var
| decode_fix
| decode_var
| get_var
| set_var
| getcolreg
| setcolreg
| pan_display
| blank
| set_disp
framebuffer驅動全篇(三)
color map 剖析 在framebuffer驅動程式設計中,cmap這個東東太暈了。現在我要把他赤裸裸的剖析給大家 1.struct fb cmap 顏色對映表 struct fb cmap 該結構在fb.件中定義,在struct fb ops結構中有兩個成員函式與其相關 獲取顏色表 int ...
Linux下Framebuffer驅動簡介
version v0.1 time 09 06 2008 author green waste 163.com 最近接觸了一些關於linux下framebuffer方面的東西和lcd的framebuffer驅動,所以去了解了一些相關基礎知識。為了避免其他人走我走過的彎路,所以就把我的一些很少的心得,...
Linux中Framebuffer驅動詳解1
之前看過很多書籍和網上資料,了解了linux中framebuffer的框架和一些結構體以及必備的硬體知識。但令本人深感 痛恨 的是,這些資料無不是點到為止 有些深入一些有些只介紹大概 貼 的時候總是省略了很多內容,難道就不能有一本書或一篇文章將整個framebuffer 全部講完嗎?在這裡我想 挑戰...