1. 环境准备:搭建交叉编译基础
交叉编译就像用中文写菜谱给外国厨师做菜——我们需要一套翻译工具让Ubuntu生成的程序能被RK3568理解。首先从工具链开始,RK3568官方提供的prebuilts工具链通常包含在SDK包里,我建议直接使用官方版本避免兼容性问题。
把工具链解压到/opt目录是个好习惯,这里所有用户都能访问又不会污染系统目录。具体操作如下:
bash复制sudo mkdir -p /opt/toolchains
sudo cp -r rk3568_linux/prebuilts/gcc/linux-x86/aarch64-gcc-buildroot /opt/toolchains/
接下来需要配置环境变量,这里有个实用技巧:不要直接修改.bashrc,而是创建单独的env.sh文件。这样不同项目可以加载不同的配置:
bash复制# 创建环境变量配置文件
echo 'export RK3568_TOOLCHAIN=/opt/toolchains/aarch64-gcc-buildroot
export PATH=$RK3568_TOOLCHAIN/bin:$PATH
export ARCH=arm64
export CROSS_COMPILE=aarch64-buildroot-linux-gnu-' > ~/rk3568_env.sh
验证工具链是否生效时,新手常犯的错误是直接运行编译器命令。更可靠的做法是检查版本信息:
bash复制source ~/rk3568_env.sh
aarch64-buildroot-linux-gnu-gcc --version
如果看到正确的版本输出,说明工具链配置成功。遇到问题时,建议先用最简单的helloworld程序测试:
c复制// test.c
#include <stdio.h>
int main() {
printf("Toolchain test passed!\n");
return 0;
}
编译测试程序:
bash复制aarch64-buildroot-linux-gnu-gcc test.c -o test
file test # 应该显示ARM aarch64可执行文件
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
