很早就成功安装了skyeye,但是一直没有正确的编译uclinux,今天终于把它搞定了
贴出来庆祝下:
编译uclinux的步骤:
make menuconfig (选择GDB,linux-2.4.x uclibc)
make dep //进行编译链接
make lib_only //编译uClibc。以后我们编译用户程序的时候需要这个运行库
make user_only //编译用户的应用程序,包括初始化进程init,和用户交互的bash,以及集成了很多程序的busybox,还有一些服务,如boa(一个在嵌入式领域用的很多的Web 服务器)和telnetd(telnet 服务器,我们可以通过网络来登录我们的uClinux 而不一定使用串口)。
make romfs
make image//报错了这里,说没有linux的东西,先不管
make linux //出现error:cannot open romfs.o
解决办法:cp ./linux-2.4.x/fs/romfs/romfs.o ./linux-2.4.x/
再编译下make linux
发现还有错误 arm-elf-ld -p -X -T arch/armnommu/vmlinux.lds arch/armnommu/kernel/head-armv.o arch/armnommu/kernel/init_task.o init/main.o init/version.o init/do_mounts.o
--start-group
arch/armnommu/kernel/kernel.o arch/armnommu/mm/mm.o arch/armnommu/mach-S3C44B0X/S3C44B0X.o kernel/kernel.o mmnommu/mmnommu.o fs/fs.o ipc/ipc.o
drivers/serial/serial.o drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/net/appletalk/appletalk.o drivers/media/media.o
net/network.o
arch/armnommu/lib/lib.a /root/uClinux-dist/linux-2.4.x/lib/lib.a /usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a
--end-group
-o linux
fs/fs.o(.data+0x1378): multiple definition of `romfs_file_operations'
romfs.o(.data+0x80): first defined here
make[1]: *** [linux] Error 1
make[1]: Leaving directory `/root/uClinux-dist/linux-2.4.x'
make: *** [linux] Error 1
解决办法:vi ~/uClinux-dist/linux-2.4.x/fs/romfs/inode.c
/* Mapping from our types to the kernel */
static struct address_space_operations romfs_aops = {
readpage: romfs_readpage
};
static struct file_operations romfs_dir_operations = {
read: generic_read_dir,
readdir: romfs_readdir,
};
static struct file_operations romfs_file_operations = {
read: generic_file_read,
mmap: generic_file_mmap,
#ifdef MAGIC_ROM_PTR
romptr: romfs_romptr,
#endif
再进行make linux
这一次ok了
再来make image下,这下是ok的了
这下是ok的
在uc-linux-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"
然后在uclinux目录下运行
skyeye linux-2.4.x/linux
(skyeye)target sim
(skyeye)load
(skyeye)run
____ _ _
/ __| ||_|
_ _| | | | _ ____ _ _ _ _
| | | | | | || | _ \| | | |\ \/ /
| |_| | |__| || | | | | |_| |/ \
| ___\____|_||_|_| |_|\____|\_/\_/
| |
|_|
这个东西就出来了
后期把lcd的接上去
用户665335 2008-7-24 19:22
用户161280 2008-7-24 19:21