日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]近幾年,隨著嵌入式系統(tǒng)的日益發(fā)展和32位嵌入式處理器以及圖形顯示設備的廣泛應用,目標產(chǎn)品對GUI(圖形用戶界面)的需求越來越多。由于嵌入式系統(tǒng)一般實時性要求很高,所以嵌

近幾年,隨著嵌入式系統(tǒng)的日益發(fā)展和32位嵌入式處理器以及圖形顯示設備的廣泛應用,目標產(chǎn)品對GUI(圖形用戶界面)的需求越來越多。由于嵌入式系統(tǒng)一般實時性要求很高,所以嵌入式系統(tǒng)下的GUI需要具有輕量級型、占用資源少、高性能等特點。此外,嵌入式系統(tǒng)往往是一種定制設備,它對GUI的需求各不相同,因此,GUI必須也可以定制。而MiniGUI是一個非常適合實時嵌入式產(chǎn)品的高效、可靠、可定制、小巧靈活的圖形用戶界面支持系統(tǒng),被廣泛的應用于高端科技產(chǎn)品中。利用MiniGUI開發(fā)出良好的人機交互界面已成為嵌入式開發(fā)中的迫切需求。本文實現(xiàn)了在ARM-Linux環(huán)境下進行基于QVFB的MiniGUI的模擬開發(fā)、調試,通過在PC機上的仿真模擬,將應用程序完成之后,利用交叉編譯工具編譯產(chǎn)生在目標機上運行的代碼,然后把MiniGUI和可執(zhí)行應用程序移植到S3C2410目標板上,這樣既節(jié)省了開發(fā)時間,又提高了開發(fā)效率和質量。

1 MiniGUI的特點和體系結構

MiniGUI項目的最初目標是為基于Linux的實時嵌入式操作系統(tǒng)提供一個輕量級的圖像用戶界面支持系統(tǒng)。作為操作系統(tǒng)和應用程序之間的中間件,MiniGUI將底層操作系統(tǒng)與硬件平臺之間的差別隱藏起來,并對上層應用程序提供了一致的功能特性。

1.1MiniGUI的特點

(1)占用資源少:MiniGUI本身占用的空間非常小,整個MiniGUI系統(tǒng)占用空間在2~4MB,在某些系統(tǒng)上,MiniGUI系統(tǒng)本身所占用的空間可進一步縮小到1MB以內。

(2)高性能、高可靠性:MiniGUI良好的體系結構及優(yōu)化的圖形接口,可確保最快的圖形繪制速度。

(3)可定制配置:和Linux內核類似,MiniGUI也具有大量的編譯配置選項,通過這些選項可指定MiniGUI庫中包括哪些用戶所需要的功能。

(4)跨操作系統(tǒng)支持:MiniGUI支持Linux/uClinux、eCos、uC/OS-II、VxWorks等嵌入式操作系統(tǒng)。同時,在不同操作系統(tǒng)上的MiniGUI,提供完全兼容的API接口。

1.2MiniGUI的體系結構

從整體結構上看,MiniGUI采用的是分層設計的,結構如圖1所示。

 


圖1 MiniGUI的分層體系結構

在最底層,GAL(圖形抽象層)和IAL(輸入抽象層)及鼠標和鍵盤的驅動;中間層是MiniGUI的核心層,包括窗口系統(tǒng)必不可少的各個模塊;最頂層是API,即編程接口。GAL和IAL為MiniGUI提供了底層的Linux控制臺或者X-Window上的圖形接口以及輸入接口,而Pthread用于提供內核級線程支持的C函數(shù)庫。利用GAL和IAL,大大提高了MiniGUI的可移植性,并且使程序開發(fā)和調試變得更加容易。

2 MiniGUI在QVFB上的仿真應用

MiniGUI能夠在PC機上運行,也能夠移植到目標板上運行。在運行Linux的PC機上,MiniGUI應用程序可以通過以下兩種方式運行:

(1)在X-Window上,在虛擬Frame Buffer的QVFB中運行;

(2) 在Linux的字符控制臺上,在Linux內核提供的FrameBuffer驅動上運行;

