TARGET_BOOTLOADER_CONFIG := imx6q:mx6qsabresdandroid_config imx6dl:mx6dlsabresdandroid_config TARGET_BOARD_DTS_CONFIG := imx6q:imx6q-sabresd.dtb imx6dl:imx6dl-sabresd.dtb imx6q-ldo:imx6q-sabresd-ldo.dtb
Makefile:
BOOTLOADER_CROSS_TOOLCHAIN := `pwd`/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
BOOTLOADER_ENV := ARCH=arm CROSS_COMPILE=$(BOOTLOADER_CROSS_TOOLCHAIN)
HOST_PROCESSOR := $(shell cat /proc/cpuinfo | grep processor | wc -l)
TARGET_BOOTLOADER_IMAGE := $(PRODUCT_OUT)/u-boot.imx
BOOTLOADER_PATH := bootable/bootloader/uboot-imx/
BOOTLOADER_CONFIG_FILE := $(BOOTLOADER_PATH)/include/config.h
bootloader: $(TARGET_BOOTLOADER_IMAGE)
$(TARGET_BOOTLOADER_IMAGE):
for ubootplat in $(TARGET_BOOTLOADER_CONFIG); do \
UBOOT_PLATFORM=`echo $$ubootplat | cut -d':' -f1`; \
UBOOT_CONFIG=`echo $$ubootplat | cut -d':' -f2`; \
echo $(UBOOT_PLATFORM); \
echo $(UBOOT_CONFIG); \
$(MAKE) -C bootable/bootloader/uboot-imx/ distclean $(BOOTLOADER_ENV); \
$(MAKE) -C bootable/bootloader/uboot-imx/ $$UBOOT_CONFIG $(BOOTLOADER_ENV); \
$(MAKE) -C bootable/bootloader/uboot-imx/ $(BOOTLOADER_ENV); \
install -D bootable/bootloader/uboot-imx/u-boot.imx $(PRODUCT_OUT)/u-boot-$$UBOOT_PLATFORM.imx; \
install -D bootable/bootloader/uboot-imx/u-boot.imx $@; \
done
所以不管 lunch 選的是什麼,bootloader 一定會 build 兩個 target (imx6q, imx6dl) 出來。
所以:
- imx6q : mx6qsabresdandroid_config
- imx6dl: mx6dlsabresdandroid_config
make 的 command 就是:
export ARCH=arm export CROSS_COMPILE=`pwd`/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi- cd bootable/bootlaoder/uboot-imx make distclean make mx6dlsabresdandroid_configuboot 的 README 說:
Selection of Processor Architecture and Board Type: --------------------------------------------------- For all supported boards there are ready-to-use default configurations available; just type "make所以 make mx6dlsabresdandroid_config , board_name 就是 mx6dlsabreshandroid_config". Example: For a TQM823L module type: cd u-boot make TQM823L_config For the Cogent platform, you need to specify the CPU type as well; e.g. "make cogent_mpc8xx_config". And also configure the cogent directory according to the instructions in cogent/README. Configuration Options: ---------------------- Configuration depends on the combination of board and CPU type; all such information is kept in a configuration file "include/configs/ .h". Example: For a TQM823L module, all configuration settings are in "include/configs/TQM823L.h".
刪除 target out folder 的 u-boot-*, 之後 make bootloader, 才會重新 build
可以看到 make log 有:
Configuring for mx6qsabresdandroid - Board: mx6sabresd, Options: IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg, MX6Q, DEFAULT_FDT_FILE="imx6q-sabresd.dtb", DDR_MB=1024, SYS_USE_SPINOR, ANDROID_SUPPORT和
Configuring for mx6dlsabresdandroid - Board: mx6sabresd, Options: IMX_CONFIG=board/freescale/mx6sabresd/mx6dl_4x_mt41j128.cfg, MX6DL, DEFAULT_FDT_FILE="imx6dl-sabresd.dtb", DDR_MB=1024, SYS_USE_SPINOR, ANDROID_SUPPORT
沒有留言:
張貼留言