4 个版本
0.2.1 | 2019年11月7日 |
---|---|
0.2.0 | 2019年11月3日 |
0.1.1 | 2019年4月9日 |
0.1.0 | 2019年4月9日 |
#1196 在 硬件支持
每月 33 下载
105KB
2.5K SLoC
picontrol-rs
Revolution Pi 的 PiControl 驱动的 Rust 版本。
示例:pitestrs
用于控制 Pi Control 进程图像的命令行工具位于文件 pitestrs.rs 中。可以通过启动 ./build_pi.sh
进行交叉编译。下面是如何启用交叉编译的说明。
如何生成 Rust FFI 绑定到 C
-
直接使用 bindgen 二进制文件
TARGET=armv7-unknown-linux-gnueabihf bindgen -o src/picontrol.rs kunbus/interface/piControl/wrapper.h -- -I`pwd`/kunbus/interface/piControl
-
使用 build.rs 文件与 bindgen
Rust 交叉编译
使用 Docker 的交叉项目
见: https://github.com/rust-embedded/cross
相同的操作系统
见: https://medium.com/@wizofe/cross-compiling-rust-for-arm-e-g-raspberry-pi-using-any-os-11711ebfc52b
source $HOME/.cargo/env
sudo apt-get install -qq gcc-arm-linux-gnueabihf
rustup target add armv7-unknown-linux-gnueabihf
配置 Cargo 以进行交叉编译
mkdir -p ~/.cargo
# > should not be included when pasting
cat >> ~/.cargo/config << EOF
[target.armv7-unknown-linux-gnueabihf]
linker = "arm-linux-gnueabihf-gcc"
EOF
# you may need to install this on Ubuntu 18.06
sudo apt-get install g++-multilib libc6-dev-i386
sudo apt-get install -qq gcc-arm-linux-gnueabihf
现在您可以编译了
cargo build --target=armv7-unknown-linux-gnueabihf
依赖关系
~2.5MB
~42K SLoC