|
creator [email protected]
断断续续的学了多次skyeye,一直没有实际用过,前段时间开始学习Linux驱动,
还买了一个2440的开发板,但是一时间无从下手,看了驱动开发的书,Linux下面也
编译出了几个驱动,但是总感觉对linux还是不深入。而同时我一直在做ecos开发,
同时目前感觉市面上性价比高的RTOS也就ecos了。本来一直想移植一个ecos到2440,
但是因为我的板子没有norflash,需要从nand启动,而调试这个部分太麻烦,因为
每次烧录都要很久,一直想有个好的调试方法。加之对2440的开机loader还不是很熟悉。
也很想自己做个loader,我的想法是从sd卡升级程序,这样目前我感觉最方便。同时
有几个系统也是采用这种方法的,基本省了仿真器。
闲话少说,看我怎么在cygwin下面用skyeye调试u-boot的。
1.准备资料。
(1)cygwin。
http://www.cygwin.com/ 下载安装,一定要选择全部安装。否则,。。你可能还要
再安装一次。
(2)skyeye
下载最新版本。(我下载的时候是1.2.4)
http://downloads.sourceforge.net ... 79&big_mirror=0
放到/cygwin/skyeye
make编译,应该不会出错。
然后把binary/skyeye.exe放到/cygwin/bin下面。注意在Windows中一定要把环境变量path中加入/cygwin/bin
(3)下载arm-linux-编译器(编译u-boot的)
去友善之臂上,那里写的非常清楚。(感谢他们)。
http://www.arm9.net/cygwin_arm-linux-gcc_install.asp
(4)下载u-boot。
我之前电脑里面是u-boot 1.1.6,编译不通过。
于是去ftp://ftp.denx.de/pub/u-boot/下载了1.1.4和1.1.2两个版本。
先说1.1.4版本。
解压后,进入输入:
make smdk2410_config
make
不通过, cc1: error: invalid option `abi=apcs-gnu'
后来网上搜索发现有个哥们遇到过这个问题。
出错的文件是/cpu/s3c2410/下的config.mk:将
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
改成:
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call cc-option,-mabi=apcs-gnu,))
编译,通过。
如果哥们觉得麻烦的话,可以编译1.1.2版本。全部通过,没有问题。
(5)用skyeye调试u-boot
建立skyeye.conf文件。如下:
# skyeye config file for S3C2410X
cpu: arm920t
mach: s3c2410x
# physical memory
#mem_bank: map=M, type=RW, addr=0x00000000, size=0x00100000
mem_bank: map=M, type=RW, addr=0x30000000, size=0x04000000
#mem_bank: map=M, type=RW, addr=0xC0000000, size=0x04000000,file=./vmlinux
#mem_bank: map=M, type=RW, addr=0x30000000, size=0x03F80000
#mem_bank: map=M, type=RW, addr=0x33F80000, size=0x00080000, file=./u-boot.bin,boot=yes
#mem_bank: map=M, type=RW, addr=0xc1000000, size=0x01000000
# all peripherals I/O mapping area
mem_bank: map=I, type=RW, addr=0x48000000, size=0x20000000
mem_bank: map=I, type=RW, addr=0x19000300, size=0x00000020
#net: type=cs8900a, base=0x19000300, size=0x20,int=9, mac=08:00:3E:26:0A:5B, ethmod=tuntap, hostip=10.0.0.1
#nandflash: type=s3c2410x,name=K9F1208U0B,dump=./nand.dump
#lcd: type=s3c2410x, mod=gtk
dbct:state=on
用刚才编译的u-boot。
然后cygwin命令行中输入skyeye -e u-boot
出现了u-boot命令。。。
输入:version 显示1.1.4
ok。成功了第一步。以后会开始移植2410到2440,同时移植到支持nand启动。
加油!!!
[ 本帖最后由 creatorwu 于 2008-1-26 10:27 编辑 ] |
|