基于ARM9的液晶驅(qū)動(dòng)終端設(shè)計(jì)
setsIdl3506_reg();//配置S1D13506顯卡寄存器,并填充顯卡狀態(tài)數(shù)據(jù)結(jié)構(gòu)
本文引用地址:http://butianyuan.cn/article/247437.htmregister_framebuffer(&fb_info.gen.info);||注豫framebuffer,初始化完成
}
將驅(qū)動(dòng)文件添加至Linux根目錄下的driversvide0目錄中,并在當(dāng)前目錄下makefile文件中添加obi一$(CONFIG FBS1D13506)+=sldl3506fb.O,在Config.ini文件中添加boolSldl3506'CONFIG_FB_EPSON,在 Linux移植過(guò)程中可將驅(qū)動(dòng)程序靜態(tài)編譯到內(nèi)核中。若要使MiniGUl支持Frame-buffer,需將MiniGUI.efg文件中GAL引擎設(shè)為Framebuffer,如gal_engine=fbcon。
4.3 應(yīng)用程序
在應(yīng)用程序設(shè)計(jì)中,使用多線程可更好的協(xié)調(diào)串口接收、圖像顯示、數(shù)據(jù)存儲(chǔ)以及超時(shí)處理等操作。終端中基于POSIX的應(yīng)用程序由圖形顯示與串口命令解析組成,由于Linux操作系統(tǒng)中不同的線程之間可通過(guò)全局變量傳遞參數(shù),應(yīng)用程序中使用了一個(gè)全局的循環(huán)FIFO作為兩個(gè)線程之間的命令緩沖區(qū),采用兩個(gè)靜態(tài)數(shù)據(jù)緩沖區(qū)用于存放串口傳來(lái)的圖像數(shù)據(jù)資源,數(shù)據(jù)緩沖區(qū)大小與LCD分辨率和像素深度有關(guān)。命令循環(huán)FIFO管理結(jié)構(gòu)如下所示。
系統(tǒng)中,基于Framebuffer的設(shè)備被映射為/dev/fb0文件,應(yīng)用程序啟動(dòng)后,首先調(diào)用open()函數(shù)打開(kāi)設(shè)備,然后調(diào)用 mmap()函數(shù)將顯存影射到用戶空間開(kāi)辟的數(shù)據(jù)緩沖區(qū)內(nèi),初始化命令緩沖隊(duì)列后,啟動(dòng)串口命令接收,接收到有效的串口命令后則執(zhí)行相應(yīng)的顯示操作。
5 結(jié)語(yǔ)
目前,該終端可成功驅(qū)動(dòng)SHARP LQ035Q3DG01、LQl04-V1DG21等多種分辨率18 bit接口LCD,并在某紡織廠的細(xì)紗機(jī)車速監(jiān)控儀中得到應(yīng)用。使用該終端可降低人機(jī)界面的設(shè)計(jì)難度,提高儀器儀表的開(kāi)發(fā)效率,并且可進(jìn)一步擴(kuò)展網(wǎng)絡(luò)視頻播放及網(wǎng)絡(luò)命令接口等功能,具有良好的市場(chǎng)前景和使用價(jià)值。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux相關(guān)文章:linux教程
led顯示器相關(guān)文章:led顯示器原理
晶振相關(guān)文章:晶振原理 調(diào)光開(kāi)關(guān)相關(guān)文章:調(diào)光開(kāi)關(guān)原理
評(píng)論