999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

LCD與FrameBuffer驅(qū)動程序的研究與實現(xiàn)

2017-05-17 08:49:09沈?qū)W銀
關(guān)鍵詞:嵌入式設(shè)備信息

沈?qū)W銀

摘要:Framebuffer驅(qū)動程序在Linux顯示器上面具有抽象的特點。當(dāng)前科學(xué)技術(shù)的持續(xù)性發(fā)展,使得很多MCU-LCD嵌入式的設(shè)備在支持上要應(yīng)用更好的UI界面來實現(xiàn)其良好的視覺效果呈現(xiàn)。但由于MCU-LCD常使用在早期的單片機(jī)內(nèi),若仍舊使用Framebuffer架構(gòu)將會對內(nèi)核產(chǎn)生較差的影響。通過分析Framebuffer自身的結(jié)構(gòu)能更好的比對出RGB以及MCU的不足之處,然后設(shè)計對應(yīng)的linux幀緩沖設(shè)備驅(qū)動程序,滿足內(nèi)核中Framebuffer對MCU-LCD的支持。

關(guān)鍵詞:LCD;FrameBuffer驅(qū)動;研究與實現(xiàn)

中圖分類號:TP311.11 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2017)03-0063-02

嵌入式的LCD屏幕中能支持的兩大硬件接口,其中一種接口是較為常見的RGB接口,另外一種是MCU接口。MCU-LCD早期是針對單片機(jī)領(lǐng)域使用而得名的,所以在使用的時候就多在低端的手機(jī)中獲得較大的應(yīng)用,特點是整體價格低廉。MCU——LCSD接口標(biāo)準(zhǔn)的術(shù)語是interfac80,所以在文檔中就要使用I80代替MCU-LCD屏。

1 linux下FramBuffer

1.1 FrameBuffer機(jī)制研究

FrameBuffer可以被翻譯為幀緩沖,這是一種基礎(chǔ)類的圖形設(shè)備,經(jīng)常出現(xiàn)在linux2.2的版本內(nèi)核中,它作為一種驅(qū)動型的程序接口而存在的,主要是其他程序的函數(shù)數(shù)據(jù)模式。這類接口多顯示為抽象或者幀緩沖區(qū),作為用戶使用該應(yīng)用程序不需要對底層的驅(qū)動程序有著細(xì)致的了解,可以將其看成是內(nèi)存的一種映像反映,無需做深入了解,更無需關(guān)注其物理顯存的位置或者換頁的機(jī)制等細(xì)節(jié)內(nèi)容,只有將所有的映射引入到空間內(nèi),然后再開展讀和寫的操作,并且所有的操作細(xì)則都能在屏幕上直觀的呈現(xiàn)出來。

1.2 FramBuffer設(shè)備驅(qū)動研究

FramBuffer主要是實現(xiàn)不同的功能平臺控制圖,且在控制的時候要讓兩者能更好的綁定在一起。FramBuffer的優(yōu)點是能支持不同類型的硬件,并能支持新設(shè)備開發(fā)過程中產(chǎn)生的巨大工作量。它們的關(guān)系如圖1示。

FrameBUffer的驅(qū)動主要是是現(xiàn)在重點文件接口處,要求所有的層次機(jī)構(gòu)都要講數(shù)據(jù)寄存在I/O內(nèi)存層。

1.2.1 文件層次接口層

使用幀緩沖設(shè)備的時候能實現(xiàn)不同的數(shù)據(jù)處理,處理中設(shè)備的不同操作流程也有所不同。比如進(jìn)行內(nèi)存映射的時候,文件的開關(guān)以及底層文件的函數(shù)都可以作為基礎(chǔ)內(nèi)容而封存,這樣就能滿足對文件的內(nèi)存控制,并能合理的調(diào)用接觸口的讀寫函數(shù),這些函數(shù)的提取能滿足其內(nèi)核的使用需求。

1.2.2 驅(qū)動層次接口層

受到現(xiàn)實設(shè)備的特殊性影響,驅(qū)動層接口處保護(hù)的內(nèi)容有底層函數(shù)、記錄設(shè)備狀態(tài)數(shù)據(jù)。linux最為緩沖的幀設(shè)備,主要是在驅(qū)動層的出口處進(jìn)行結(jié)構(gòu)定義,通過定義現(xiàn)實當(dāng)前的顯示卡的具體工作情況,從而反應(yīng)出內(nèi)核的情況。但由于嵌入式系統(tǒng)整體操作比較簡單,能夠涉及到的結(jié)構(gòu)成員很少。

