中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      在Linux下驅(qū)動STN彩色LCD

      時間:2024-09-12 01:57:23 理工畢業(yè)論文 我要投稿
      • 相關(guān)推薦

      在Linux下驅(qū)動STN彩色LCD

      伴隨著高性能嵌入式處理器的飛速發(fā)展與普及,特別是ARM處理器系列的出現(xiàn),嵌入式系統(tǒng)的功能也變得越來越強(qiáng)大。以前的單色LCD已不能滿足現(xiàn)今的各種多媒體應(yīng)用,彩色LCD被越來越多地應(yīng)用到嵌入式系統(tǒng)中。同時,在應(yīng)用需求的促使下,許多工作在Linux下的圖形界面軟件包的開發(fā)和移植工作中都涉及到底層LCD驅(qū)動的開發(fā)問題。

      在硬件采用Intel ASSABET開發(fā)板,軟件采用Linux 2.4.19平臺,編譯器為arm-linux-gcc的交叉編譯器作為開發(fā)的前提下,因?yàn)锳SSABET開發(fā)板上使用的是Sharp 3.9英寸320×240 TFT彩色LCD,現(xiàn)改用Kyocera 7.7英寸640×480 STN型彩色LCD,所以通過對其Linux驅(qū)動程序進(jìn)行改寫和調(diào)試,成功地實(shí)現(xiàn)了對該種屏的驅(qū)動和顯示。

      LCD

      控制器
      LCD控制器的功能是顯示驅(qū)動信號,進(jìn)而驅(qū)動LCD顯示器。在驅(qū)動LCD設(shè)計的過程中首要的是配置LCD控制器。在配置LCD控制器中最重要的一步則是幀緩沖區(qū)的指定。用戶所要顯示的內(nèi)容皆是從緩沖區(qū)中讀出,從而顯示到屏幕上。幀緩沖區(qū)的大小由屏幕的分辨率和顯示色彩數(shù)決定。驅(qū)動幀緩沖的實(shí)現(xiàn)是整個驅(qū)動開發(fā)過程的重點(diǎn)。

      ASSABET開發(fā)板采用SA1110作為處理器。SA1110微處理器是Intel公司生產(chǎn)的一種基于StrongARM環(huán)境的微處理器。該處理器內(nèi)部有一LCD驅(qū)動控制器,可支持單、雙屏顯示和最大1024×1024dpi。每個像素數(shù)據(jù)以4、8、12或16位編碼后存儲于外部存儲器內(nèi),通過LCD的專用DAM控制器,被裝入至532位的FIFO中。在雙屏顯示時,兩個DMA通道分別負(fù)責(zé)上下屏幕的顯示,但只有第一個DMA通道有調(diào)色板緩沖器。幀緩沖器中的已編碼像素數(shù)據(jù)是作為指針指向256×12位的調(diào)色板。調(diào)色板的色調(diào)數(shù)據(jù)控制著抖動邏輯,以產(chǎn)生各種灰度和彩色信號并從LCD數(shù)據(jù)引腳輸出。

      顯示屏
      LCD選擇Kyocera公司的7.7英寸STN型LCD。該LCD可在640×480分辨率的情況下提供12位彩色顯示。該屏為雙屏掃描模式,具有兩個8位的數(shù)據(jù)通道,每種基色都由4位的抖動邏輯來產(chǎn)生15級灰度,因此可以顯示最多153=3375種可能的顏色。

      驅(qū)動LCD的設(shè)計

      幀緩沖設(shè)備
      幀緩沖設(shè)備為圖像硬件設(shè)備提供了一種抽象化處理。它代表了一些視頻硬件設(shè)備,允許應(yīng)用軟件通過定義明確的界面來訪問圖像硬件設(shè)備。這樣軟件無需了解任何涉及硬件底層驅(qū)動的東西(如硬件寄存器)。它允許上層應(yīng)用程序在圖形模式下直接對顯示緩沖區(qū)進(jìn)行讀寫和I/O控制等操作。通過專門的設(shè)備節(jié)點(diǎn)可對該設(shè)備進(jìn)行訪問,如/dev/fb*。

      Linux下可支持多個幀緩沖設(shè)備,最多可達(dá)32個,即從/dev/fb0到/dev/fb31。通常情況下,缺省的幀緩沖設(shè)備為/dev/fb0。

      在SA1110處理器的LCD控制器操作中,幀緩沖器用于存放全部屏幕的所有編碼像素數(shù)據(jù)。在它的最低位地址處是32或512字節(jié)的緩沖器,用來存放調(diào)色板數(shù)據(jù)表。32位緩沖器用于4、12或16位像素編碼的16項調(diào)色板;512字節(jié)緩沖器用于裝入8位像素編碼的256項調(diào)色板。在12或16位像素編碼時,不使用調(diào)色板,此時的幀緩沖器的起始32字節(jié)必須填入全零。

      主要結(jié)構(gòu)體

      struct fb_fix_screeninfo中記錄了幀緩沖設(shè)備和指定顯示模式的不可修改信息。它包含了屏幕緩沖區(qū)的物理地址和長度。

      struct fb_var_screeninfo中記錄了幀緩沖設(shè)備和指定顯示模式的可修改信息。它包括顯示屏幕的分辨率、每個像素的比特數(shù)和一些時序變量。其中變量xres定義了屏幕一行所占的像素數(shù),yres定義了屏幕一列所占的像素數(shù),bits_per_pixel定義了每個像素用多少個位來表示。

      struct fb_info是Linux為幀緩沖設(shè)備定義的驅(qū)動層接口。它不僅包含了底層函數(shù),而且還有記錄設(shè)備狀態(tài)的數(shù)據(jù)。每個幀緩沖設(shè)備都與一fb_info結(jié)構(gòu)相對應(yīng)。其中成員變量modename為設(shè)備名稱,fontname為顯示字體,fbops為指向底層操作的函數(shù)的指針。

      Linux內(nèi)核配置與編譯

      使用下面的命令啟動Linux內(nèi)核配置工具:
      #make menuconfig

      啟動如下內(nèi)核選項,選擇對應(yīng)的選項之后,執(zhí)行下面的命令:

      Console drivers ---

      【在Linux下驅(qū)動STN彩色LCD】相關(guān)文章:

      STN-LCD彩屏模塊03-21

      嵌入式Linux下CAN總線驅(qū)動程序設(shè)計03-07

      Linux下的GTK圖形界面編程12-04

      嵌入式Linux系統(tǒng)下Microwindows的應(yīng)用03-19

      任務(wù)驅(qū)動下物流教學(xué)探討論文11-20

      在嵌入式linux2.4.18內(nèi)核中實(shí)現(xiàn)CS8900A網(wǎng)卡驅(qū)動03-07

      基于嵌入式Linux的MPC8271 ATM驅(qū)動程序設(shè)計03-30

      論現(xiàn)代營銷觀念下的驅(qū)動消費(fèi)者03-21

      DOS真彩色模式下真彩色圖像顯示技術(shù)03-03

      主站蜘蛛池模板: 安平县| 无码精品人妻一区二区三区98| 通辽市| 久久亚洲成a人片| 泉州市| 日韩精品一区二区三区费暖暖| 搡老女人老妇女老熟妇69| 亚洲AV无码乱码精品国产草莓| 筠连县| 伊人狠狠色j香婷婷综合| 国产精品国产三级国av在线观看| 开心五月婷婷综合网站| 538亚洲欧美国产日韩在线精品 | 亚洲AⅤ男人的天堂在线观看| 精品国产一区二区三区久久狼| 海门市| 江油市| 中文字幕乱码免费人妻av| 亚洲精品国产不卡在线观看| 国产精品国产三级国产an| 日韩一二三四精品免费| 日韩Va亚洲va欧美Ⅴa久久| 国产人禽杂交18禁网站| 色乱码一区二区三区在线| 日韩精品人妻一区二区在线看| 怀宁县| 插入中文字幕在线一区二区三区| 龙山县| 99RE6在线观看国产精品| av中文码一区二区三区| 中文无码制服丝袜人妻AV| 蜜臀av亚洲一区二区| 久久精品黄色免费热线| 日韩精品在线一区二区| 蜜桃在线一区二区三区| 国产精品亚洲一区二区三区正片| 久草热这里只有精品在线| 亚洲国产精品中文字幕日韩| 中文字幕无码高清一区二区三区 | 一区二区无码精油按摩| 不卡的亚洲av网在线|