Chinaunix首页 | 论坛 | 博客
  • 博客访问: 928942
  • 博文数量: 96
  • 博客积分: 10071
  • 博客等级: 上将
  • 技术积分: 1118
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-20 17:54
文章分类

全部博文(96)

文章存档

2011年(3)

2010年(3)

2009年(29)

2008年(54)

2007年(7)

分类: LINUX

2008-01-25 20:18:54


        creator   sz111@126.com

    断断续续的学了多次skyeye,一直没有实际用过,前段时间开始学习Linux驱动,
还买了一个2440的开发板,但是一时间无从下手,看了驱动开发的书,Linux下面也
编译出了几个驱动,但是总感觉对linux还是不深入。而同时我一直在做ecos开发,
同时目前感觉市面上性价比高的RTOS也就ecos了。本来一直想移植一个ecos到2440,
但是因为我的板子没有norflash,需要从nand启动,而调试这个部分太麻烦,因为
每次烧录都要很久,一直想有个好的调试方法。加之对2440的开机loader还不是很熟悉。
也很想自己做个loader,我的想法是从sd卡升级程序,这样目前我感觉最方便。同时
有几个系统也是采用这种方法的,基本省了仿真器。
    闲话少说,看我怎么在cygwin下面用skyeye调试u-boot的。
    1.准备资料。
    (1)cygwin。
    下载安装,一定要选择全部安装。否则,。。你可能还要
再安装一次。
    (2)skyeye
    下载最新版本。(我下载的时候是1.2.4)
   
    放到/cygwin/skyeye
    make编译,应该不会出错。
    然后把binary/skyeye.exe放到/cygwin/bin下面。注意在Windows中一定要把环境变量path中加入/cygwin/bin
    (3)下载arm-linux-编译器(编译u-boot的)
    去友善之臂上,那里写的非常清楚。(感谢他们)。
   
    (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启动。
    加油!!!
   
  
 
阅读(2936) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~