|
【人工智能】
uboot编译工具链分析
发表于 2018-5-29 15:22:48
浏览:8389
|
回复:0
打印
只看该作者
[复制链接]
楼主
我想搞清楚uboot的变异工具链使用的是哪一个,所以在makefile中添加了log,来确定make时所选用的编译工具链,但是看到编译log后,我蒙圈了,怎么会使用两个编译工具链呢。我添加的log如下:
ifeq ($(ARCHV),aarch64)
$(shell echo "ARCHV=aarch64" >&2;)
ifneq ($(wildcard ../toolchain/aarch64-linux-android-4.9),)
$(shell echo "CROSS_COMPILE == 0" >&2;)
CROSS_COMPILE ?= $(shell pwd)/../toolchain/aarch64-linux-android-4.9/bin/aarch64-linux-android-
endif
ifneq ($(wildcard ../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin),)
CROSS_COMPILE ?= $(shell pwd)/../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
$(shell echo "CROSS_COMPILE == 1" >&2;)
endif
else
ifneq ($(wildcard ../toolchain/arm-eabi-4.8),)
$(shell echo "CROSS_COMPILE == 2" >&2;)
CROSS_COMPILE ?= $(shell pwd)/../toolchain/arm-eabi-4.8/bin/arm-eabi-
endif
ifneq ($(wildcard ../toolchain/arm-eabi-4.7),)
$(shell echo "CROSS_COMPILE == 3" >&2;)
CROSS_COMPILE ?= $(shell pwd)/../toolchain/arm-eabi-4.7/bin/arm-eabi-
endif
ifneq ($(wildcard ../toolchain/arm-eabi-4.6),)
$(shell echo "CROSS_COMPILE == 4" >&2;)
CROSS_COMPILE ?= $(shell pwd)/../toolchain/arm-eabi-4.6/bin/arm-eabi-
endif
ifneq ($(wildcard ../prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin),)
$(shell echo "CROSS_COMPILE == 5" >&2;)
CROSS_COMPILE ?= $(shell pwd)/../prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-
endif
ifneq ($(wildcard ../prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin),)
$(shell echo "CROSS_COMPILE == 6" >&2;)
CROSS_COMPILE ?= $(shell pwd)/../prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-
endif
ifneq ($(wildcard ../prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin),)
$(shell echo "CROSS_COMPILE == 7" >&2;)
CROSS_COMPILE ?= $(shell pwd)/../prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
endif
实际编译是输出的log如下:
ln@ln-machine:~/workplace/firefly/u-boot$ sudo make rk3128_defconfig
CROSS_COMPILE == 5
CROSS_COMPILE == 7
#
# configuration written to .config
#
ln@ln-machine:~/workplace/firefly/u-boot$ sudo make
CROSS_COMPILE == 5
CROSS_COMPILE == 7
CROSS_COMPILE == 5
CROSS_COMPILE == 7
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config.h
GEN include/autoconf.mk
GEN include/autoconf.mk.dep
CROSS_COMPILE == 5
CROSS_COMPILE == 7
CHK include/config/uboot.release
CHK include/generated/version_autogenerated.h
CHK include/generated/timestamp_autogenerated.h
UPD include/generated/timestamp_autogenerated.h
HOSTCC tools/dumpimage.o
HOSTCC tools/image-host.o
HOSTCC tools/loaderimage.o
HOSTCC tools/mkenvimage.o
HOSTCC tools/mkimage.o
HOSTLD tools/mkenvimage
HOSTLD tools/dumpimage
HOSTLD tools/mkimage
HOSTCC tools/boot_merger
HOSTLD tools/loaderimage
CC board/rockchip/common/rkboot/fastboot.o
LD board/rockchip/common/built-in.o
CC board/rockchip/rk32xx/rk32xx.o
LD board/rockchip/rk32xx/built-in.o
CC common/main.o
CC common/board_f.o
CC common/cmd_version.o
CC common/cmd_fastboot.o
CC common/cmd_bootrk.o
LD common/built-in.o
CC lib/display_options.o
LD lib/built-in.o
LD u-boot
OBJCOPY u-boot.bin
./tools/boot_merger ./tools/rk_tools/RKBOOT/RK3128MINIALL.ini && \
\
./tools/loaderimage --pack u-boot.bin uboot.img
out:RK3128MiniLoaderAll.bin
fix opt:RK3128MiniLoaderAll_V2.25.bin
merge success(RK3128MiniLoaderAll_V2.25.bin)
pack input u-boot.bin
pack file size:340400
crc = 0x7dcb616d
uboot version:U-Boot 2014.10-RK3128-10 (May 29 2018 - 15:16:39)
pack uboot.img success!
OBJCOPY u-boot.srec
求大神解惑。 |
|