最近开始学习linux嵌入式开发,因为以前都是做windows下的开发的,对linux和嵌入式一无所知,经过2周的尝试和在网上找了无数多的资料,昨晚终于把skyeye+uClinux配置成功了,特记下我配置的过程,希望对你有用!!
说下我的系统平台:我用的是在Windows下的VMare+Red Hat Linux9.0(2.4.20-8)
首先下载如下版本的文件(其他的版本没试过):
skyeye:skyeye-0.7.0.tar.bz2 下载地址:http://gro.clinux.org/frs/download.php/714/skyeye-0.7.0.tar.bz2
arm-elf-tools:arm-elf-tools-20030314.sh 下载地址:http://www.lumit.org/download/tools/arm-elf-tools-20030314.sh
uClinux:uClinux-dist-20040408.tar.bz2 下载地址:http://uclinux.org/pub/uClinux/dist/uClinux-dist-20040408.tar.gz
安装步骤:
1、安装arm-elf-tools交叉编译环境:
改变属性为可执行文件:chmod 755 arm-elf-tools-20030314.sh
执行脚本即可完成交叉编译器的安装:./arm-elf-tools-20030314.sh
测试一下,输入 arm-elf-gcc 看看是否能够自动补齐?
[admin@localhost admin]$ arm-elf-gcc -v
Reading specs from /usr/local/lib/gcc-lib/arm-elf/2.95.3/specs
gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)
[admin@localhost admin]$ which arm-elf-gcc
/usr/local/bin/arm-elf-gcc
表明 arm-elf-gcc 已经安装在 /usr/local/bin/ 目录下了
2、安装skyeye:
tar jxvf skyeye-v0.7.0.tar.bz2
进入解压后的skyeye目录,如果SkyEye的版本低于0.6.0,则运行下面的命令:./configure --target=arm-elf --prefix=/usr/local --without-gtk-prefix --without-gtk-exec-prefix --disable-gtktest
如果SkyEye的版本高于0.6.0,则运行下面的命令:./configure --target=arm-elf --prefix=/usr/local
接下来执行:
make
make install
如果一切正常,则在/usr/local/bin目录下,有一个执行文件skyeye
3、编译uClinux:
#tar -zxvf uClinux-dist-20040408.tar.bz2
#cd uClinux-dist
#make menuconfig
选择
Vendor/Product: GDB/ARMulator
Kernel Version: linux-2.4.x
Libc Version: uClibc
保存退出
在 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
lcd: state=on //注意,这一句还没测试过
然后执行:
make dep
make lib_only
make user_only
make romfs
make
make image
4、在skyeye下运行uClinux
这个时候就可以用skyeye来调试运行kernel了,在uclinux-dist执行如下命令:
skyeye linux-2.4.x/linux
(skyeye)target sim
(skyeye)load
(skyeye)run
注意:要在 skyeye.conf 所在目录下执行skyeye。