实验了两天,各种各样的错误一堆...今日终于大功告成
我的环境是unubtu 10.04,uClinux-dist-20040408,arm-elf-tools-20040427
先进行基本开发工具的安装
1.sudo apt-get install build-essential gcc make
2.sudo apt-get install libc6 libc6-dev
3.apt-get install libncurses5-dev libreadline5-dev libglib2.0-dev libdbus-glib-1-dev libqt4-dev libqt3-mt-dev
4.sudo apt-get install ncurses-dev
然后安装arm-elf-tools-20040427.sh
输入命令arm-elf-gcc -v 得到gcc version 2.95.3 说明安装成功OK了.
将uClinux-dist-20040408解压到/usr/src
执行#make menuconfig
选择如下:
--- Select the Vendor you wish to target
(GDB) Vendor
--- Select the Product you wish to target
(ARMulator) GDB Products
(linux-2.4.x) Kernel Version
(uClibc) Libc Version
[ ] Default all settings (lose changes)
[ ] Customize Kernel Settings
[ ] Customize Vendor/User Settings
[ ] Update Default Vendor Settings
然后Esc退出
Do you wish to save your new kernel configuration?
< Yes > < No >
选择yes
然后
#make dep
#make
生成了images目录里有这些文件
image.bin linux.data linux.text romfs.img
然后就可以在skyeye里运行了
编写skyeye的配置文件,新建文件skyeye.conf,
arch:arm
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
#net: type=rtl8019, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1
uart: mod=term
#dbct: state=on
完成这一步就可以在skyeye中运行我们编译的内核了
#skyeye -e linux-2.4.x/linux
(skyeye)start
(skyeye)run