u-boot-2014.10移植

Posted hulig7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了u-boot-2014.10移植相关的知识,希望对你有一定的参考价值。

 1 /***************************************************
 2 
 3 *u-boot版本 :u-boot-2014.10
 4 
 5 *gcc版本    :/home/flinn/tools/4.4.3/bin/arm-none-linux-gnueabi-
 6 
 7 *
 8 
 9 *服务器     :ubuntu14.05
10 
11 *
12 
13 *编译命令   :make smdk2440_config;make
14 
15 *Note(s)    : 不要使用gcc-4.3.2(坑)
16 
17 ***************************************************/

 

建立单板

 tar xvf u-boot-2014.10.tar.bz2
    cd u-boot-2014.10/
   
    cp -r board/samsung/smdk2410/ board/samsung/smdk2440/
    mv board/samsung/smdk2440/smdk2410.c board/samsung/smdk2440/smdk2440.c
    vim board/samsung/smdk2440/Makefile

1 obj-y   := smdk2440.o

cp include/configs/smdk2410.h include/configs/smdk2440.h
    
vim board/samsung/smdk2440/MAINTAINERS

 1 SMDK2440 BOARD
 2 
 3             M:      David Müller <[email protected]>
 4 
 5             S:      Maintained
 6 
 7             F:      board/samsung/smdk2440/
 8 
 9             F:      include/configs/smdk2440.h
10 
11             F:      configs/smdk2440_defconfig

vim board/samsung/smdk2440/Kconfig

 1  if TARGET_SMDK2440
 2 
 3             config SYS_CPU
 4 
 5                     default "arm920t"            
 6 
 7             config SYS_BOARD
 8 
 9                     default "smdk2440"            
10 
11             config SYS_VENDOR
12 
13                     default "samsung"            
14 
15             config SYS_SOC
16 
17                     default "s3c24x0"            
18 
19             config SYS_CONFIG_NAME
20 
21                     default "smdk2440"            
22 
23             endif

vim arch/arm/Kconfig

1 config TARGET_SMDK2440
2          bool "Support smdk2440"
3 
4  
5 
6          source "board/samsung/smdk2440/Kconfig"

cp configs/smdk2410_defconfig configs/smdk2440_defconfig
            CONFIG_ARM=y
            CONFIG_TARGET_SMDK2440=y
    

    修改顶层Makefile

CROSS_COMPILE ?= /home/flinn/tools/4.4.3/bin/arm-none-linux-gnueabi-

修改配置文件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
 
编译
        make smdk2440_defconfig
        make (如果要看到详细信息, 比如链接地址,-pie等, 执行make V=1)
   
    如果修改smdk2440.h后编译报错 u-boot.lds:1: ignoring invalid character `#‘ in expression
        vim arch/arm/cpu/u-boot.lds
-#include <config.h>

以上单板建立完成, 初次编译会报错NAND和YAFFS相关的, 在smdk2440.h里面去掉相关宏
    编译出来的u-boot.bin 约370K,前面的分区256K显然不够, 先作裁剪
    去掉:
        USB相关的

 //#define CONFIG_USB_OHCI

 //#define CONFIG_USB_OHCI_S3C24XX

 //#define CONFIG_USB_KEYBOARD

 //#define CONFIG_USB_STORAGE

 //#define CONFIG_DOS_PARTITION

 //#define CONFIG_CMD_USB

解压格式

//#define CONFIG_BZIP2

//#define CONFIG_LZO

//#define CONFIG_LZMA

文件系统相关的

//#define CONFIG_CMD_FAT

//#define CONFIG_CMD_EXT2

//#define CONFIG_CMD_UBI

//#define CONFIG_CMD_UBIFS

//#define CONFIG_CMD_MTDPARTS

//#define CONFIG_MTD_DEVICE

//#define CONFIG_MTD_PARTITIONS

//#define CONFIG_YAFFS2

//#define CONFIG_RBTREE

再次编译后u-boot.bin文件才160K左右,满足我们的需求

执行:

make smdk2440_defconfig

make

即可编译

 

 




















以上是关于u-boot-2014.10移植的主要内容,如果未能解决你的问题,请参考以下文章

u-boot-2014.10移植设置时钟/SDRAM

u-boot-2014.10移植支持nand

u-boot-2014.10移植重定位,支持NAND启动

u-boot-2014.10移植修改环境变量的存储位置

u-boot-2014.10移植添加mtdparts命令和分区

移植kernel-3.10.79