网络安全参考 | 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-11-16   字体: [ ]  
 

  (5) 拷贝头文件到/root/usr/3.3.2/arm-linux/ 下,然后删除/skiff

# cp -dR /skiff/local/arm-linux/include /root/usr/3.3.2/arm-linux
# rm -fr /skiff

  这样就建立了armlinux 交叉编译环境。

  (6) 增加/root/usr/local/arm/3.3.2/bin到路径环境变量

# export PATH=$PATH:/root/usr/local/arm/3.3.2/bin

  可以检查路径变量是否设置正确。

# echo $PATH

  3.4 移植的预先编译

  移植u-boot到新的开发板上仅需要修改与硬件相关的部分即可。主要包括两个层面的移植,第一层是针对CPU的移植,第二层是针对board的移植。由于u-boot1.1.1里面已经包含S3C44B0的移植,所以笔者对板子myboard的移植主要是针对board的移植。移植之前需要仔细阅读u-boot目录下的README文件,其中对如何移植做了简要的介绍。为了减少移植的工作量,可以在include/config目录下选一个和要移植的硬件相似的开发板,笔者选的是b2开发板。具体步骤如下:

  (1) u-boot 1.1.1 下的cpu文件夹里已经包括了s3c44b0的目录,其下已经有start.s、interrupts.c以及cpu.c、serial.c几个文件,因而不需要建立与cpu相关的目录。

  (2) 在board目录下创建myboard目录以及my-board.c、flash.c、memsetup.s和u-boot.lds等文件。不需要从零开始创建,只需选择一个相似的目录直接复制过来,然后修改文件名及内容即可。笔者在移植u-boot过程中选择的是u-boot1.1.1/board/dave/B2目录。

  (3) 在include/configs目录下添加myboard.h,在这里可放入全局的宏定义等,也不需要从头创建,可以在include/configs目录下寻找相似的CPU的头文件进行复制,这里笔者用的是B2.h文件来进行相关的修改。

  (4) 对u-boot根目录下的Makefile文件进行修改,加入

myboard_config: unconfig
        @$(MKCONFIG) $(@:_config=) arm s3c44b0 myboard

  (5) 修改u-boot根目录下的Makefile文件,加入对板子的申明。然后在Makefile中加入myboard

LIST_ ARM7 = "B2  ep7312  impa7  myboard"

  (6) 运行make clobber,删除错误的depend文件。

  (7) 运行make myboard config。

  (8) 执行到此处即表示整个软件的makefile已建立,这时可修改生成的makefile中的交叉编译选项,然后打开makefile 文件,并找到其中的语句:

ifeq($(ARCH) , arm) 
  CROSS_COMPILE=arm-linux-
end if

  接着将其改成

ifeq($(ARCH) ,arm) 
  CROSS COMPILE=/root/usr/local/3.3.2/bin/arm-linux-
end if

  这一步和上面的设置环境变量只要有一个就可以了。

  执行make,报告有一个错误,修改myboard/flash.c中的#include "../common/flash.c"为"u-boot/board/dave/common/flash.c",重新编译即可通过。

 
推荐文章
 

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

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·U-Boot简介
·U-Boot在S3C2410上的移
相关文章
·U-Boot简介
·U-Boot在S3C2410上的移
·ARM的嵌入式Linux移植体
更多...
 
 

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