SkyEye是一个开源软件(opensource software)项目,中文名字是“天目”。SkyEye的目标是在通用的Linux和Windows平台实现一个仿真集成开发环境,模拟常见的嵌入式计算机系统(目前支持基于arm7tdmi的AT91开发板);可在SkyEye上运行uclinux以及uC/OS-II等多种嵌入式操作系统,并对它们进行源码级的分析和测试。SkyEye的推出具有下面两方面的意义: 首先,通过SkyEye仿真集成环境可以很方便地进入到嵌入式系统软件学习和开发的广阔天地中。尤其对于缺少嵌入式硬件开发环境的用户来说,它将是一个非常有效的学习工具和开发手段。因此,如果您想学习Liunx操作系统或者进行嵌入式系统开发,但苦于没有硬件支持的话,欢迎使用SkyEye仿真环境软件! 1 在linux 下安装skyeye 1.1 从源代码进行安装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 进入解压后的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目录下,有一个执行文件skyeye 注意: 需要指出的是,在mandrake8.2环境中,make 时会有error,不过不是什么大问题,
error:display.c->tcap.h->termcap.h:no such file or directory 在本机/usr/include下find一下,termcap.h头文件在/usr/include/ncurses目录下, 将termcap.h中的<termcap.h>改成<ncurses/termcap.h> 重新执行make就ok了。 执行make install命令后,skyeye默认安装在/usr/local/bin/目录下,你可以通过改configure命令参数prefix来改变安装路径。 1.2 直接安装编译好的skyeye 下载最新的skyeye执行代码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处下载 改变文件属性,并执行: chmod 755 arm-elf-tools-20030314.sh ./arm-elf-tools-20030314.sh
结束后,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
进入解压生成的目录下,编译ucosii for skyeye: cd ucosii4skyeye make config make dep make 结束后,则生成五个sample的执行文件,分别位于ucosii4skyeye/samples/对应的应用名目录下。 3.2 直接下载编译好的cuosii for skyeye 目前最新的版本为ucosii4skyeye-binary-v1.8.tgz 解压文件: tar zxf ucosii4skyeye-binary-v1.8.2.tgz 4 调试 ucosii for skyeye 在一个存在 skyeye.conf和*.elf文件(设为simple_test.elf)的目录下,执行: skyeye simple_test.elf (skyeye) target sim (skyeye) load (skyeye) run 就可以看到程序运行的情况 5 编译并运行uClinux-dist-20020927.tar.gz
运行环境: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/目录下执行如下命令: 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文件 如果想一步生成带调试信息的linux kernel执行文件和linux kenel 执行文件映像和磁盘映像文件romfs.img 可简单是运行命令 make dep make 就行了。可查看/usr/src/uclinux-dist/images/下是否有文件 romfs.img等 在/usr/src/uclinux-dist/linux-2.4.x目录下生成linux的elf格式的内核执行文件 ------------------------------------------------------------------------------------------------------------------------------------------------- 在 uclinux-dist 目录下建立仿真AT91的skyeye配置文件 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 这个时候就可以用skyeye来调试运行kernel了,在/usr/src/uclinux-dist执行如下命令:
skyeye linux-2.4.x/linux (skyeye)target sim (skyeye)load (skyeye)run kernel start..... 注意: 要在 skyeye.conf 所在目录下执行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 可以看到有编译好的skyeye 和编译好的针对各个硬件平台的内核代码执行过程与上面类似
|