基于ARM-Linux的MiniGUI的仿真與移植-基礎(chǔ)電子_第1頁
基于ARM-Linux的MiniGUI的仿真與移植-基礎(chǔ)電子_第2頁
基于ARM-Linux的MiniGUI的仿真與移植-基礎(chǔ)電子_第3頁
基于ARM-Linux的MiniGUI的仿真與移植-基礎(chǔ)電子_第4頁
基于ARM-Linux的MiniGUI的仿真與移植-基礎(chǔ)電子_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

1MiniGUI的特點(diǎn)和體系結(jié)構(gòu)

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

1.1MiniGUI的特點(diǎn)

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

(2)高性能、高可靠性:MiniGUI良好的體系結(jié)構(gòu)及優(yōu)化的圖形接口,可確??斓膱D形繪制速度。

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

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

1.2MiniGUI的體系結(jié)構(gòu)

從整體結(jié)構(gòu)上看,MiniGUI采用的是分層設(shè)計(jì)的,結(jié)構(gòu)如圖1所示。

圖2MiniGUI在QVFB上的仿真

3MiniGUI在S3C2410上的移植

3.1安裝MiniGUI資源文件

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

3.2配置安裝MiniGUI庫文件

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

3.3MiniGUI的移植

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

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

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

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

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

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

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

4結(jié)束語

本文將MiniGUI-1.3.3版本在ARM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論