uClinux在SkyEye中运行出现的问题


首先使用的是uClinux-dist-20070130.tar.bz2

在make menuconfig以后

选择Vendor为GDB
Product为ARMulator
内核版本要选Linux-2.6.x

接着make dep

再make

出下下面错误

make[1]: “include/asm-arm/mach-types.h”是最新的。
scripts/mod/sumversion.c: 在函数‘get_src_version’中:
scripts/mod/sumversion.c:384: 错误:‘PATH_MAX’未声明(在此函数内第一次使用)
scripts/mod/sumversion.c:384: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
scripts/mod/sumversion.c:384: 错误:所在的函数内也只报告一次。)
scripts/mod/sumversion.c:384: 警告:未使用的变量‘filelist’
make[2]: *** [scripts/mod/sumversion.o] 错误 1
make[2]: *** 正在等待未完成的任务....
make[1]: *** [scripts/mod] 错误 2
make: *** [scripts] 错误 2
  CHK     include/linux/version.h
make[1]: “include/asm-arm/mach-types.h”是最新的。
  HOSTCC  scripts/mod/sumversion.o
scripts/mod/sumversion.c: 在函数‘get_src_version’中:
scripts/mod/sumversion.c:384: 错误:‘PATH_MAX’未声明(在此函数内第一次使用)
scripts/mod/sumversion.c:384: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
scripts/mod/sumversion.c:384: 错误:所在的函数内也只报告一次。www.bkjia.com)
scripts/mod/sumversion.c:384: 警告:未使用的变量‘filelist’
make[2]: *** [scripts/mod/sumversion.o] 错误 1
make[1]: *** [scripts/mod] 错误 2
make: *** [scripts] 错误 2

解决办法,在uClinux-dist下 对linux2.6.x/scripts/mod/sumversion.c中添加#include <limits.h>即可。

然后在image目录下生成linux和boot.rom两个文件,一个是内核文件,一个是文件系统

在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

     lcd: state=on

    保存,并在当前目录下执行

    $/home/tylor/embedded/skyeye-1.2.5_REL/skyeye -e linux-2.6.x/linux

相关内容