這里主要介紹MiniGUI在QVFB中的仿真運行。QVFB是Qt(Qt是Linux窗口管理器KDE使用的底層函數(shù)庫)提供的一個虛擬FrameBuffer工具,該程序是基于Qt開發(fā)的。

2.1 建立MiniGUI在Linux上的運行環(huán)境

在Linux環(huán)境下,將已經(jīng)下載好的壓縮安裝文件qvfb-1.0.tar.gz復制到/opt目錄下,在該目錄下解壓,利用 make install命令把QVFB安裝到系統(tǒng)默認的/usr/local/bin目錄下。在X-Window環(huán)境下,打開終端,鍵入 qvfb&命令,啟動QVFB模擬程序。接下來對QVFB的運行環(huán)境進行配置,這里配置為640×480,Depth為16bit。QVFB提供了一種軟件的方法,通過這種方法,可以看到自己的圖像應用程序在PC上運行的效果。它能模擬不同的分辨率及顯示的顏色數(shù),因此可以模擬目標機上的嵌入式顯示屏,從而大大方便了應用程序的開發(fā)與調試。

2.2 安裝資源文件和配置MiniGUI的庫文件

在Linux環(huán)境下,將已下載好的壓縮資源文件

minigui-res-1.3.3.tar.gz(該文件包含字體、光標、圖標、位圖等資源)復制到/opt/emulation目錄下(emulation目錄為新創(chuàng)建的目錄),然后運行./configure腳本成功通過,就可以執(zhí)行make和make install命令,將資源文件安裝到系統(tǒng)默認的/usr/local/lib/minigui/res目錄中。將下載好的壓縮庫文件libminigui-1.3.3.tar.gz復制到/opt/emulation目錄下,輸入解壓縮命令然后進入解壓后的目錄,在該目錄下輸入make menuconfig,啟動圖像界面的配置工具,當配置完成后,輸入make對庫文件進行重新編譯,如果編譯成功,輸入 make install命令,將MiniGUI庫安裝到默認的/usr /local/lib/目錄下。接下來,查看文件 /etc /ld.so.conf,如果文件中沒有/usr/local/lib這一行,將該行添加到文件的最后,然后執(zhí)行l(wèi)dconfig。

2.3 MiniGUI在QVFB上的仿真

將已下載的mg-samples-1.3.1和mde -1.3.0.tar.gz復制到/opt/emlation/目錄下,在終端下進入該目錄,依次執(zhí)行./configure和make命令,將這些示例程序編譯成能夠在QVFB上可執(zhí)行的程序。首先修改/usr/local /etc目錄下的配置文件MiniGUI.cfg,將gal_engine=fbcon改為 gal_engine=qvfb,ial_engine=console改為ial_engine=qvfb。然后使用qvfb&命令啟動 qvfb,運行/opt /emulation /mg-samples/src目錄中的可執(zhí)行程序,如bomb,即可看到運行在QVFB內的 MiniGUI程序,如圖2所示:

 


圖2 MiniGUI在QVFB上的仿真

3 MiniGUI在S3C2410上的移植

3.1安裝MiniGUI資源文件

在PC機的/opt目錄下創(chuàng)建target目錄,將資源文件minigui-res- 1.3.3.tar.gz復制到/opt/target目錄下進行解壓,編輯/opt/target /minigui-res-1.3.3目錄下的 config.linux文件,將“TOPDIR=”改為“TOPDIR= /opt /target/minigui”,保存退出。然后輸入 make install將資源文件安裝在/opt/target /minigui /usr/local/lib/minigui/res目錄下。同時把/opt/target/minigui/usr/local/lib目錄下的minigui目錄復制到需要制作的文件系統(tǒng)的文件夾中。[!--empirenews.page--]

3.2 配置安裝MiniGUI庫文件

