u-boot的stage1代码放在arch/arm/cpu/xxx/start.S文件中,用汇编语言写成,u-boot的stage2代码放在arch/arm/lib/board.c文件中,用C语言写成
一、建立开发板项目
由于不同的硬件平台。bootloader程序不一样。
u-boot提供的是通用模版,首先选择自己的模板。
本文选择的是S3C2440开发板。
1)board模板源码:2440.c
cd u-boot-*/board/samsung/
mkdir LF2440
cp -rf smdk2410/* LF2440
cd LF2440
mv smdk2410.c LF2440.c
2)修改board相关Makefile
COBJS:=LF2440.o flash.o
3)修改主头文件
cd /include/configs
cp -rf smdk2410.h LF2440.h
4)修改主makefile
CROSS_COMPILE?=arm-linux-
TX2440_config:unconfig
@
(MKCONFIG)
(@:_config=) arm arm920t LF2440 samsung s3c24x0
5)编译
make LF2440_config
make
上面完成了模板建立,下面就进行模板相关文件的修改
二、板子相关代码修改(修改时钟频率,修改中断,关闭所有中断)
1)arch/arm/cpu/arm920t/start.S
2)arch/arm/cpu/arm920t/s3c24x0/speed.c
3)board/samsung/TX2440/TX2440.c
4)include/configs/TX2440.h