U-BOOT初次体验
一、工作环境
操作系统
Fedora 9.0 (虚拟机操作系统)
交叉编译器
arm-linux-gcc 3.4.5(交叉编译器)
目标板优龙FS2410
NAND Flash:64M K9F1208,NOR Flash:2M SST39VF1601, RAM 64M ,CS8900Q3
源代码u-boot
u-boot-1.1.6.tar.bz2
二、工作前准备
建立工作目录
$mkdir /work/u-boot
打开工作目录
$cd /work/u-boot
把下载的源码拷贝到该目录&解压
$tar jxvf u-boot-1.1.6.tar.bz2
进入该文件夹
$cd u-boot-1.1.6
u-boot-1.1.6中有好几千个文件,要想了解对于某款开发板使用哪些文件、哪些文件先执行、可执行文件占用内存大小等问题,最好是阅读顶层的Makefile文件。
根据顶层的Readme文档说明,知道如果要使用开发板,就必须先执行make _config进行配置,然后执行make,就可以生成二进制可执行文件。
三、移植步骤
1 建立自己fs2410开发板的配置
$cp –r board/smdk2410 board/fs2410
$mv board/fs2410/sdmk2410.c board/fs2410/fs2410.c
$cp include/configs/smdk2410.h include/configs/fs2410.h
fs2410.h是开发板的配置文件,他包括开发板的CPU、系统时钟、RAM、FLASH系统及其他相关的配置信息,由于u-boot已经支持三星的SMDK2410开发板,所以移植的时候直接拷贝SMDK2410的配置文件,做相应的修改即可。
2 修改顶层Makefile
$cd /uboot/u-boot-1.1.6
$vim Makefile
找到:
smdk2410_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
在其后面添加:
fs2410_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t fs2410 NULL s3c24x0
各项的意思如下:
arm: CPU的架构(ARCH)
arm920t: CPU的类型(CPU),其对应于cpu/arm920t子目录。
fs2410: 开发板的型号(BOARD),对应于board/fs2410目录。
NULL: 开发者/或经销商(vender)。
s3c24x0: 片上系统(SOC)。
3 修改board/fs2410/Makefile
$vim board/fs2410/Makefile
将 : OBJS := smdk2410.o flash.o
改为: OBJS := fs2410.o flash.o
四、测试编译能否成功
$make fs2410_config
$make
如果没有问题,在u-boot-1.1.6目录下就生成u-boot.bin,因为到这一步只是做了点小改动,并未涉及敏感问题,测试一下可增加点信心.
阅读(422) | 评论(0) | 转发(0) |