在編譯MiniGUI的庫文件libminigui -1.3.3之前,首先要正確安裝了交叉編譯器,即armv41-unknow-linux系列的交叉編譯器。使用交叉編譯器可以把libminigui-1.3.3庫文件編譯成一個動態(tài)鏈接庫,通過調用該動態(tài)鏈接庫,可以正確運行MiniGUI的應用程序。在/opt/target /libminigui-1.3.3下,輸入命令 make menuconfig進行配置。當配置完成后,保存退出。然后輸入make和make install,這樣就將交叉編譯后的MiniGUI庫文件安裝在/opt/host/armv41/armv41–unkn own-linux/lib目錄下,分別是libminigui- 1. 3.so.3.0.0和libmgext -1.3.so.3.0.0。同時,還有指向這些庫的符號鏈接,指向庫文件libminigui- 1.3.so.3.0.0的符號鏈接是libminigui -1.3.so.3和libminigui.so,指向庫文件libmgext- 1.3.so.3.0.0符號鏈接是libgext -1.3.so.3和lib-mgext.so。MiniGUI所使用的頭文件安裝在/opt /host/armv41/armv41 -unknown-linux/include/minigui文件夾內。同時在/opt/host /armv41/armv41-unknown– linux/etc/中還有一個minigui.cfg的配置文件。

3.3 MiniGUI的移植

將MiniGUI成功移植到S3C2410目標板上,一般要經(jīng)過以下幾個過程:

(1) 把MiniGUI庫文件libminigui-1.3. so.3.0.0和libgext -1.3.so.3.0.0,以及它們的符號鏈接文件,一同復制到要制作成cramfs文件系統(tǒng)的目錄root_tech中的/lib下。

(2) 把/opt/target/minigui/usr/local/lib下的minigui目錄復制到要制作cramfs文件系統(tǒng)的目錄中,比如放到該目錄的/usr/sbin/下。當嵌入式系統(tǒng)運行時,應用程序在該minigui目錄下調用相關的資源文件。

(3) 在root_tech文件夾內,用mkdir –p /opt/host/armv41/armv41-unknown-linux/ 命令創(chuàng)建一個目錄,然后使用命令ln –s /lib /opt/host/armv41/armv41-unknown-linux/lib創(chuàng)建符號鏈接,上述命令確保系統(tǒng)能夠找到正確的動態(tài)鏈接庫。

(4) 修改/opt/host/armv41/armv41–un known–linux/etc目錄下的MiniGUI.cfg文件,把存放資源的路徑改為root_tech目錄下對應的路徑,從而使應用程序能夠找到它使用的資源文件。例如,在PC機上的存放路徑為/usr/local/lib,那么在root_tech目錄下,如果把MiniGUI資源目錄放到了/usr/sbin下,則MiniGUI.cfg文件中的路徑必須由/usr /local/lib改為/usr/sbin/,同時還要將“ial_engine=console”改為“ial_engine =ads”。另外,將 [fbcon]下的“defaultmode =1024×768-16 bpp”改為“defaultmode =640×480-16 bpp”。將修改后的MiniGUI.cfg文件要放到root_tech目錄的/mnt/etc目錄下。

(5) 最后,把準備好的root_tech文件夾,利用mkcramfs命令生成cramfs文件系統(tǒng),利用NFS網(wǎng)絡文件系統(tǒng)將生成的文件系統(tǒng)移植到S3C2410中。然后從minicom下進入可執(zhí)行文件所在的目錄/usr/sbin,可執(zhí)行程序bomb在S3C2410目標板上運行的結果如下圖 3所示:

 


圖3 MiniGUI在S3C2410開發(fā)板上運行

4結束語

本文將MiniGUI-1.3.3版本在ARM - Linux環(huán)境下,首先在QVFB中進行了仿真應用,同時經(jīng)過交叉編譯后成功的移植到了S3C2410開發(fā)板的硬件平臺上,試驗結果表明能夠穩(wěn)定可靠的運行,為后續(xù)基于圖形用戶界面程序的實際項目的開發(fā)與應用打下了基礎。隨著嵌入式產(chǎn)品應用領域的日益增長,基于MiniGUI開發(fā)出良好的人機交互界面,是嵌入式發(fā)展的趨勢,同時也擁有廣闊的市場前景。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