基于嵌入式系統的彩色液晶顯示驅動(dòng)控制
pxafb_check_var(fbi->fb.var,fbi->fb); //為控制設備驅動(dòng)的高層提供一個(gè)驅動(dòng)Frame Buffer的界面
pxafb_set_par(fbi->fb); //配置用戶(hù)定義的顯示控制臺,并進(jìn)一步調用pxafb_activate_var()函數,將fb_var_screeninfo數據結構中的參數寫(xiě)到 PXA270 LCD控制器,來(lái)生成LCCR0~LCCR3等多個(gè)相關(guān)寄存器映像,從而達到設置LCDC寄存器的目的
ret = register_framebuffer(fbi->fb); //注冊Frame Buffer使其與控制臺設備驅動(dòng)的高層連接
5.3 顯示緩沖區的訪(fǎng)問(wèn)操作
在用戶(hù)程序中對顯示緩沖區設備/dev/fb的訪(fǎng)問(wèn)是通過(guò)調用文件層的操作函數來(lái)實(shí)現。首先用Linuxdriversvideo fbmem.c中的fb_open()打開(kāi)代表Frame Buffer的/dev/fb設備文件;然后通過(guò)fb_ioctl()操作獲取LCD顯示屏的分辨率屏長(cháng)、屏寬和每個(gè)像素點(diǎn)的位數bpp值等,進(jìn)而計算得到Frame Buffer的大小并通過(guò)fb_mmap()將其映射到用戶(hù)空間;最后即可通過(guò)fb_read()、fb_write()直接對Frame Buffer進(jìn)行讀、寫(xiě)操作,顯示相應圖像。
驅動(dòng)程序經(jīng)編譯和連接,定位后加載到kernel,燒到目標板,實(shí)現PXA270對TFT-LCD的顯示驅動(dòng)。
6 結論
本文作者創(chuàng )新點(diǎn):提出了一種基于PXA270和Linux-2.4.19內核的TFT-LCD嵌入式驅動(dòng)方案,通過(guò)分析TFT-LCD與 PXA270內嵌的LCD控制器的工作原理與時(shí)序,設計了TFT-LCD的驅動(dòng)硬件電路和相應軟件,實(shí)現了PXA270 對LCD的驅動(dòng),經(jīng)在目標板上運行效果顯示,各個(gè)信號的時(shí)序完全滿(mǎn)足TFT-LCD的要求。本設計應用于工控領(lǐng)域作為顯示輸出設備,具有硬件緊湊簡(jiǎn)單、軟件可裁剪和移植、便攜性、可視化等優(yōu)點(diǎn)。
參考文獻:
[1] 寧志剛,汪仁煌. 基于PXA270的PDA交通管理系統在Linux環(huán)境下的實(shí)現[J].電子技術(shù)應用,2004,(4):15-17
[2] Intel Corporation. Intel? PXA270 Processor Developer’s Manual[R].2004.1
[3] 鄭靈翔.嵌入式系統設計與應用開(kāi)發(fā)[M].北京:北京航空航天大學(xué)出版社,2006.2
[4] 安吉宇,等.基于Intel PXA270的TFT-LCD驅動(dòng)設計[J].液晶與顯示,2006,21(6):279-282
[5] 蘭立榮,陸以勤,呂錦.基于A(yíng)RM系統高分辨率彩屏設計方法[J].微計算機信息,2006,22(9-2):122-123
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)LCD顯示屏相關(guān)文章:lcd顯示屏原理
lcd相關(guān)文章:lcd原理
評論