智能終端
觸控一體機(jī)
嵌入式工控機(jī)
eTOP-6UL-MANNV10工控機(jī)
NXP(飛思卡爾)
Cortex-A7
開發(fā)板
i.MX6UL精英版
i.MX6UL全能版
i.MX6ULL開發(fā)板
三星
Cortex-A9
開發(fā)板
iTOP-4412精英版
iTOP-4412全能版
iTOP-4418-連接器版本
iTOP-4418-郵票孔版本
Cortex-A53
開發(fā)板
iTOP-6818-連接器版本
iTOP-6818-郵票孔版本
核心板
6818核心板
6818核心板 郵票孔
瑞芯微
Cortex-A72/A55
開發(fā)板
龍芯
意法半導(dǎo)體
    首先i.MX6Q開發(fā)板分別連接9.7寸屏和HDMI顯示器,然后使用MfgTool工具燒寫QT系統(tǒng),然后撥碼開關(guān)設(shè)置成從emmc啟動,在uboot命令行下設(shè)置開發(fā)板為9.7寸屏顯示(這樣也會同時設(shè)置HDMI),設(shè)置完,保存配置,如下圖:
    然后設(shè)置啟動QT系統(tǒng),并保存設(shè)置,如下圖:
    然后開發(fā)板重新啟動,可以看到默認(rèn)9.7寸屏顯示qt的觸摸校準(zhǔn)程序了,點擊屏幕校準(zhǔn),最后會在9.7寸屏上運行QT的demo程序。
    HDMI顯示通道默認(rèn)是關(guān)閉的,在串口命令行下輸入命令“echo 0 > /sys/class/graphics/fb2/blank”,使能hdmi通道,如下圖:
    現(xiàn)在hdmi顯示屏上顯示黑屏,我們可以給hdmi對應(yīng)的frambuffer寫入一些隨機(jī)數(shù)據(jù),輸入下面的命令“cat /dev/urandom > /dev/fb2”,如下圖:
    輸入完這條命令,我們可以看到hdmi顯示器開始顯示一些噪點(無規(guī)則的圖案)了,說明現(xiàn)在hdmi這路frambuffer顯示是可以了,同時9.7寸顯示的是qt的demo程序。
    我們可以在hdmi上也運行一個qt的demo程序,這樣兩個qt的程序分別在兩個顯示器下單獨顯示,輸入下面的命令,在hdmi下運行qt的demo程序,如下:
     QTDIR=/opt/qt-4.7.1/
     export LD_LIBRARY_PATH=$QTDIR/plugins/qtopialmigrate/:$QTDIR/qt_plugins/imageformats/:$Q
     TDIR/lib:/root/tslib/build/lib:$LD_LIBRARY_PATH
     export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/root/tslib/build/bin
     export QWS_DISPLAY=:2:/dev/fb2
     export HOME=/root
     cd /opt/qt-4.7.1/demos/embedded/fluidlauncher
     ./fluidlauncher -qws
     運行完上面的命令,可以看到hdmi顯示器也運行qt的demo程序了。
     通過上面的這些步驟,我們運行了兩個qt的demo程序,分別在9.7和hdmi顯示器上分別顯示。qt程序運行前需要設(shè)置一組對應(yīng)的環(huán)境變量,在上面的命令里有一個命令是“export QWS_DISPLAY=:2:/dev/fb2”,這個命令是設(shè)置qt的界面輸出frambuffer為/dev/fb2(即hdmi顯示屏對應(yīng)的frambuffer)。9.7寸屏對應(yīng)的設(shè)置為“export QWS_DISPLAY=:0:/dev/fb0”。
     通過上面的講解,我們可以清楚了qt下lvds和hdmi分別顯示不同界面的(也可以成為雙屏異顯)操作步驟了。其實總結(jié)一句話就是給對應(yīng)的程序設(shè)置對應(yīng)的frambuffer。
     搞清楚了qt下frambuffer的設(shè)置方法,我們可以基于這個原理來設(shè)計雙屏同顯(即把顯示內(nèi)容同時對應(yīng)的兩個frambuffer上)。
版權(quán)所有:2012 北京迅為電子有限公司 京公網(wǎng)安備11010802035705號 京ICP備12036083號-1 法律公告 | 隱私保護(hù)