Welcome 微信登录

首页 / 操作系统 / Linux / 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源代码下载地址 http://www.linuxidc.com/Linux/2011-07/38897.htmU-Boot-2011.06启动流程分析 http://www.linuxidc.com/Linux/2011-07/39310.htmu-boot-2011.06在基于s3c2440开发板的移植之编译配置 http://www.linuxidc.com/Linux/2011-10/45455.htmu-boot-2011.06在基于s3c2440开发板的移植之NorFlash启动 http://www.linuxidc.com/Linux/2011-10/45456.htmu-boot-2011.06在基于S3C2440开发板的移植之解决raise: Signal # 8 caught http://www.linuxidc.com/Linux/2011-10/454554.htmu-boot-2011.06在基于s3c2440开发板的移植之支持NandFlash读写 http://www.linuxidc.com/Linux/2011-10/45457.htmu-boot-2011.06在基于s3c2440开发板的移植之硬件ECC http://www.linuxidc.com/Linux/2011-10/454558.htm在移植之前,我们还需要安装、配置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-bootcd  ~把u-boot-2011.06解压到当前目录下tar  –xvjf u-boot-2011.06.tar.bz2cd  u-boot-2011.063.在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.h5.通过复制的方式添加我的开发板文件夹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   distcleanmake   zhaocj2440_configmake如果上述过程没有出错的话,会在u-boot的目录下出现新的u-boot.bin文件。