✅ RK3588 交叉编译环境搭建文档(基于 gcc-linaro-7.5.0)
📦 准备工具链
1. 下载交叉编译工具链(如果还没有)
你可以从以下地址获取 Linaro 工具链:
wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
2. 解压工具链
sudo mkdir -p /opt/toolchains
cd /opt/toolchains
cp gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz .
sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
解压后你将得到如下目录:
/opt/toolchains/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu
🛠️ 配置环境变量
在 ~/.bashrc(或 ~/.zshrc)中添加:
export TOOLCHAIN_DIR=/opt/toolchains/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu
export PATH=$TOOLCHAIN_DIR/bin:$PATH
export CROSS_COMPILE=aarch64-linux-gnu-
export ARCH=arm64
然后执行:
source ~/.bashrc
🧪 验证工具链是否可用
aarch64-linux-gnu-gcc -v
输出应类似:
gcc version 7.5.0 (Linaro GCC 7.5-2019.12)
📁 示例:交叉编译一个 Hello World
1. 创建测试文件:
// hello.c
#include <stdio.h>
int main() {
printf("Hello, RK3588!\n");
return 0;
}
2. 编译
aarch64-linux-gnu-gcc hello.c -o hello_rk3588
3. 查看目标架构
file hello_rk3588
应输出:
hello_rk3588: ELF 64-bit LSB executable, ARM aarch64 ...
将 hello_rk3588 拷贝到开发板或 SDK 运行测试。
🧱 编译内核(可选)
若你还需编译 Linux 内核(Rockchip 发布的),参考如下步骤:
1. 获取 RK3588 Linux SDK
git clone https://github.com/rockchip-linux/kernel.git -b release-5.10
cd kernel
2. 配置内核
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_defconfig
3. 编译内核
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc)
输出文件在 arch/arm64/boot/Image 和 arch/arm64/boot/dts/rockchip 目录下。
🧰 常见用途
| 类型 | 编译命令示例 |
|---|---|
| C 程序 | aarch64-linux-gnu-gcc xxx.c -o xxx |
| C++ 程序 | aarch64-linux-gnu-g++ xxx.cpp -o xxx |
| Makefile 项目 | 添加变量 CROSS_COMPILE=aarch64-linux-gnu- |
| CMake 项目 | cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake .. |
1938

被折叠的 条评论
为什么被折叠?



