这是一个在rt-thread
上制作的rust
支持层
名称 | 说明 |
---|---|
docs | 文档目录 |
rtt_rs2 | 支持层的核心代码 |
rtt_main | APP启动宏 |
rtt_rust_example_app | 一个简单的示例程序 |
- RT-Thread 3.0+
- RUST toolchains +nightly
- rust-src
请在applications
目录下面添加你的程序
你可以使用如下命令生成:cargo new --lib xxx
然后增加基本的库的依赖如下
# file Cargo.toml
# 请注意修改版本号
[dependencies]
rtt_main = {path = "../../packages/rtt_rust-v1.0.0/rtt_main/"}
rtt_rs2 = {path = "../../packages/rtt_rust-v1.0.0/rtt_rs2/"}
然后添加一个最小程序
// file src/lib.rs
#![no_std]
extern crate alloc;
use alloc::string::String;
use rtt_main::rtt_main;
use rtt_rs2::param::Param;
use rtt_rs2::println;
// appname: 应用的名字,在命令中将被使用
// run: 是否使用rt-thread操作系统的自动执行功能
// cmd: 是否添加app到命令行
// desc: 命令行程序的描述
// 最简版本:#[rtt_main(appname="demo")]
// 请自行调用函数 __demo_main_func
#[rtt_main(appname="demo", run=true, cmd=true, desc="demo app.")]
fn main(param: Param) {
for i in param {
println!("{}", String::from_utf8_lossy(&*i))
}
}
APPS
作为一个标准的rust库,你可是使用任何支持的IDE来辅助你的开发。但是rtt_rs2
在build.rs
里面应用了一个环境变量 RTT_PATH
,请你正确设置这个变量到你的scons --dist
之后的主路径(因为这将使用rt-thread中的头文件来进行bindgen)。
- APP自启动
- APP添加到MSH
- 线程基本操作
- 系统延时函数
- 系统信号量
- 系统互斥量
- 系统消息队列
- 维护:陈泓霖
- 邮箱:[email protected]