一、添加自己的板子到u-boot
1)、在board目录下建立board/[Vendor]/[BoardName],参考其他板型添加
2)、建立后至少还需要添加两个文件Kconfig、Makefile。
3)、这两个文件的内容和从相似芯片板型目录下copy后再修改成合适自己的
二、将自己的板子添加到menuconfig菜单
1)、在arch/arm/Kconfig文件中加入TARGET条目如下:
config TARGET_[BOARD_NAME]
bool “Support [BoardName]”
select SUPPORT_SPL
select SPL
select xxx
select选项可参考类似板型配置
2)、并在后面指定对于的Kconfig文件路径如下:
source “board/[Vendor]/[BoardName]/Kconfig”
三、创建自己板子的配置头文件
建立文件include/configs/[BoardName].h,文件内容可参考类似板型
四、编译u-boot
1)、在u-boot顶层目录执行make menuconfig命令选择对应自己的板子平台,并退出保存.config
2)、将.config拷贝一份为[BoardName]_defconfig到configs/目录下
3)、正常编译u-boot
附:
一个简单的编译u-boot的Makefile文件
BOARD_NAME=zlg_imx283ev
BUILD_DIR=$(shell pwd)
CROSS_COMPILE=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linux-gnueabi-
UBOOT_DIR=$(BUILD_DIR)/../u-boot
OUT_DIR=$(BUILD_DIR)/out
UBOOT_OUT_DIR=$(OUT_DIR)/u-boot
all: uboot
uboot:
mkdir -p $(UBOOT_OUT_DIR)
make -C $(UBOOT_DIR) CROSS_COMPILE=$(CROSS_COMPILE) KBUILD_OUTPUT=$(UBOOT_OUT_DIR) $(BOARD_NAME)_defconfig
make -C $(UBOOT_DIR) CROSS_COMPILE=$(CROSS_COMPILE) KBUILD_OUTPUT=$(UBOOT_OUT_DIR)
uboot-clean:
rm $(UBOOT_OUT_DIR) -rf
注:用上述脚本编译前要在u-boot顶层目录下先执行make mrproper以清除之前的编译结果