歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> u-boot-2014.04移植FL2440(uboot編譯編)

u-boot-2014.04移植FL2440(uboot編譯編)

日期:2017/3/1 9:10:11   编辑:Linux編程

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 = arm
CPU = arm920t
BOARD = smdk2440
VENDOR = samsung
SOC = s3c24x0

3、在include目錄下建立如下頭文件:

config.h的內容為:

/* Automatically generated - do not edit */
#define CONFIG_SYS_ARCH "arm"
#define CONFIG_SYS_CPU "arm920t"
#define CONFIG_SYS_BOARD "smdk2440"
#define CONFIG_SYS_VENDOR "samsung"
#define CONFIG_SYS_SOC "s3c24x0"
#define CONFIG_BOARDDIR board/samsung/smdk2440
#include <config_cmd_defaults.h>
#include <config_defaults.h>
#include <configs/smdk2440.h>
#include <asm/config.h>
#include <config_fallbacks.h>
#include <config_uncmd_spl.h>

FF

Copyright © Linux教程網 All Rights Reserved