2 驅(qū)動程序設(shè)計

2.1 驅(qū)動程序初始化函數(shù)設(shè)計

函數(shù)的設(shè)計中要先創(chuàng)建FramBuffer設(shè)備的結(jié)構(gòu)體然后使用函數(shù)獲取對應(yīng)的LCD屏來匹配初始化的數(shù)據(jù)源,其中初始化的內(nèi)容主要是對其固定的信息、可變的信息和顯示的模式開展初始化處理。然后可以在s3c2410fbs info結(jié)構(gòu)中映射出有關(guān)s3c2410fbs ops的指針,并在內(nèi)核中申請連續(xù)空間,將這部分空間看成是緩存的處理階段,把顯示器的地址直接添加到s3c2410fbs infl中的DMA傳輸?shù)刭|(zhì)中,這樣就能直接顯示出顯示器的物理地址。

2.2 位圖顯示API設(shè)計

BMP主要的文件構(gòu)成形式是:文件頭、位圖信息、顏色信息和圖形數(shù)據(jù)這些內(nèi)容。BMP文件頭主要是顯示BMP的文件類型,所有的文件其起始位置和大小等信息都可以在BMP文件類型中可查;BMP的位圖信息主要的工作內(nèi)容是通過說明圖片的大小和性質(zhì),對圖片的信息有簡單的了解,顏色表直接表明圖片的顏色,其實圖片顏色的表項較多,任何一個表項都有著獨有的類型結(jié)構(gòu),可以定義其中的一種顏色。位圖數(shù)據(jù)圖與傳統(tǒng)數(shù)據(jù)庫有著異曲同工之處,即能收錄每個像素值,然后所有的記錄順序是按照從左到右的順序排列,所有的掃描行排列則是按照從下到上的順序排列。

2.3 位位圖函數(shù)設(shè)計

載入的位圖,主要的目的是為進(jìn)行正確的圖位分化,先要從信息頭角度考慮問題,從圖中我們能熟悉要分配多少給內(nèi)存的位圖,這樣就能將位圖全部加載進(jìn)來,然后為位圖創(chuàng)設(shè)調(diào)色板。

(1)讀取位圖文件頭結(jié)構(gòu)信息。檢測不同的文件類型是不是“BM”,如若不是,就說明一點即文件不是位圖文件或者位圖的文件已經(jīng)遭到了破壞。若位圖標(biāo)示為“BM”那么文件大小的讀取以及位圖陣列的排列相對于文件而言有很多的偏移量,這樣就方便位圖數(shù)據(jù)開辟緩沖區(qū)域。

(2)讀取位圖信息頭位置。通過讀取位圖的信息頭結(jié)構(gòu)能夠獲悉到位圖的寬度、高度和每一個像素所處的位數(shù),其中包括于圖像中數(shù)據(jù)的大小等相關(guān)信息,這樣能讓位圖的讀圖信息和顏色更加鮮亮,進(jìn)而就能將其使用在位圖的數(shù)據(jù)內(nèi)。

(3)讀取位圖顏色表。通過對位圖的大小和結(jié)構(gòu)進(jìn)行了解能清晰的認(rèn)識到位圖信息頭結(jié)構(gòu)位置,然后在計算顏色后了解到位圖的文件起始位置出現(xiàn)偏移,借此判斷位圖的文件指針方向。結(jié)合位圖的大小或者位圖的寬度和高度等數(shù)據(jù)變化,我們能看到開辟緩沖區(qū)域位圖的顏色表內(nèi)容對提升位圖的顏色表信息有著積極的影響。

(4)讀取位圖數(shù)據(jù)信息。根據(jù)位圖的圖陣列以及文件頭的偏移量或者位圖的顏色以及大小能清晰的計算出位圖數(shù)據(jù)信息,也能根據(jù)現(xiàn)有的數(shù)據(jù)信息了解到位圖能出現(xiàn)的偏移量,以及地址上的量偏移,這樣就能定位文件的指針方向,通過開辟緩沖區(qū)來讀取位圖的現(xiàn)有數(shù)據(jù)信息。

2.3.1 漢字及字符現(xiàn)實的API設(shè)計

