新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于PXA270的LCD顯示系統(tǒng)的設(shè)計與實(shí)現(xiàn)

        基于PXA270的LCD顯示系統(tǒng)的設(shè)計與實(shí)現(xiàn)

        作者: 時間:2011-01-06 來源:網(wǎng)絡(luò) 收藏

          這些宏操作都在/drivers/video/pxafb.h文件里。

        本文引用地址:http://www.104case.com/article/151121.htm

          #if defined(CONFIG_FB_LB064v02)

         #define LCD_PIXCLOCK 250000//54000//150000

          #define LCD_BPP 16

          #define LCD_XRES 640

          #define LCD_YRES 480

          #define LCD_HORIZONTAL_SYNC_PULSE_WIDTH 46

          #define LCD_VERTICAL_SYNC_PULSE_WIDTH 1

          #define LCD_ BEGIN_OF_LINE_WAIT_COUNT 96

          #define LCD_BEGIN_FRAME_WAIT_COUNT 35

          #define LCD_END_OF_LINE_WAIT_COUNT 4

          #define LCD_END_OF_FRAME_WAIT_COUNT 0

          #define LCD_SYNC (FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT)

          #define LCD_LCCR0 (LCCR0_OUC | LCCR0_CMDIM | LCCR0_RDSTM | LCCR0_OUM | LCCR0_BM | LCCR0_QDM | LCCR0_PAS |LCCR0_EFM | LCCR0_IUM | LCCR0_SFM | LCCR0_LDM )

          #define LCD_LCCR3 (LCCR3_PCP | LCCR3_HSP | LCCR3_VSP)

          #endif

          最后是通過register_framebuffer()進(jìn)行各項(xiàng)登記,使幀緩沖區(qū)與控制臺設(shè)備驅(qū)動的高層相連。參數(shù)fbi是一個指向fb_info數(shù)據(jù)結(jié)構(gòu)的指針,通過這個數(shù)據(jù)結(jié)構(gòu)使幀緩沖區(qū)與文件系統(tǒng)連接起來。

          3.2 幀緩沖區(qū)的操作

          對幀緩沖區(qū)的操作,應(yīng)用程序首先要打開代表幀緩沖區(qū)的設(shè)備文件,幀緩沖區(qū)的file_operations數(shù)據(jù)結(jié)構(gòu)是fb_fops。

          static struct file_operations fb_fops = {

           owner: THIS_MODULE,

           read: fb_read, // 讀操作

           write: fb_write, // 寫操作

           ioctl: fb_ioctl, // 控制操作

           mmap: fb_mmap, // 映射操作

           open: fb_open, // 打開操作

           release: fb_release, // 關(guān)閉操作

          #ifdef HAVE_ARCH_FB_UNMAPPED_AREA

           get_unmapped_area: get_fb_unmapped_area,

          #endif

          };

          應(yīng)用程序?qū)訉彌_設(shè)備的訪問同對文件的訪問操作類似。在應(yīng)用程序中,對幀緩沖設(shè)備(dev/fb)的操作只需調(diào)用文件層的操作函數(shù)。首先打開/dev/fb設(shè)備文件;隨后用ioctl操作取得屏幕的分辨率和bpp值,從而計算出屏幕緩沖區(qū)的大小,并將屏幕的緩沖區(qū)映射到用戶空間;最后就可直接對屏幕緩沖區(qū)進(jìn)行圖片顯示。對幀緩沖區(qū)的打開文件操作是由fb_open()完成等。

          驅(qū)動程序編寫完成后,開發(fā)者可以將其編譯為動態(tài)加載模式,或靜態(tài)地編譯入內(nèi)核中。

          4 結(jié)束語

          隨著后PC時代的到來,嵌入式系統(tǒng)得到了越來越廣泛的應(yīng)用。現(xiàn)在的嵌入式系統(tǒng)一般都需要提供圖形化的人機(jī)界面。本文所設(shè)計的系統(tǒng)運(yùn)行良好,性能穩(wěn)定。在實(shí)際產(chǎn)品中取得了比較滿意的經(jīng)濟(jì)效益。

          參考文獻(xiàn):

          1. 陳文智《嵌入式系統(tǒng)開發(fā)原理與實(shí)踐》清華大學(xué)出版社 2005.8

          2. 許慶豐 嵌入式Linux下彩色LCD驅(qū)動的設(shè)計與實(shí)現(xiàn) 電子產(chǎn)品世界 2003.Z2

          3. 王同洋,熊偉 嵌入式Linux中圖形用戶界面的研究與設(shè)計 微計算機(jī)信息 2006年第3-2期

          4. 深圳市億道電子技術(shù)有限公司內(nèi)部資料


        上一頁 1 2 3 下一頁

        關(guān)鍵詞: 收發(fā)器

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 定边县| 册亨县| 宿松县| 瑞金市| 江都市| 桃园市| 双流县| 广西| 上高县| 长沙县| 嵩明县| 宾川县| 毕节市| 新龙县| 武陟县| 茂名市| 宜黄县| 西华县| 孟津县| 静海县| 镇坪县| 永顺县| 太仆寺旗| 错那县| 兴国县| 页游| 黄大仙区| 甘孜| 海阳市| 三穗县| 海城市| 日土县| 长春市| 宁陵县| 岑巩县| 息烽县| 甘洛县| 花莲市| 交口县| 鄂伦春自治旗| 嵊泗县|