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 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 以上单板建立完成, 初次编译会报错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 即可编译