16*16點陣漢字設(shè)計:第一步,漢字讀取的時候要將漢字串成一串,能讀取漢字從內(nèi)碼進(jìn)入到內(nèi)緩存區(qū)域中,可以將漢字對應(yīng)的內(nèi)碼對應(yīng)的3個字符直接轉(zhuǎn)換為兩個字符,創(chuàng)建完漢字直字串緩沖區(qū)域。第二步,打開16*16的點陣字庫,目的是要通過讀取漢字的字模數(shù)據(jù)庫,了解到漢字進(jìn)行轉(zhuǎn)換以后內(nèi)碼是否要依次的進(jìn)行計算,了解每個漢字在字庫中的偏移量,這將漢字的字模直接在緩沖區(qū)內(nèi)顯示出來。第三步,使用掃描法可以將漢字的字摸點進(jìn)行點陣,若該點不為零,就要通過畫點的方式結(jié)合漢字的顏色和坐標(biāo)位置在LCD上畫出該點,完成后可以持續(xù)到漢字掃描完畢在進(jìn)行漢字下一個坐標(biāo)的橫坐標(biāo)標(biāo)注,然后在進(jìn)行掃描再次畫出下一個漢字。其中需要注意一點,若漢字的坐標(biāo)在橫坐標(biāo)的范圍以外,那么就要改變漢字的橫豎坐標(biāo)值,換行畫出漢字。

2.3.2 Framebuffer設(shè)備的應(yīng)用

無線的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中,人機(jī)接口是視頻的關(guān)鍵部位。其實在本實驗中,就要從人機(jī)界面的角度考慮問題,我們在人機(jī)界面開設(shè)期間先使用MiniGUi,這其實是一種嵌入式的設(shè)備,該設(shè)備能支持整個界面的輕視量級操作,通過具體的頁面操心系統(tǒng)我們能清晰的了解到設(shè)備應(yīng)用的環(huán)境。使用MinIGUI的圖形口主要支持的是framebuffet設(shè)備的具體應(yīng)用。

由于MiniGUI主要是使用獨有的體系化結(jié)構(gòu),在原理使用上通過分層設(shè)計的方法,在不同的層次上開展其他針對性的措施,也通過不同應(yīng)用措施的改造或者重新改寫,做好基礎(chǔ)設(shè)施建設(shè),頂層的API主要是給用戶提供編程接口,中間的MiniGUI主要是涉及不同的系統(tǒng)模塊,在最底層GAL和lAL主要是為MInIGUI提供底層圖形支持系統(tǒng),這樣可以方便這些系統(tǒng)機(jī)型設(shè)備的輸入和輸出,然后進(jìn)行鼠標(biāo)的具體驅(qū)動。

GAL主要的作用是將不同的圖形設(shè)備抽象為一個邏輯的設(shè)備,然后提供繪圖的功能導(dǎo)向,為上層模塊提供統(tǒng)一接口,在建立FrameBuffer上,盡量避免修改上層的所屬模塊系統(tǒng)。這樣能再次更改或者顯示對應(yīng)屏的驅(qū)動程序中,讓MiniGUI移植到ADSP-BF561。移植過程可以從從三個階段出發(fā):第一個階段,開發(fā)和調(diào)試階段,這一階段主要是以ADSP-BF561平臺的精簡系統(tǒng)為具體的Framebuffet驅(qū)動性程序,其中調(diào)試階段就要使用圖形進(jìn)行引擎調(diào)試。這應(yīng)該是整個過程的關(guān)鍵性實施階段。第二,制定或者調(diào)試設(shè)備引擎的時候,先要做好設(shè)備引擎的輸入和輸出,然后通過使用開放程序,做好交叉的編譯和配置,讓整個MiniGUI的使用效果達(dá)到最優(yōu),從而實現(xiàn)圖形的界面設(shè)定。

3 結(jié)語

在FrameBuffer的機(jī)制基礎(chǔ)上,先要以MCU-LCD為基礎(chǔ)設(shè)立單片機(jī),由于這個時代主要是使用通用顯示器的時代,在通用顯示器使用時要借助于嵌入式的平臺進(jìn)行Linu驅(qū)動程序的設(shè)計,這樣能較好的解決有關(guān)通用MCU接口處LCD的驅(qū)動現(xiàn)實。該設(shè)計主要是嵌入流行的QT和MINIGUI移植工作,并為其提供基礎(chǔ),使開發(fā)的二次界面能取得較好的效果。

