Chinaunix首页 | 论坛 | 博客
  • 博客访问: 514737
  • 博文数量: 484
  • 博客积分: 10145
  • 博客等级: 上将
  • 技术积分: 5805
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 18:34
文章分类

全部博文(484)

文章存档

2011年(52)

2010年(107)

2009年(287)

2008年(38)

我的朋友

分类:

2009-09-24 19:30:00

U-BOOT初次体验
一、工作环境
   
    操作系统      
        Fedora 9.0  (虚拟机操作系统)
    交叉编译器        
        arm-linux-gcc 3.4.5(交叉编译器)
    目标板优龙FS2410
        NAND Flash:64M K9F1208,NOR Flash:2M SST39VF1601, RAM 64M ,CS8900Q3 
    源代码u-boot 
        u-boot-1.1.6.tar.bz2
 
二、工作前准备
 
    建立工作目录 
        $mkdir /work/u-boot
    打开工作目录 
        $cd /work/u-boot
    把下载的源码拷贝到该目录&解压 
        $tar jxvf u-boot-1.1.6.tar.bz2
    进入该文件夹
        $cd u-boot-1.1.6 
 
    u-boot-1.1.6中有好几千个文件,要想了解对于某款开发板使用哪些文件、哪些文件先执行、可执行文件占用内存大小等问题,最好是阅读顶层的Makefile文件。
    根据顶层的Readme文档说明,知道如果要使用开发板,就必须先执行make _config进行配置,然后执行make,就可以生成二进制可执行文件。
 
 
三、移植步骤 
 
    1  建立自己fs2410开发板的配置 
 
         $cp –r board/smdk2410 board/fs2410 
         $mv board/fs2410/sdmk2410.c board/fs2410/fs2410.c    
         $cp include/configs/smdk2410.h include/configs/fs2410.h
   
    fs2410.h是开发板的配置文件,他包括开发板的CPU、系统时钟、RAM、FLASH系统及其他相关的配置信息,由于u-boot已经支持三星的SMDK2410开发板,所以移植的时候直接拷贝SMDK2410的配置文件,做相应的修改即可。
 
    2  修改顶层Makefile 
 
        $cd /uboot/u-boot-1.1.6
        $vim Makefile
 
找到:
smdk2410_config    :    unconfig
    @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
在其后面添加:
fs2410_config    :    unconfig
    @$(MKCONFIG) $(@:_config=) arm arm920t fs2410 NULL s3c24x0

 
各项的意思如下:
arm:        CPU的架构(ARCH)
arm920t:    CPU的类型(CPU),其对应于cpu/arm920t子目录。
fs2410:    开发板的型号(BOARD),对应于board/fs2410目录。
NULL:       开发者/或经销商(vender)。
s3c24x0:    片上系统(SOC)。 
 
    3  修改board/fs2410/Makefile
        $vim board/fs2410/Makefile 
将  : OBJS    := smdk2410.o flash.o 
改为: OBJS     := fs2410.o flash.o 

四、测试编译能否成功
   
    $make fs2410_config
    $make

    如果没有问题,在u-boot-1.1.6目录下就生成u-boot.bin,因为到这一步只是做了点小改动,并未涉及敏感问题,测试一下可增加点信心.   
阅读(422) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~