网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: Home > Linux > 嵌入式系统 > Boot loader > u-boot > 文章  
U-Boot简介
文章来源: 文章作者: 糯米 发布时间: 2006-06-07   字体: [ ]  
 

  4 移植前的准备

  (1)首先读读uboot自带的readme文件,了解了一个大概。

  (2)看看common.h,这个文件定义了一些基本的东西,并包含了一些必要的头文件。再看看flash.h,这个文件里面定义了flash_info_t为一个struct。包含了flash的一些属性定义。并且定义了所有的flash的属性,其中,AMD的有:AMD_ID_LV320B,定义为“#define AMD_ID_LV320B 0x22F922F9”。

  (3)对于“./borad/at91rm9200dk/flash.c”的修改,有以下的方面:

  “void flash_identification(flash_info_t *info)”这个函数的目的是确认flash的型号。注意的是,这个函数里面有一些宏定义,直接读写了flash。并获得ID号。

  (4)修改:”./board/at91rm9200dk/config.mk”为

  TEXT_BASE=0x21f80000 为TEXT_BASE=0x21f00000 (当然,你应该根据自己的板子来修改,和一级boot的定义的一致即可)。

  (5)再修改”./include/configs/at91rm9200dk.h”为修改flash和SDRAM的大小。

  (6)另外一个要修改的文件是:

  ./borad/at91rm9200dk/flash.c。这个文件修改的部分比较的多。

  a. 首先是OrgDef的定义,加上目前的flash。
  b. 接下来,修改”#define FLASH_BANK_SIZE 0x200000”为自己flash的  容量
  c. 在修改函数flash_identification(flash_info_t * info)里面的打印信息,这部分将在u-boot启动的时候显示。
  d. 然后修改函数flash_init(void)里面对一些变量的赋值。
  e. 最后修改的是函数flash_print_info(flash_info_t * info)里面实际打印的函数信息。
  f. 还有一个函数需要修改,就是:“flash_erase”,这个函数要检测先前知道的flash类型是否匹配,否则,直接就返回了。把这里给注释掉。

  (7)接下来看看SDRAM的修改。

  这个里面对于“SIZE”的定义都是基于字节计算的。
  只要修改”./include/configs/at91rm9200dk.h”里面的
  “#define PHYS_SDRAM_SIZE 0X200000”就可以了。注意,SIZE是以字节为单位的。

  (8)还有一个地方要注意

  就是按照目前的设定,一级boot把u_boot加载到了SDRAM的空间为:21F00000 -> 21F16B10,这恰好是SDRAM的高端部分。另外,BSS为21F1AE34。

  (9)编译后,可以写入flash了。

  a. 压缩这个u-boot.bin

  “gzip –c u-boot.bin > u-boot.gz”

  压缩后的文件大小为:

  43Kbytes

  b. 接着把boot.bin和u-boot.gz烧到flash里面去。

  Boot.bin大约11kBytes,在flash的0x1000 0000 ~ 0x1000 3fff

 
推荐文章
 

 
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·U-BOOT的启动流程及移植
·U-Boot在S3C2410上的移
相关文章
·U-Boot在S3C2410上的移
·U-BOOT的启动流程及移植
·ARM的嵌入式Linux移植体
·bootloader的加载和运行
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统