rk3568 交叉编译链
- 作者:吴思含(Witheart)
- 更新时间:20250410
寻找使用的交叉编译链
在kernel下makefile中,定义了
makefile
ifeq ($(ARCH),arm64)
ifneq ($(wildcard $(srctree)/../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu),)
CROSS_COMPILE ?= $(srctree)/../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
endif
ifneq ($(wildcard $(srctree)/../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9),)
CROSS_COMPILE ?= $(srctree)/../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
endif
endif
逻辑解释
-
优先检查 Linaro 6.3.1 工具链:
prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-.../aarch64-linux-gnu- -
若不存在,检查 Android 4.9 工具链:
prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/.../aarch64-linux-android-`
交叉编译器路径
经确认,实际使用的交叉编译链如下
- 绝对路径
sh
/home/hw/hdd/rk3568_test/rk3568/rk3568_rk_android11.0_sdk/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
- 相对路径
sh
prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
应用示例
实际编译时,可以这样设置环境变量
bash
export ARCH=arm64
export CROSS_COMPILE=/home/hw/hdd/rk3568_test/rk3568/rk3568_rk_android11.0_sdk/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
export PATH=$PATH:/home/hw/hdd/rk3568_test/rk3568/rk3568_rk_android11.0_sdk/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/