歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

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