參考文獻(xiàn)

[1]封岸松,楊柳,王慶輝.基于Framebuffer的DSP平臺LCD驅(qū)動程序的實現(xiàn)與應(yīng)用[J].計算機(jī)系統(tǒng)應(yīng)用,2011,(09):12-13.

[2]程杰,方攀,張黎明.基于SEP4020的嵌入式Linux Framebuffer驅(qū)動程序[J].電子技術(shù),2015,(02):17-19.

[3]蘇哲欣,劉鴻飛,薛曉.嵌入式Linux下的LCD驅(qū)動程序設(shè)計與實現(xiàn)[J].工業(yè)控制計算機(jī),2011,(09):12-13.

[4]陳渝,康爍,楊曄,曾益.SkyEye模擬器的LCD及TouchScreen模擬模塊的設(shè)計、實現(xiàn)與驗證[J].電腦編程技巧與維護(hù),2011,(09):12-13.

[5]劉文飛,李燕燕,廖迎春,蘇兵強(qiáng).基于嵌入式Linux變壓器監(jiān)測終端LCD驅(qū)動程序的設(shè)計 [J].南京信息工程大學(xué)學(xué)報(自然科學(xué)版),2015,(02):17-19.

猜你喜歡
嵌入式設(shè)備信息
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發(fā)平臺
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
500kV輸變電設(shè)備運行維護(hù)探討
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
原來他們都是可穿戴設(shè)備
消費者報道(2014年7期)2014-07-31 11:23:57
Altera加入嵌入式視覺聯(lián)盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
主站蜘蛛池模板: 久久五月视频| 国产成人精品高清在线| 怡红院美国分院一区二区| 精品91自产拍在线| 国产香蕉97碰碰视频VA碰碰看| 最新加勒比隔壁人妻| 亚洲男女在线| 欧美有码在线| 一区二区影院| 熟妇人妻无乱码中文字幕真矢织江 | 老熟妇喷水一区二区三区| 自拍偷拍欧美| 婷婷午夜影院| 国产成人亚洲无码淙合青草| 国产欧美日韩精品第二区| 在线亚洲小视频| 91九色国产porny| 国产三级国产精品国产普男人| 日本少妇又色又爽又高潮| 综合久久久久久久综合网| A级毛片无码久久精品免费| 在线播放国产一区| 久久久精品无码一二三区| 露脸真实国语乱在线观看| 日本黄色不卡视频| 久久人人爽人人爽人人片aV东京热| 亚洲愉拍一区二区精品| 国产成人调教在线视频| 国产精品露脸视频| 波多野结衣一区二区三视频| 国产亚洲精| 激情影院内射美女| 日韩av在线直播| 无码AV日韩一二三区| 久久成人18免费| 国内精品视频在线| 成人毛片免费在线观看| 中文字幕在线一区二区在线| 国产精品欧美日本韩免费一区二区三区不卡 | 色噜噜狠狠色综合网图区| 国产理论最新国产精品视频| 日本日韩欧美| 国产乱子伦手机在线| 日本91在线| 久久美女精品| 在线观看网站国产| 亚洲一区二区精品无码久久久| 在线色国产| 成人一区在线| 69av在线| 三上悠亚精品二区在线观看| 日韩视频免费| 免费毛片全部不收费的| 中文字幕人妻无码系列第三区| 亚洲自拍另类| 午夜小视频在线| 中文字幕波多野不卡一区| 黄色网站不卡无码| 伊人狠狠丁香婷婷综合色| 国产精品真实对白精彩久久| 啦啦啦网站在线观看a毛片| 国产人碰人摸人爱免费视频| 亚洲欧美自拍一区| 久久男人资源站| av在线人妻熟妇| 在线观看精品自拍视频| 91麻豆精品国产高清在线| 亚洲一区二区在线无码| 69视频国产| a色毛片免费视频| av性天堂网| 国产成人综合亚洲欧美在| 97无码免费人妻超级碰碰碰| 日本欧美视频在线观看| 久久99精品久久久久久不卡| 91精品专区国产盗摄| 丰满少妇αⅴ无码区| 免费一级大毛片a一观看不卡| 小说 亚洲 无码 精品| 欧美日韩免费在线视频| 97se亚洲综合在线韩国专区福利| 久久天天躁狠狠躁夜夜躁|