U-boot分析与移植(5)----U-boot移植

时间:2022-08-03 04:27:04

网上很多很好很详细的手册可以参考如:

mini2440之U-boot移植详细手册-20100419.pdf

移植u-boot-1.1.6到TQ2440文档.pdf

移植u-boot-1.3.4到GT2440(第二版)-guolele出品.pdf

ARM79出品-u-boot移植手册.pdf

 

移植一个功能简单的U-boot并不难

我的开发板平台:board:gec2440; cpu:s3c2440;sdram:64M; nand:64M

交叉工具链:arm-linux-gcc-4.3.3

u-boot版本:u-boot-2009.11

 

1、确定nand flash上分区(我的板子是没有Nor Flash的)

U-boot分析与移植(5)----U-boot移植

2、把源码解压出来

tar xvjf  u-boot-2009-11.tar.bz2

3、创建一个开发板对应的目录和文件

cp /board/samsung/smdk2410 /board/samsung/gec2440

并将里面的的smdk2410 改名为gec2440

复制一个对应的.h文件

cp /include/configs/smdk2410.h /include/configs/gec2440.h

4、修改顶层Makefile文件

在smdk2410_config后增加:

gec2440_config : unconfig
 @$(MKCONFIG) $(@:_config=) arm arm920t gec2440 samsung s3c24x0

5、修改开发板里面的Makefile

在/board/sumsung/gec2440的Makefile

增加COBJS := gec2440.o flash.o

6、在cpu/arm920t/start.S里修改时钟

把时钟修改成405Mhz,设置usb时钟UPLLCON为48Mhz

同时在gec2440.c里改成和start.S的主频和USB时钟一致

7、修改/cpu/arm920t/s3c24x0/speed.c

因为在后面要对串口初始化,会调用get_PLLCLK函数

否则会在串口打印时乱码

8、u-boot代码重定位(从nand flash启动,这个开发板没nor flash)

添加nand_flash.c

9、添加flash读写支持

10、添加网络支持等