基于ARM-Linux的MiniGUI的仿真與移植
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庫(kù)文件
在編譯MiniGUI的庫(kù)文件libminigui-1.3.3之前,首先要正確安裝了交叉編譯器,即armv41-unknow-linux系列的交叉編譯器。使用交叉編譯器可以把libminigui-1.3.3庫(kù)文件編譯成一個(gè)動(dòng)態(tài)鏈接庫(kù),通過調(diào)用該動(dòng)態(tài)鏈接庫(kù),可以正確運(yùn)行MiniGUI的應(yīng)用程序。在/opt/target/libminigui-1.3.3下,輸入命令makemenuconfig進(jìn)行配置。當(dāng)配置完成后,保存退出。然后輸入make和makeinstall,這樣就將交叉編譯后的MiniGUI庫(kù)文件安裝在/opt/host/armv41/armv41Cunknown-linux/lib目錄下,分別是libminigui-1.3.so.3.0.0和libmgext-1.3.so.3.0.0。同時(shí),還有指向這些庫(kù)的符號(hào)鏈接,指向庫(kù)文件libminigui-1.3.so.3.0.0的符號(hào)鏈接是libminigui-1.3.so.3和libminigui.so,指向庫(kù)文件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-unknownClinux/etc/中還有一個(gè)minigui.cfg的配置文件。
3.3MiniGUI的移植
將MiniGUI成功移植到S3C2410目標(biāo)板上,一般要經(jīng)過以下幾個(gè)過程:
(1)把MiniGUI庫(kù)文件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),用mkdirCp/opt/host/armv41/armv41-unknown-linux/命令創(chuàng)建一個(gè)目錄,然后使用命令lnCs/lib/opt/host/armv41/armv41-unknown-linux/lib創(chuàng)建符號(hào)鏈接,上述命令確保系統(tǒng)能夠找到正確的動(dòng)態(tài)鏈接庫(kù)。
(4)修改/opt/host/armv41/armv41CunknownClinux/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é)束語(yǔ)
本文將MiniGUI-1.3.3版本在ARM-Linux環(huán)境下,首先在QVFB中進(jìn)行了仿真應(yīng)用,同時(shí)經(jīng)過交叉編譯后成功的移植到了S3C2410開發(fā)板的硬件平臺(tái)上,試驗(yàn)結(jié)果表明能夠穩(wěn)定可靠的運(yùn)行,為后續(xù)基于圖形用戶界面程序的實(shí)際項(xiàng)目的開發(fā)與應(yīng)用打下了基礎(chǔ)。隨著嵌入式產(chǎn)品應(yīng)用領(lǐng)域的日益增長(zhǎng),基于MiniGUI開發(fā)出良好的人機(jī)交互界面,是嵌入式發(fā)展的趨勢(shì),同時(shí)也擁有廣闊的市場(chǎng)前景。 linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
4結(jié)束語(yǔ)
本文將MiniGUI-1.3.3版本在ARM-Linux環(huán)境下,首先在QVFB中進(jìn)行了仿真應(yīng)用,同時(shí)經(jīng)過交叉編譯后成功的移植到了S3C2410開發(fā)板的硬件平臺(tái)上,試驗(yàn)結(jié)果表明能夠穩(wěn)定可靠的運(yùn)行,為后續(xù)基于圖形用戶界面程序的實(shí)際項(xiàng)目的開發(fā)與應(yīng)用打下了基礎(chǔ)。隨著嵌入式產(chǎn)品應(yīng)用領(lǐng)域的日益增長(zhǎng),基于MiniGUI開發(fā)出良好的人機(jī)交互界面,是嵌入式發(fā)展的趨勢(shì),同時(shí)也擁有廣闊的市場(chǎng)前景。 linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論