天天看點

在SkyEye嵌入式模拟平台上運作uClinux

1 SkyEye簡介

SkyEye是一個開源軟體(OpenSource Software)項目,中文名字是“天目”。SkyEye的目标是在通用的Linux和Windows平台實作一個純軟體內建開發環境,模拟常見的嵌入式計算機系統;可在SkyEye上運作uCLinux以及uC/OS-II等多種嵌入式作業系統和各種系統軟體(如 TCP/IP,圖形子系統,檔案子系統等),并可對它們進行源碼級的分析和測試。

詳細介紹參見 http://skyeye.sourceforge.net 。

1.1 安裝SkyEye

比較常見的安裝方法有兩種:

1.1.1 源碼安裝

可從 http://sourceforge.net/projects/skyeye/files/skyeye/skyeye-1.3.0_rc1.tar.gz/download 下載下傳SkyEye最新版本SkyEye-1.3.0_RC1的源碼,下載下傳後執行解壓:

$tar xzvf skyeye-1.3.0_rc1.tar.gz

進入解壓後的目錄skyeye-1.3.0_rc1/,按序執行如下指令:

$./configure

$make lib

$make

$make install 

$make install_lib 

在安裝過程中可能提示缺少一些庫或依賴程式而出錯,按提示安裝上去,重新執行即可。

1.1.2 apt安裝

在ubuntu9.10中,可通過

$sudo apt-get install skyeye

或者新立得直接安裝skyeye-1.2.5。

安裝完成後,在終端執行

$skyeye -h

正常情況下即可出現skyeye的幫助界面,有時會出現如下提示出錯:

skyeye: error while loading shared libraries: libbfd-2.19.90.20090909.so: cannot open shared object file: No such file or directory

此時可以執行如下代碼:

$sudo ln -s /usr/lib/libbfd-2.20.so /usr/lib/libbfd-2.19.90.20090909.so

即建立相應的符号連結進行關聯,再運作skyeye指令即可。

注意:按第一種方法安裝完成的skyeye運作uClinux時可能無法正常啟動系統,具體原因尚未查到,而直接apt安裝的是可以的,推薦後者。

2 安裝交叉編譯器

最初采用下載下傳/arm-elf-tools-XXXXXXXX.sh,直接執行安裝的方法,會提示出錯資訊:

tail: 無法打開 “+43” 讀取資料: 沒有那個檔案或目錄

gunzip: stdin: not in gzip format

網上有很多解決辦法,而我實驗的實際情況是最終還是無法解決第二個出錯提示的問題。

後來在網上去找工具鍊的解壓包arm-elf-tools-20011219.tar.gz(下載下傳連結: http://www.dzres.com/soft/download.asp?softid=1422&downid=9&id=1440 ),下載下傳完成後,将其拷貝到根目錄下,用root執行解壓:

$sudo cp rm-elf-tools-20011219.tar.gz /

$sudo tar xzvf rm-elf-tools-20011219.tar.gz

即完成安裝,執行:

$which arm-elf-gcc

顯示如下資訊即安裝成功。

/usr/local/bin/arm-elf-gcc

3 編譯uClinux核心

從www.uclinux.org網站上下載下傳核心封包件(下載下傳連結: http://www.uclinux.org/ports/coldfire/uClinux-dist-20040408.tar.gz ),并且解壓。

$tar xvzf uClinux-dist-20040408.tar.gz

進入生成的uClinux-dist目錄,執行

$make menuconfig

用菜單模式配置方式來配置uClinux,配置如下:

Vendor/Product: GDB/ARMulator

Kernel Version: linux-2.4.x

Libc Version: uC-libc

儲存退出後,可以使用make dep建立核心依賴關系,然後使用make編譯核心和檔案系統

$make dep

$make

編譯完成後,在uClinux-dist目錄下的images目錄裡會建立如下幾個檔案:

image.bin linux.data linux.text. romfs.img

其中romfs.img就是我們需要的檔案系統映象。

同時,在uClinux-dist/linux-2.4.x/目錄下會生成linux,即核心檔案。

4 運作uClinux

在uClinux-dist目錄下建立一個名為skyeye.conf的配置檔案,内容如下:

cpu: arm7tdmi

mach: at91

mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000

mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000

mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=images/romfs.img

mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000

mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000

mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000

mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000

lcd: state=on

儲存退出。

若skyeye是用apt直接安裝到/usr/bin目錄下的,則在uClinux-dist目錄裡執行,否則要加上絕對路徑或設定環境變量。

$skyeye -c skyeye.conf -e linux-2.4.x/linux

随後,我們就可以看見uClinux的啟動資訊和歡迎界面了。

繼續閱讀