<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式Linux環(huán)境下MiniGUI的研究與移植

          嵌入式Linux環(huán)境下MiniGUI的研究與移植

          作者: 時(shí)間:2009-08-25 來源:網(wǎng)絡(luò) 收藏

            3.2.2 函數(shù)庫的安裝和編譯

            進(jìn)入目錄libminigui-1.6.9,再運(yùn)行./configure腳本:

            CC= arm-linux-gcc./configure――prefix=/mnt/nfs/local――build=i386-linux――host=arm-linux――target=arm-linux――disable-lite――disable-micemoveable――disable-cursor在這里,CC是用來指定所使用的編譯器,arm-linux-gcc即為安裝到主機(jī)上的交叉編譯工具。另外,

            --prefix為函數(shù)庫的安裝目標(biāo)路徑

            --build是指執(zhí)行編譯的主機(jī)

            --host交叉編譯后的程序?qū)⑦\(yùn)行的系統(tǒng)

            --target是運(yùn)行該編譯器所產(chǎn)生的目標(biāo)文件的平臺(tái)

            --disable-lite建立-Threads版本的應(yīng)用程序

            --disable-micemoveable禁止窗口移動(dòng)

            --disable-cursor由于系統(tǒng)采用觸摸屏,所以用此選項(xiàng)用來關(guān)閉鼠標(biāo)光標(biāo)顯示

            如果運(yùn)行./configure腳本成功通過,就可繼續(xù)進(jìn)行下面的編譯了,執(zhí)行make和make install命令編譯安裝libminigui。這里要注意的是,執(zhí)行make install命令時(shí)要切換到Root用戶權(quán)限下,不然安裝時(shí)沒法把文件裝到指定目錄下。安裝成功后,MiniGUI 的函數(shù)庫和頭文件以及配置文件等資源將被安裝到/usr/local/arm/2.95.3/arm-linux/目錄中,具體情況為:函數(shù)庫被裝在lib/ 子目錄中;頭文件被裝在include/ 子目錄中;手冊(cè)被裝在man/ 子目錄中;配置文件被裝在etc/ 子目錄中。

            3.2.3 MiniGUI資源的編譯安裝

            主機(jī)上解壓資源文件:tar zxf miniguires-1.6.9.tar.gz,可生成miniguires-1.6.9目錄。在安裝之前先要修改目錄中的configure.linux文件,執(zhí)行vi configure.linux打開文件,把prefix選項(xiàng)部分的默認(rèn)值 /usr/local/ 改為 /usr/local/arm/2.95.3/arm-linux/,這樣運(yùn)行make install安裝命令后MiniGUI資源將被安裝到目標(biāo)系統(tǒng)中的/usr/local/arm/2.95.3/arm-linux/lib/minigui-

            /res的目錄下。

            3.2.4 實(shí)例程序的編譯安裝

            解壓mde-1.6.9.tar.gz并進(jìn)入該目錄,修改目錄下配置文件configure.in,把其中的AC_CHECK_HEADERS(minigui/commmon.h, have_libminigui=yes, foo=bar)改為

            AC_CHECK_HEADERS($prefix/include/minigui/common.h,have_libminigui=yes,foo=bar),來指定交叉編譯時(shí)搜minigui的頭文件路徑,防止編譯時(shí)系統(tǒng)找不到頭文件;在所有LIB=$LIB后加入CL{prefix}/lib來指定編譯時(shí)所需要庫文件的路徑。并將libpopt-dev-arm-cross-1.6.tgz解壓所生成的頭文件和庫文件分別放入目標(biāo)目錄的include和lib中,用以支持mde中程序在ARM下的交叉編譯。

            然后執(zhí)行./autogen.sh,重新生成configure腳本,使用上面配置的腳本然后執(zhí)行make命令,即可完成實(shí)例程序的編譯。

            4 拷貝MiniGUI資源到開發(fā)板

            編譯完MiniGUI和實(shí)例程序之后,需要把MiniGUI庫、資源和應(yīng)用程序拷貝到為目標(biāo)機(jī)器準(zhǔn)備的文件系統(tǒng)目錄中,然后生成文件系統(tǒng)映像,再下載到目標(biāo)板上運(yùn)行。可以通過串口、USB口或以太網(wǎng)口將文件系統(tǒng)映像下載到目標(biāo)機(jī)器中。如果發(fā)現(xiàn)子目錄lib 中的MiniGUI 庫文件很大,很難全部拷貝到開發(fā)板上的話,可以對(duì)庫文件執(zhí)行arm-linux-strip操作,arm-linux-strip指令會(huì)除去文件中的調(diào)試信息,使文件體積大大縮小。另外需要注意的是,有些庫函數(shù)是鏈接文件,如果單純的拷貝,會(huì)將原先的鏈接信息丟失,造成不必要的麻煩。使用tar命令將所需拷貝的資源打包,其中包括etc子目錄下的配置文件MiniGUI.cfg;lib 子目錄下的libmgext-1.6.9.so.0.0、libminigui-1.6.9.so.0.0、libvcongui-1.6.9.so.0.0和minigui子目錄;mde-1.6.9目錄下的可執(zhí)行程序。將這些資源燒寫進(jìn)ramdisk文件系統(tǒng)中,解壓后將MiniGUI的配置文件MiniGUI.cfg放入/usr/local/etc目錄中,MiniGUI的庫文件放入/usr/local/lib目錄中。在執(zhí)行程序之前,還有一件重要的事情要做,就是在開發(fā)板上的中配置好MiniGUI的運(yùn)行。

            5板載配置

            MiniGUI可以使用多種圖形引擎進(jìn)行圖像顯示,有qvfb、SVGALib、LibGGI等等,當(dāng)然也可以自己編寫一個(gè)圖形引擎供MiniGUI使用。這里我們使用qvfb來作為MiniGUI的圖形引擎進(jìn)行圖像顯示。qvfb(vitural framebuffer)是在宿主機(jī)上模擬幀緩沖的,它是X Window用來運(yùn)行和測(cè)試應(yīng)用程序的系統(tǒng)程序,允許我們?cè)谧烂婕捌渖祥_發(fā)Qt程序,而不需要在命令臺(tái)和程序之間來回切換。qvfb使用了共享存儲(chǔ)區(qū)域(虛擬的幀緩沖)來模擬幀緩沖并且在一個(gè)窗口中(qvfb)模擬一個(gè)應(yīng)用來顯示幀緩沖,顯示的區(qū)域被周期性的改變和更新。通過指定顯示設(shè)備的寬度和顏色深度,虛擬出來的緩沖幀和物理的顯示設(shè)備在每個(gè)像素上保持一致。這樣我們?cè)诿看握{(diào)試應(yīng)用時(shí)不需要總是刷新設(shè)備的FLASH存儲(chǔ)空間,從而加速了應(yīng)用的編譯、連接和運(yùn)行周期。

            首先對(duì)qvfb進(jìn)行安裝,可以從這里下載http://www.minigui.com/downloads/dep-libs/qvfb

            -1.0.tar.gz),下載下來后進(jìn)行解壓:tar zxf qvfb-1.0.tar.gz并進(jìn)入到qvfb-1.0目錄,執(zhí)行./configure腳本后即可用make和make install命令進(jìn)行編譯安裝。

            更改MiniGUI的配置文件MiniGUI.cfg設(shè)置設(shè)備驅(qū)動(dòng)程序,設(shè)置顯示區(qū)域及字體等內(nèi)容。修改/usr/local/etc目錄下的配置文件MiniGUI.cfg,將其中的驅(qū)動(dòng)引擎gal_engine和ial_engine設(shè)置為qvfb,再將其中qvfb的defaultmode設(shè)置為合適的顯示模式。然后把qvfb加到可執(zhí)行路徑中去,執(zhí)行vi .bashrc命令,在 .bashrc最后面加上export PATH=/usr/local/arm/2.95.3/bin -:$PATH,保存退出后用source .bashrc命令執(zhí)行一下即可。

            在X Window中,打開一個(gè)終端仿真程序,執(zhí)行qvfb 命令。在qvfb中選中File Configure,將qvfb設(shè)置成開發(fā)系統(tǒng)的液晶屏的大小。合理設(shè)置MiniGUI的配置文件后,接著就可以運(yùn)行MiniGUI應(yīng)用程序了。

            執(zhí)行應(yīng)用程序順利的話,屏幕上可以看到程序的運(yùn)行界面。至此,MiniGUI已經(jīng)成功到目標(biāo)系統(tǒng)上。此后,我們可以根據(jù)需要,繼續(xù)修改MiniGUI庫函數(shù)及各種資源,并且編寫自己的應(yīng)用程序,使圖形用戶界面更加完善。

            6 結(jié)束語

            隨著嵌入式產(chǎn)品應(yīng)用領(lǐng)域的日益增長(zhǎng),開發(fā)出優(yōu)秀的人機(jī)交互界面,是嵌入式發(fā)展的趨勢(shì),擁有廣闊的市場(chǎng)前景。MiniGUI可以穩(wěn)定可靠的運(yùn)行在系統(tǒng)下,通過上述具體的和后續(xù)的MiniGUI下嵌入式軟件的開發(fā)過程,能快速構(gòu)建一個(gè)嵌入式可視化軟件系統(tǒng),相信這種嵌入式系統(tǒng)將會(huì)得到越來越多的應(yīng)用。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();