skyeye试验环境搭建

来源:互联网 发布:火影忍者特效ps软件 编辑:程序博客网 时间:2024/05/16 06:41

环境:MagicLinux1.2
=================================================================

1.安装skyeye

将skyeye-insight.0.8.7.bin拷贝的根目录,然后解压即可

解压后可执行文件在/usr/local/skyeye-insight/bin中

===================================================================
2.安装arm交叉编译器

将arm-elf-tools-20011219.tar.gz在本机的根目录下用tar命令解开,

然后运行文件arm-elf-tools-20030314.sh;

则相关软件安装在/usr/local/bin和/usr/local/arm-elf目录下。

================================================================
3.编译uclinux

(1)将uClinux-dist-20020927.tar.gz拷贝到根目录解开,比如解开在/uClinux-dist/下,

(2)然后在/uclinux-dist/目录下执行如下命令:

在图形方式下可用命令 make xconfig 或 在命令行方式下可用命令 make menuconfig

在vendor/product中选择GDB/ARMulator,kernel版本选择2.4,save and exit.

(3)运行如下命令:

   make dep;make linux  这时在/uClinux-dist/linux-2.4.x目录下生成linux文件

(4)如果想一步生成带调试信息的linux kernel执行文件和linux kenel 执行文件映像和磁盘映像文件romfs.img

可简单是运行命令 make dep; make 就行了。可查看/uClinux-dist/images/下是否有文件 romfs.img等

(5)在目录/uClinux-dist下执行命令

   ln  images/romfs.img boot.rom

(6)将文件skyeye.conf拷贝到/uClinux-dist下

=================================================================
4.用skyeye来调试运行uclinux,在/uClinux-dist:

skyeye linux-2.4.x/linux (经测试此处必须写skyeye所在的完整路径,将skyeye所在路径加入path或者用bash脚本都不行)

(gdb)target sim

(gdb)load

(gdb)run

kernel start.....

===============================================================

5.在uclinux上运行自己写的程序:

(1)先写一个小程序hello.c
#i nclude <stdio.h>
int main(void)
{
    int i;
    for(i = 0; i < 6; i++)
    {
         printf("i = %d ",i);
         printf("Hello, embedded linux!/n");
    }
    return 0;
}
然后执行:
 arm-elf-gcc -Wl,-elf2flt -o hello hello.c

-elf2flt参数是将elf文件格式转为flat文件格式,这个工具是在你安装交叉编译器产生的。

如果编译通过,就会产生hello可执行文件。用下面的命令: file hello

你会发现,它是BFLT(binary FLAT),你目标平台所支持的文件格式。

------------------------------------------------------------------

(2)执行你的hello程序

这里,将借助genromfs这个小工具来完成测试,这个工具就是在安装交叉编译器时产生的,可以直接使用它。

把编译好的可执行程序hello拷贝到/linux-dist/romfs/bin目录里,

genromfs -f boot.rom -d romfs/(如果没有这一步运行uclinux后将不能在/bin下找到hello程序;并且要在/uClinux-dist目录下执行)

注:可以用genromf -h来获得帮助!

执行下面的命令:

skyeye linux
(skyeye)target sim
(skyeye)load
(skyeye)run
kernel start.....

cd /bin
hello
可以看到结果了吗?其实到了这一步,你就可以开发自己的程序了!