嵌入式開發(fā)學(xué)習(xí):ARM硬件仿真軟件SkyEye使用簡介
SkyEye是一個開源軟件(opensource software)項(xiàng)目,中文名字是“天目”。SkyEye的目標(biāo)是在通用的Linux和Windows平臺實(shí)現(xiàn)一個仿真集成開發(fā)環(huán)境,模擬常見的嵌入式計算機(jī)系統(tǒng)(目前支持基于arm7tdmi的AT91開發(fā)板);可在SkyEye上運(yùn)行uclinux以及uC/OS-II等多種嵌入式操作系統(tǒng),并對它們進(jìn)行源碼級的分析和測試。SkyEye的推出具有下面兩方面的意義:
首先,通過SkyEye仿真集成環(huán)境可以很方便地進(jìn)入到嵌入式系統(tǒng)軟件學(xué)習(xí)和開發(fā)的廣闊天地中。尤其對于缺少嵌入式硬件開發(fā)環(huán)境的用戶來說,它將是一個非常有效的學(xué)習(xí)工具和開發(fā)手段。因此,如果您想學(xué)習(xí)Liunx操作系統(tǒng)或者進(jìn)行嵌入式系統(tǒng)開發(fā),但苦于沒有硬件支持的話,歡迎使用SkyEye仿真環(huán)境軟件!
1 在linux 下安裝skyeye
1.1 從源代碼進(jìn)行安裝skyeye
下載最新的skyeye-v0.x.x.tar.bz2源碼包,目前最新的為skyeye-v0.4.7.tar.bz2
解開skyeye-v0.x.x.tar.bz2 :
tar jxf skyeye-v0.x.x.tar.bz2
進(jìn)入解壓后的skyeye目錄,按照SkyEye.README介紹的步驟做configure,make,make install
cd skyeye
./configure --target=arm-elf --prefix=/usr/local --without-gtk-prefix --without-gtk-exec-prefix --disable-gtktest
make
make install
如果一切正常,則在/usr/local/bin目錄下,有一個執(zhí)行文件skyeye
注意:
需要指出的是,在mandrake8.2環(huán)境中,make 時會有error,不過不是什么大問題,
error:display.c->tcap.h->termcap.h:no such file or directory
在本機(jī)/usr/include下find一下,termcap.h頭文件在/usr/include/ncurses目錄下,
將termcap.h中的改成
重新執(zhí)行make就ok了。
執(zhí)行make install命令后,skyeye默認(rèn)安裝在/usr/local/bin/目錄下,你可以通過改configure命令參數(shù)prefix來改變安裝路徑。
1.2 直接安裝編譯好的skyeye
下載最新的skyeye執(zhí)行代碼skyeye-0.x.x-redhat9.0.bin (目前只提供了在redhat9下編譯好的代碼),目前最新的版本為 skyeye-0.4.7-redhat9.0.bin
把下載的skyeye-0.4.7-redhat9.0.bin 移動到/usr/local/bin下,并改名為skyeye,改變skyeye的屬性:
mv skyeye-0.4.7-redhat9.0.bin /usr/local/bin/skyeye
chmod 755 /usr/local/bin/skyeye
2 安裝arm-elf交叉編譯器 (用于編譯ucosii4skyeye 和 uclinux4skyeye)
下載arm-elf-tools-20030314.sh 位于 ftp://166.111.68.183/pub/embed/uclinux/soft/tools/arm目錄下,或到www.uclinux.org處下載
改變文件屬性,并執(zhí)行:
chmod 755 arm-elf-tools-20030314.sh
./arm-elf-tools-20030314.sh
結(jié)束后,arm-elf-gcc/gdb....工具會安裝到/usr/local/bin下
3 安裝 ucosii for skyeye
3.1 從源碼安裝
下載ucosii for skyeye源代碼,目前的最新版本源代碼為ucosii4skyeye-v1.8.2.tgz
解壓文件:
tar zxf ucosii4skyeye-vx.x.x.tgz
進(jìn)入解壓生成的目錄下,編譯ucosii for skyeye:
cd ucosii4skyeye
make config
make dep
make
結(jié)束后,則生成五個sample的執(zhí)行文件,分別位于ucosii4skyeye/samples/對應(yīng)的應(yīng)用名目錄下。
3.2 直接下載編譯好的cuosii for skyeye
目前最新的版本為ucosii4skyeye-binary-v1.8.tgz
解壓文件:
tar zxf ucosii4skyeye-binary-v1.8.2.tgz
4 調(diào)試 ucosii for skyeye
在一個存在 skyeye.conf和*.elf文件(設(shè)為simple_test.elf)的目錄下,執(zhí)行:
skyeye simple_test.elf
(skyeye) target sim
(skyeye) load
(skyeye) run
就可以看到程序運(yùn)行的情況
5 編譯并運(yùn)行uClinux-dist-20020927.tar.gz
運(yùn)行環(huán)境:redhat9
前提:安裝了 arm-elf-tools工具
以uClinux-dist-20020927.tar.gz為例。位于 ftp://166.111.68.183/pub/embed/uclinux/soft/目錄下,或到www.uclinux.org處下載
將uClinux-dist-20020927.tar.gz下載并解開,比如解開在/usr/src/uclinux-dist/下,然后在/usr/src/uclinux-dist/目錄下執(zhí)行如下命令:
tar zxf uClinux-dist-20020927.tar.gz
cd uClinux-dist
在圖形方式下可用命令 make xconfig 或 在命令行方式下可用命令 make menuconfig
在vendor/product中選擇GDB/armulator,kernel版本選擇2.4,save and exit.
這時在/usr/src/uclinux-dist/linux-2.4.x目錄下生成linux文件
如果想一步生成帶調(diào)試信息的linux kernel執(zhí)行文件和linux kenel 執(zhí)行文件映像和磁盤映像文件romfs.img
可簡單是運(yùn)行命令
make dep
make
就行了。可查看/usr/src/uclinux-dist/images/下是否有文件 romfs.img等
在/usr/src/uclinux-dist/linux-2.4.x目錄下生成linux的elf格式的內(nèi)核執(zhí)行文件
-------------------------------------------------------------------------------------------------------------------------------------------------
在 uclinux-dist 目錄下建立仿真AT91的skyeye配置文件 skyeye.conf,內(nèi)容如下:
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[!--empirenews.page--]
這個時候就可以用skyeye來調(diào)試運(yùn)行kernel了,在/usr/src/uclinux-dist執(zhí)行如下命令:
skyeye linux-2.4.x/linux
(skyeye)target sim
(skyeye)load
(skyeye)run
kernel start.....
注意:
要在 skyeye.conf 所在目錄下執(zhí)行skyeye。
6 下載測試軟件集合
目前最新版本的測試軟件集合為:
skyeye-binary-testsuits-in-rh9-2003-09-21.tar.bz2
到 ftp:/166.111.68.183/pub/embed/skyeye/binary/下載
解壓并測試:
tar jxf skyeye-binary-testsuits-in-rh9-2003-09-21.tar.bz2
cd test