赞
踩
项目使用Arm Cortex-A57 芯片,架构为aarch64
1 rust 添加交叉编译器目标,可以使用rustup target list 查看当前安装的目标
rustup target add aarch64-unknown-linux-gnu
2 工程根目录创建 .cargo 文件夹,在文件夹中创建config文件,文件内容如下,指定交叉编译器
- [target.aarch64-unknown-linux-gnu]
- linker = "/opt/ddarm/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc"
3 工程根目录创建arm_compile 脚本文件,设置cargo build之前的环境变量PKG_CONFIG_SYSROOT_DIR和PKG_CONFIG_PATH
- #!/usr/bin/sh
-
- export PKG_CONFIG_SYSROOT_DIR=/opt/ddarm/sysroot
- export PKG_CONFIG_PATH=/opt/ddarm/sysroot/usr/lib/pkgconfig
- cargo build --target=aarch64-unknown-linux-gnu
4 下载交叉编译工具链,放在linker指定的位置,这里指/opt/ddarm/文件夹下,使用linaro的交叉编译工具
5 将目标设备中根目录下的lib,sbin,usr,文件夹拷贝出来,放到PKG_CONFIG_SYSROOT_DIR指定的文件夹,这里是/opt/ddarm/sysroot
6 在工程根目录运行 ./arm_compile 就可以完成交叉编译,编译后的文件在/target/aarch64-unknown-linux-gnu/debug目录下,拷贝到目标设备中就可以直接运行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。