这个过程比编译内核的过程更简单一些。这里一
mini2410
开发板为例
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
(1)
下载文件,我用的是
u-boot-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1.3.0.tar.bz2
(2)
解压文件,
tar –jxvf u-boot-1.3.0.tar.bz2
(3)
修改
makefile
,在
makefile[u-boot-1.3.0
目录下的
]
添加
mini2410_config: unconfig
@$(MKCONFIG) $(@:_config=)arm arm920t mini2410 NULL s3c2410
第一行的意思是为
mini2410
开发板建立一个编译选项,下面是指定
cpu
类型,及芯片型号
(4)
建立
mini
开发板目录,在
board
目录下建立
mini2410
目录,并将
s3c2410
目录的内容拷贝过来,修改
smdk2410.c
文件
mini2410.c
。同时修改
mini2410
下的
makefile
文件:
OBJS:=mini2410.o flash.o
(5)
建立配置头文件,在
include/configs
目录下建立
mini2410.h
头文件,并拷贝
smdk2410.h
的内容到其中
(6)
指定交叉编译环境,这一步,我们在安装交叉编译环境的时候已经指定好了
(7)
编译,
#make mini2410_config #make CROSS_COMPILE=arm-linux-
编译正确,则会在
u-boot-1.3.0
目录下生成
u-boot, u-boot.bin, u-boot.srec
三个映像文件,其中
u-boot
是
ELF
格式二进制的
p_w_picpath
文件,
u-boot.bin
是原始的二进制
p_w_picpath
文件,
u-boot.srec
是
Motorola S-Record
格式的
p_w_picpath
文件。
说明,这样生成的
p_w_picpath
文件,是基于标准
s3c2410
公板的,需要针对具体的开发板进行代码级的修改。
转载于:https://blog.51cto.com/bluefish/161630