共計(jì) 4408 個(gè)字符,預(yù)計(jì)需要花費(fèi) 12 分鐘才能閱讀完成。
本篇內(nèi)容主要講解“怎么應(yīng)用 Fedora7 嵌入式系統(tǒng)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓丸趣 TV 小編來(lái)帶大家學(xué)習(xí)“怎么應(yīng)用 Fedora7 嵌入式系統(tǒng)”吧!
編譯安裝 miniGUI 1.6.2
首先要做好準(zhǔn)備工作,下載一些壓縮包:
開(kāi)發(fā)庫(kù):libminigui-str-1.6.2.tar.gz
資源文件:minigui-res-str-1.6.tar.gz
示例程序:mg-samples-str-1.6.2.tar.gz
建議在 qvfb 中運(yùn)行 miniGUI 程序,這樣比較方便,qvfb 下載地址:
http://www.minigui.com/downloads/dep-libs/qvfb-1.0.tar.gz
我使用的是 Fedora 7 嵌入式系統(tǒng),所以在其他系統(tǒng)中和這里可能有差異,比如編譯出錯(cuò)等問(wèn)題,這個(gè)和 gcc,glibc 的版本有關(guān)系。遇到問(wèn)題解決問(wèn)題,我也是經(jīng)過(guò)種種困難才編譯成功的,多搜索多思考。
(1)Fedora 7 嵌入式系統(tǒng)安裝 minigui-res-str-1.6.tar.gz:MiniGUI 所使用的資源,包括基本字體、圖標(biāo)、位圖和鼠標(biāo)光標(biāo)。
安裝命令:
[root@Fedora7]#tar -zxf minigui-res-str-1.6.tar.gz
[root@Fedora7]#cd minigui-res-str-1.6
[root@Fedora7]#make install
(2)Fedora 7 嵌入式系統(tǒng)安裝 libminigui-str-1.6.2.tar.gz:MiniGUI 函數(shù)庫(kù)源代碼。
解壓命令:
[root@Fedora7]#tar -zxf libminigui-str-1.6.2.tar.gz
這里有一個(gè) bug,解壓縮后進(jìn)入 libminigui-str-1.6.2/src/kernel 打開(kāi) init.c 文件,
刪除或注釋掉下面這幾行
#ifdef __LINUX__
else {
pthread_kill_other_threads_np ();
}
#endif
保存退出,然后回到 /libminigui-str-1.6.2 目錄接著安裝:
[root@Fedora7]#cd libminigui-str-1.6.2
[root@Fedora7]#./configure
[root@Fedora7]#make
[root@Fedora7]#make install
(3)把 libminigui 加入庫(kù)搜索路徑:
進(jìn)入 /etc/ld.so.conf.d 建一個(gè) minigui.conf,寫(xiě)上 /usr/local/lib
可以使用命令完成:
[root@Fedora7]#echo /usr/local/lib /etc/ld.so.conf.d/minigui.conf
(如果你使用的不是 Fedora 7 嵌入式系統(tǒng)可能沒(méi)有 /etc/ld.so.conf.d 這個(gè)目錄,只有一個(gè) /etc/ld.so.conf,不過(guò)作用是一樣的,在這個(gè)文件末尾加上 /usr/local/lib)
(4)*** 要把系統(tǒng)共享庫(kù)緩存刷新,將 libminigui 加載上,可以使用命令
[root@Fedora7]#ldconfig
這個(gè)命令執(zhí)行時(shí)要花十多秒,耐心等待。當(dāng)然不使用刷新命令重啟系統(tǒng)也可以。
(5)編譯示例程序
解壓并編譯 mg-smaples-str-1.6.2.tar.gz:
[root@Fedora7]#tar –zxf mg-smaples-str-1.6.2.tar.gz
[root@Fedora7]#./configure
[root@Fedora7]#make
配置 minigui
minigui 在 linux 中有兩種運(yùn)行模式:fbcon 和 qvfb
fbcon:Frame Buffer Console
qvfb: Qt Virtual Frame Buffer
看名字就知道 fbcon 在控制臺(tái)下運(yùn)行,這種模式下你不能開(kāi) linux 的 X 圖形界面,使用不方便。fbcon 則是帶幀緩沖的虛擬控制臺(tái),minigui 程序在 qvfb 中運(yùn)行就像我們?cè)趫D形界面下的 Terminal 中運(yùn)行命令一樣。兩種模式我都試過(guò)了,詳細(xì)配置如下:
(1)fbcon 模式
打開(kāi) MiniGUI.cfg
[root@Fedora7]# gedit /usr/local/etc/MiniGUI.cfg
注意這一段:
[system]
# GAL engine
gal_engine=fbcon
# IAL engine
ial_engine=fbcon
mdev=/dev/mouse
mtype=IMPS2
gal_engine 和 ial_engine 的值應(yīng)該設(shè)置為 fbcon,minigui 安裝后默認(rèn)設(shè)置就是這樣,所以你不用改。要注意的就是鼠標(biāo)的設(shè)置,我的 Fedora7 中鼠標(biāo)設(shè)備文件不是這里的 /dev/mouse,而是 /dev/input/mice,所以我建了一個(gè)符號(hào)鏈接到 /dev/mouse
配置文件 MiniGUI.cfg 搞定后需要開(kāi)啟 linux 內(nèi)核的幀緩沖支持,這個(gè)是在引導(dǎo)器中修改,我使用的是現(xiàn)在 *** 的 grub,修改方法:
[root@Fedora7]# vim /boot/grub/menu.lst
在 menu.lst 中加入一個(gè)段落:
title MiniGUI 1.6.2
root(hd0,0)
kernel /vmlinuz-2.6.21-1.3194.fc7 ro root=/dev/VolGroup00/LogVol00 vga=0x0317 fb:on
initrd /initrd-2.6.21-1.3194.fc7.img
這里的 root(hd0,0)以及 kernel,initrd 段需要結(jié)合你自己的系統(tǒng)和分區(qū)情況填寫(xiě),最簡(jiǎn)單的辦法是把你以前的一個(gè) linux 啟動(dòng)項(xiàng)找過(guò)來(lái)對(duì)照著改,kernel 項(xiàng)后面的 vga=0x0317 fb:on 是設(shè)置顯示器分辨率,打開(kāi)幀緩沖。
顯示模式對(duì)照表:
640x480800x6001024x7681280x1024
8 位色 0x301 0x303 0x305 0x307
15 位色 0x310 0x313 0x316 0x319
16 位色 0x311 0x314 0x317 0x31A
24 位色 0x312 0x315 0x318 0x31B
重啟系統(tǒng)在 grub 中選擇 title MiniGUI 1.6.2
登錄后就可以運(yùn)行 mg-smaples-str-1.6.2/src 中的例子了,運(yùn)行一個(gè) helloworld 試試效果,如果沒(méi)有問(wèn)題正常顯示了窗口就說(shuō)明一切 OK 了。
(2)qvfb 模式
把下載回來(lái)的 qvfb-1.0.tar.gz 解壓安裝:
[root@Fedora7]# tar zxf qvfb-1.0.tar.gz
[root@Fedora7]# cd qvfb-1.0
[root@Fedora7]# ./configure
[root@Fedora7]# make
[root@Fedora7]# make install
打開(kāi) MiniGUI.cfg
[root@Fedora7]# gedit /usr/local/etc/MiniGUI.cfg
注意一下段落:
[system]
# GAL engine
gal_engine=qvfb
# IAL engine
ial_engine=qvfb
mdev=/dev/mouse
mtype=IMPS2
[fbcon]
defaultmode=1024×768-16bpp
[qvfb]
defaultmode=640×480-16bpp
display=0
gal_engine 和 ial_engine 的值應(yīng)該設(shè)置為 qvfb,minigui 安裝后默認(rèn)設(shè)置就是 fbcon,所以你要改過(guò)來(lái)。另外要注意 [qvfb] 段中的 defaultmode,這個(gè)是你需要使用的顯示器分辨率和色深,后面設(shè)置 qvfb 要和這里一致,否則 minigui 運(yùn)行時(shí)或報(bào)初始化失敗的錯(cuò)誤。
然后就可以使用 qvfb 體驗(yàn) miniGUI 了:
[root@Fedora7]# qvfb
加上 符號(hào)使 qvfb 進(jìn)程開(kāi)啟后 shell 立即返回,否則會(huì)阻塞 shell 進(jìn)程,需要再開(kāi)一個(gè) shell 才可以運(yùn)行 minigui 程序。qvfb 運(yùn)行起來(lái)后在 qvfb 中設(shè)置虛擬顯示器分辨率:File– Configure,注意 Size 和 Depth 要設(shè)置的同 MiniGUI.cfg 中的分辨率和色深一致。
qvfb 設(shè)置搞定后就可以運(yùn)行 mg-smaples-str-1.6.2/src 中的例子了,運(yùn)行一個(gè) helloworld 試試效果,Good luck!
安裝中文字體
可能是涉及版權(quán)問(wèn)題新的開(kāi)源版 Minigui1.6.2 中沒(méi)有提供種中文字體庫(kù),可以從 minigui-res-1.3.3.tar.gz 中借用過(guò)來(lái)。
解壓 minigui-res-1.3.3.tar.gz 復(fù)制 font 文件夾到 /usr/local/lib/minigui/res/ 覆蓋原來(lái)的 font 文件(*** 還是把之前的備份,改名為 font-bak 以便以后恢復(fù))
修改 MiniGUI.cfg 中部分段落如下:
[systemfont]
font_number=6
font0=rbf-fixed-rrncnn-8-16-ISO8859-1
font1=*-fixed-rrncnn-*-16-GB2312
font2=*-Courier-rrncnn-*-16-GB2312
font3=*-SansSerif-rrncnn-*-16-GB2312
font4=*-Times-rrncnn-*-16-GB2312
font5=*-Helvetica-rrncnn-*-16-GB2312
default=0
wchar_def=1
fixed=1
caption=2
menu=3
control=3
[rawbitmapfonts]
font_number=4
name0=rbf-fixed-rrncnn-8-16-ISO8859-1
fontfile0=/usr/local/lib/minigui/res/font/8×16-iso8859-1.bin
name1=rbf-fixed-rrncnn-16-16-GB2312-0
fontfile1=/usr/local/lib/minigui/res/font/song-16-gb2312.bin
name2=rbf-fixed-rrncnn-6-12-ISO8859-1
fontfile2=/usr/local/lib/minigui/res/font/6×12-iso8859-1.bin
name3=rbf-fixed-rrncnn-12-12-GB2312-0
fontfile3=/usr/local/lib/minigui/res/font/song-12-gb2312.bin
到此,相信大家對(duì)“怎么應(yīng)用 Fedora7 嵌入式系統(tǒng)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是丸趣 TV 網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!