感谢JELLYCN的帮助以及参照网上的帖子,UCLINUX终于可以在SKYEYE上运行了 :-) ,以后的路还很长,

。总结一下这几天的心得,贴上来共大家分享。高手就不用看了。
琢磨SKYEYE已有一个礼拜了,今天早上终于可以在SKYEYE上运行出UCLINUX初始画面;小有成就感,呵呵:) 总结一下这几天的心得:
1.在REDHAT9.0上安装SKYEYE:
我开始在网上下载SKYEYE的源代码进行编译和安装,不成功:(
干脆直接下载编译好的SKYEYE(SKYEYE-0.4.7-RH9.0.BIN),移动到/USR/LOCAL/BIN下,并改名为SKYEYE,改变SKYEYE的使用权限:
MV SKYEYE-0.4.7-RH9.0.BIN /USR/LOCAL/BIN/SKYEYE
CHMOD 755 /USR/LOCAL/BIN/SKYEYE
2.安装ARM-ELF交叉编译器(用于编译UCOSII4SKYEYE和UCLINUX4SKYEYE):
下载ARM-ELF-TOOLS-20030314.SH,改变权限并执行:
CHMOD 755 ARM-ELF-TOOLS-20030314.SH
./ARM-ELF-TOOLS-20030314.SH 结束后,ARM-ELF-GCC/GDB....工具会安装到/USR/LOCAL/BIN下。
3.安装 UCOSII FOR SKYEYE:
下载UCOSII4SKYEYE-1.9.3.TAR.GZ,解压TAR -ZVXF UCOSII4SKYEYE-1.9.3.TAR.GZ 进入解压后的目录,制定编译器:
export CROSS_COMPILE="/USR/LOCAL/BIN/ARM-ELF-"
修改LIB/SKYEYE_PRINTF.C文件(使用VI编辑器来做):
加入:
static int isdigit(char ch)
{ if (ch>='0'&&ch<='9')
return 1;
return 0;
}
然后吧该文件中的“#include”这行注释掉,保存并退出。
cd ucosii4skyeye/samples/ucos_test
make cleanall
make config
make
make test
执行这步后会生成很多文件,包括ucos_test.elf文件。 执行/usr/local/bin/skyeye/skyeye后出现SKYEYE 调试画面,进入SKYEYE后:
target sim
load ucos_test.elf
run
it's ok!
4.运行最简单的应用程序HELLO4SKYEYE.TGZ:
解压:TAR -ZXVF HELLO4SKYEYE.TGZ,进入生成的目录:
CD HELLO4SKYEYE, MAKE后,启动SKYEYE:/USR/LOCAL/BIN/SKYEYE/SKYEYE,
TARGET SIM,
LOAD HELLO,
RUN。 如果改变HELLO.C中的内容后(VI编辑器),然后MAKE HELLO才能最终改变输出结果。
5.安装UCLINUX:
下载UCLINUX-DIST-20020927.TAR.GZ(我第一次用2005版的,运行到最后不能执行,改用2002版的??), 解压TAR ZXF UCLINUX-DIST-20020927.TAR.GZ
CD UCLINUX-DIST
在命令行方式下执行 MAKE MENUCONFIG(我的LINUX不能执行MAKE XCONFIG ??),在VENDOR/PRODUCT中选择GDB/ARMULATOR,KERNEL版本选择2.4,SAVE AND EXIT。
MAKE DEP
MAKE
在/USR/LOCAL/SKYEYE/UCLINUXSOURCE/UCLINUX-DIST/IMAGES/下生成文件ROMFS.IMG,在/USR/LOCAL/SKYEYE/UCLINUXSOURCE/UCLINUX-DIST/LINUX-2.4.X下生成一个LINUX文件(没有后缀名??)。
在/USR/LOCAL/SKYEYE/UCLINUXSOURCE/UCLINUX-DIST/下新建一个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
net:state=on,mac=0:4:3:2:1:f,ethmod=tun,hostip=10.0.0.1
执行SKYEYE:/usr/local/bin/skyeye/skyeye linux-2.4.x/linux
target sim
load
run
就这样了。