环境:MagicLinux1.2jciLinux联盟 jciLinux联盟 1.安装skyeyejciLinux联盟 将skyeye-insight.0.8.7.bin拷贝的根目录,然后解压即可jciLinux联盟 解压后可执行文件在/usr/local/skyeye-insight/bin中jciLinux联盟 2.安装arm交叉编译器 jciLinux联盟 将arm-elf-tools-20011219.tar.gz在本机的根目录下用tar命令解开,jciLinux联盟 然后运行文件arm-elf-tools-20030314.sh;jciLinux联盟 则相关软件安装在/usr/local/bin和/usr/local/arm-elf目录下。jciLinux联盟 ================================================================jciLinux联盟 3.编译uclinuxjciLinux联盟 (1)将uClinux-dist-20020927.tar.gz拷贝到根目录解开,比如解开在/uClinux-dist/下,jciLinux联盟 (2)然后在/uclinux-dist/目录下执行如下命令:jciLinux联盟 在图形方式下可用命令 make xconfig 或 在命令行方式下可用命令 make menuconfigjciLinux联盟 在vendor/product中选择GDB/ARMulator,kernel版本选择2.4,save and exit.jciLinux联盟 (3)运行如下命令:jciLinux联盟 make dep;make linux 这时在/uClinux-dist/linux-2.4.x目录下生成linux文件jciLinux联盟 (4)如果想一步生成带调试信息的linux kernel执行文件和linux kenel 执行文件映像和磁盘映像文件romfs.imgjciLinux联盟 可简单是运行命令 make dep; make 就行了。可查看/uClinux-dist/images/下是否有文件 romfs.img等jciLinux联盟 (5)在目录/uClinux-dist下执行命令jciLinux联盟 ln images/romfs.img boot.romjciLinux联盟 (6)将文件skyeye.conf拷贝到/uClinux-dist下jciLinux联盟 =================================================================jciLinux联盟 4.用skyeye来调试运行uclinux,在/uClinux-dist:jciLinux联盟 skyeye linux-2.4.x/linux (经测试此处必须写skyeye所在的完整路径,将skyeye所在路径加入path或者用bash脚本都不行)jciLinux联盟 (gdb)target simjciLinux联盟 (gdb)loadjciLinux联盟 (gdb)runjciLinux联盟 kernel start.....jciLinux联盟 ===============================================================jciLinux联盟 5.在uclinux上运行自己写的程序:jciLinux联盟 (1)先写一个小程序hello.c jciLinux联盟 #i nclude <stdio.h>jciLinux联盟 int main(void) jciLinux联盟 { jciLinux联盟 int i;jciLinux联盟 for(i = 0; i < 6; i++)jciLinux联盟 {jciLinux联盟 printf("i = %d ",i);jciLinux联盟 printf("Hello, embedded linux!\n"); jciLinux联盟 }jciLinux联盟 return 0; jciLinux联盟 } jciLinux联盟 然后执行:jciLinux联盟 arm-elf-gcc -Wl,-elf2flt -o hello hello.c jciLinux联盟 -elf2flt参数是将elf文件格式转为flat文件格式,这个工具是在你安装交叉编译器产生的。 jciLinux联盟 如果编译通过,就会产生hello可执行文件。用下面的命令: file hellojciLinux联盟 你会发现,它是BFLT(binary FLAT),你目标平台所支持的文件格式。 jciLinux联盟 ------------------------------------------------------------------jciLinux联盟 (2)执行你的hello程序jciLinux联盟 这里,将借助genromfs这个小工具来完成测试,这个工具就是在安装交叉编译器时产生的,可以直接使用它。 jciLinux联盟 把编译好的可执行程序hello拷贝到/linux-dist/romfs/bin目录里,jciLinux联盟 genromfs -f boot.rom -d romfs/(如果没有这一步运行uclinux后将不能在/bin下找到hello程序;并且要在/uClinux-dist目录下执行)jciLinux联盟 注:可以用genromf -h来获得帮助!jciLinux联盟 执行下面的命令:jciLinux联盟 skyeye linuxjciLinux联盟 (skyeye)target simjciLinux联盟 (skyeye)loadjciLinux联盟 (skyeye)runjciLinux联盟 kernel start.....jciLinux联盟 cd /binjciLinux联盟 hellojciLinux联盟 可以看到结果了吗?其实到了这一步,你就可以开发自己的程序了! jciLinux联盟
|