2 个版本
0.0.1 | 2023 年 7 月 31 日 |
---|---|
0.0.0 | 2023 年 7 月 18 日 |
#10 在 #free-rtos
4.5MB
83K SLoC
为 FreeRTOS 实现的 Rust 标准库
这是 FreeRTOS 的 Rust 标准库端口的一个早期 alpha 版本。到目前为止,它已经支持线程和同步原语的基本功能。
如何使用
建议将此仓库作为子模块包含在你的工作区中,因为 FreeRTOS 构建系统需要从中包含 c 文件。
$ git submodule add [email protected]:sheref-sidarous/freertos-std.git
rust 应用程序
- 在 Cargo.toml 中将
freertos-std
依赖项作为std
库添加
std = {path = "../freertos-std", features = ["panic_immediate_abort"], package = "freertos-std"}
其中路径是指 freertos-std
被检出的地方
- 将应用程序构建为静态库
[lib]
crate-type = ["staticlib"]
- 你需要在根
lib.rs
的顶部包含restricted_std
功能
#![feature(restricted_std)]
FreeRTOS 构建系统
- 将 freertos-std 中的 C 文件
src/sys/freertos/rust_std_shim.c
构建到构建系统中 - 链接构建的 Rust 应用程序静态库
示例用法
查看 freertos-std-example 以获取一个示例,该示例使用 Qemu 构建并运行此库
依赖关系
~1.5–2.4MB
~46K SLoC