1 个不稳定版本
0.1.0 | 2024 年 4 月 11 日 |
---|
#1068 在 硬件支持
36KB
170 行
控制 Khepera IV 机器人的低级硬件抽象层。
特别感谢 马萨诸塞州伍斯特理工学院 新型群体技术工程 (NEST) 实验室为我们提供 Khepera IV API 的参考使用方法和测试此 crate 的 Khepera IV 群体。
使用此 Crate
可以通过运行 cargo doc
生成此 crate 的文档;生成的文档将写入 release/
。
...在任何系统上
尽管实际的 Khepera 库只能在实际的 Khepera 上使用,但此 crate 提供了一个可以在任何主机上编译的单个 HasKhepera4Hardware
trait。
可以使用此 trait 创建 Khepera IV 系统的模拟实现,系统可以使用这些实现进行集成测试或模拟,当没有实际的 Khepera 时。
...在实际的 Khepera IV 上
除了添加对此 crate 的依赖项外,您还需要在 crate 根目录下添加(或更新)一个 .cargo/config.toml
文件,其中包含
[target.armv7-unknown-linux-gnueabihf]
linker = "arm-poky-linux-gnueabi-gcc"
rustflags = [
"-C", "link-arg=-march=armv7-a",
"-C", "link-arg=-mfloat-abi=hard",
"-C", "link-arg=-mfpu=neon",
"-C", "link-arg=-mtune=cortex-a8",
"-C", "link-arg=--sysroot=/opt/poky/1.8/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi",
]
添加此配置后,请按照以下说明进行交叉编译此 crate(或依赖于它的 crate)。
从 Linux 主机交叉编译
在构建此 crate 或依赖于此 crate 的 crate 之前,您需要
- 安装 Rust。
- 安装 Clang。
- 安装 ARMv7 Rust 工具链:
rustup target add armv7-unknown-linux-gnueabihf
- 安装 Khepera IV SDK "light tools"。
安装这些工具后,您可以通过运行
源代码 /选项/poky/1.8/环境-设置-cortexa8hf-vfp-neon-poky-linux-gnueabi
(假设您的Khepera IV SDK轻量级工具已安装到默认路径/opt/poky/1.8
)。cargo构建 --发布 --目标=armv7-unknown-linux-gnueabihf
构建完成后,发布工件将存储在 目标/armv7-unknown-linux-gnueabihf
。
许可和贡献
版权所有 2023 Alicorn Systems, Inc.
根据自由软件基金会发布的GNU Affero通用公共许可证版本3许可。有关更多信息,请参阅许可文件。
在vendor/
内的文件保留其原始版权和许可证,并包含在此存储库中,以简化下游用户的构建过程。
依赖项
~1.3–3.5MB
~72K SLoC