uboot移植FL2440(uboot編譯編)
1.下載u-boot
下載u-boot-2014.04.tar.bz2版本uboot。
U-Boot源代碼下載地址 http://www.linuxidc.com/Linux/2011-07/38897.htm
2.解壓u-boot
3.在u-boot中添加我的開發板信
vim boards.cfg
根據smdk2410格式添加smdk2440
# Status, Arch, CPU:SPLCPU, SoC, Vendor, Board name, Target, Options, Maintainers
Active arm arm920t s3c24x0 samsung - smdk2440 -
4.通過復制的方式添加我的開發板頭文件
cp include/configs/smdk2410.h include/configs/smdk2440.h
5.通過復制的方式添加我的開發板文件夾
cp –r board/samsung/smdk2410 board/samsung/smdk2440
更改文件名
mv board/samsung/smdk2440/smdk2410.c board/samsung/smdk2440/smdk2440.c
修改Makefile文件
vim board/samsung/smdk2440/Makefile為:
# SPDX-License-Identifier: GPL-2.0+
#
obj-y := smdk2440.o
obj-y += lowlevel_init.o
6. 修改vim include/configs/smdk2440.h文件內容為:
//#define CONFIG_S3C2410 /* specifically a SAMSUNG S3C2410 SoC */
//#define CONFIG_SMDK2410 /* on a SAMSUNG SMDK2410 Board */
#define CONFIG_S3C2440
#define CONFIG_SMDK2440
注釋掉
//#define CONFIG_CMD_NAND
//#define CONFIG_YAFFS2
2個宏,不編譯nandflish ,yaffs2文件系統.
7.編譯
make distclean
make smdk2440_config
make CROSS_COMPILE=arm-linux- (編譯用arm-linux-gcc 4.4.3版本,arm-Linux-gcc 4.4.3 在友善之臂官網下載.)
如果上述過程沒有出錯的話,會在u-boot的目錄下出現新的u-boot.bin文件。
補充:make smdk2440_config執過程 。
首先進行配制
make smdk2440_config
現分析這個配制過程,make smdk2440_config之後,make實現執行的是
smdk2440_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2440 samsung s3c24x0
MKCONFIG 為頂層的mkconfig腳本,$(@:_config=))是smdk2440_config去除_config,上面的意思是把下面的參數傳遞給mkconfig
mkconfig smdk2440 arm arm920t smdk2440 samsung s3c24x0
$0 $1 $2 $3 $4 $5 $6
執行的結果是:
1、在include目錄下建立如下鏈接文件:
asm -> asm-arm
asm/arch -> arch-s3c24x0
asm/proc -> proc-armv
2、在include目錄下建立如下配制文件:
config.mk 的內容為:
ARCH = arm3、在include目錄下建立如下頭文件:
config.h的內容為:
/* Automatically generated - do not edit */FF