u-boot-2011.06在基于s3c2440开发板的移植之NorFlash启动


u-boot-2011.06虽然支持一些常见的开发板,但如果u-boot-2011.06不支持我们手上的开发板,那就要找到与我们的开发板最接近的u-boot-2011.06所支持的开发板,在这个开发板的基础上进行移植。u-boot-2011.06所支持的smdk2410开发板是最接近我的开发板的,所以我就在该此基础上进行修改、移植。

相关阅读:

U-Boot源代码下载地址

U-Boot-2011.06启动流程分析

u-boot-2011.06在基于s3c2440开发板的移植之编译配置

u-boot-2011.06在基于s3c2440开发板的移植之NorFlash启动

u-boot-2011.06在基于S3C2440开发板的移植之解决raise: Signal # 8 caught

u-boot-2011.06在基于s3c2440开发板的移植之支持NandFlash读写

u-boot-2011.06在基于s3c2440开发板的移植之硬件ECC

在移植之前,我们还需要安装、配置eldk,用于编译u-boot。下面我们就先介绍一下eldk的安装与配置:

1.下载eldk

在这里选择任一版本的eldk并下载,我选择的是eldk4.2版本的arm-2008-11-24.iso文件。把该文件下载到/home/zhaocj/download/目录下。

2.在root权限下安装eldk

创建挂载点:

mkdir   /mnt/dvdrom

挂载光驱:

mount  –o loop /home/zhaocj/download/arm-2008-11-24.iso/mnt/dvdrom

安装eldk:

cd   /mnt/dvdrom

./install –d /opt/eldk4.2/

这样eldk就安装到了/opt/eldk4.2目录下。

3.设置环境变量

cd  ~

gedit   .bashrc

在最后添加如下内容:

export  CROSS_COMPILE=arm-linux-

export  PATH=/opt/eldk4.2/bin: /opt/eldk4.2/usr/bin:$PATH

保存并退出,然后执行:

source  .bashrc

重启电脑就完成了eldk的安装。

下面就介绍u-boot-2011.06的移植,在这里我把我的开发板命名为zhaocj2440:

1.下载u-boot

下载目前最新的u-boot版本(即u-boot-2011.06.tar.bz2)到我的用户主目录下。

2.解压u-boot

cd  ~

把u-boot-2011.06解压到当前目录下

tar  –xvjf u-boot-2011.06.tar.bz2

cd  u-boot-2011.06

3.在u-boot中添加我的开发板信息

emacs  boards.cfg

打开boards.cfg文件,在第70行(smdk2410 arm arm920t – samsung s3c24x0)的下面添加一行,内容如下:

zhaocj2440 arm arm920t – samsung s3c24x0

保存并退出。

4.通过复制的方式添加我的开发板头文件

cp include/configs/smdk2410.h include/configs/zhaocj2440.h

5.通过复制的方式添加我的开发板文件夹

cp –r board/samsung/smdk2410 board/samsung/zhaocj2440

更改文件名

mv board/samsung/zhaocj2440/smdk2410.c board/samsung/zhaocj2440/zhaocj2440.c

修改Makefile文件

emacs board/samsung/zhaocj2440/Makefile

打开Makefile文件,在第28行中,把COBJS :=smdk2410.o改为:

COBJS:=zhaocj2440.o

保存并退出。

6.编译

make   distclean

make   zhaocj2440_config

make

如果上述过程没有出错的话,会在u-boot的目录下出现新的u-boot.bin文件。

相关内容