首先使用的是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.linuxidc.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