『ARM笔记-2』skyeye仿真2410----转载来的

时间:2022-04-14 16:10:13
断断续续的学了多次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/skyeye/skyeye-1.2.4_Rel.tar.gz?modtime=1195141779&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启动。
    加油!!!

相关资料:
http://www.linuxfans.org/bbs/forum-58-1.html
http://www.skyeye.org/index.shtml
http://www.ibm.com/developerworks/cn/linux/l-skyeye/part1/index.html
http://www.verycd.com/search/folders/SkyEye