3个版本 (破坏性更新)

使用旧的Rust 2015

0.3.0 2019年6月15日
0.2.0 2018年1月14日
0.1.0 2016年9月27日

#949硬件支持

每月 22次下载

BSD-2-Clause

78KB
2K SLoC

Rust 1.5K SLoC // 0.0% comments C 294 SLoC // 0.0% comments

freertos.rs

FreeRTOS的Rust包装器。需要Beta版Rust - 将很快稳定。

你的嵌入式可执行文件的主入口点应由你的平台的首选编译器工具链提供。例如,对于STM微控制器,可以使用STM32CubeMX生成的项目,并使用GCC编译,作为起点。额外的C和Rust之间的shim提供了对驱动程序、硬件和FreeRTOS的访问。

此库使用C shib与FreeRTOS的API通信。目前需要动态内存分配。

Build Status

Documentation

介绍文章

用法

首先,将以下内容添加到你的Cargo.toml

[dependencies]
freertos_rs = "0.2"

接下来,将以下内容添加到你的项目中

extern crate freertos_rs;

use freertos_rs::*;

单元测试

此项目包括单元测试,这些测试在GNU ARM Eclipse QEMU模拟器上运行。STM32的基本固件是用C编写的,用GCC编译,最后与特定单元测试的入口点链接。由于QEMU模拟器不支持FPU寄存器,FreeRTOS内核做了一些轻微的修改。缺少定时器硬件仿真通过基于Systick的IRQ触发进行模拟。Rust代码调用此crate的交叉编译、基本固件的编译、最终链接,然后使用模拟器运行单元测试。

无运行时依赖