{"id":24092337,"url":"https://github.com/rust-for-rtthread/rtt_rust","last_synced_at":"2025-09-17T01:33:54.056Z","repository":{"id":50614769,"uuid":"496066708","full_name":"rust-for-rtthread/rtt_rust","owner":"rust-for-rtthread","description":"使用rust开发rt-thread app","archived":false,"fork":false,"pushed_at":"2023-04-09T08:12:13.000Z","size":42,"stargazers_count":7,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-05-04T14:03:50.947Z","etag":null,"topics":["embedded","rt-thread","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rust-for-rtthread.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-25T03:17:29.000Z","updated_at":"2023-04-09T07:58:00.000Z","dependencies_parsed_at":"2023-02-01T06:00:45.102Z","dependency_job_id":null,"html_url":"https://github.com/rust-for-rtthread/rtt_rust","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-for-rtthread%2Frtt_rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-for-rtthread%2Frtt_rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-for-rtthread%2Frtt_rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-for-rtthread%2Frtt_rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rust-for-rtthread","download_url":"https://codeload.github.com/rust-for-rtthread/rtt_rust/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233313099,"owners_count":18657148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["embedded","rt-thread","rust"],"created_at":"2025-01-10T07:44:57.517Z","updated_at":"2025-09-17T01:33:48.754Z","avatar_url":"https://github.com/rust-for-rtthread.png","language":"Rust","readme":"# RUST support for rt-thread\n\n## 1. 介绍\n  这是一个在`rt-thread`上制作的`rust`支持层\n\n### 1.1 目录结构\n| 名称 | 说明 |\n|---|---|\n| docs | 文档目录 |\n| rtt_rs2 | 支持层的核心代码 |\n| rtt_main | APP启动宏 |\n| rtt_rust_example_app | 一个简单的示例程序 |\n\n### 1.2 许可证\n\n### 1.3 依赖\n* RT-Thread 3.0+\n* RUST toolchains +nightly\n* rust-src\n- toml (可以使用 pip 安装)\n\n\n## 2. 如何使用\n请在`applications`目录下面添加你的程序\n你可以使用如下命令生成：`cargo new --lib xxx`\n然后增加基本的库的依赖如下\n```toml\n# file Cargo.toml\n# 请注意修改版本号\n[dependencies]\nrtt_main = {path = \"../../packages/rtt_rust-v1.0.0/rtt_main/\"}\nrtt_rs2 = {path = \"../../packages/rtt_rust-v1.0.0/rtt_rs2/\"}\n```\n然后添加一个最小程序\n```rust\n// file src/lib.rs\n#![no_std]\n\nextern crate alloc;\n\nuse alloc::string::String;\nuse rtt_main::rtt_main;\nuse rtt_rs2::param::Param;\nuse rtt_rs2::println;\n\n// appname: 应用的名字，在命令中将被使用\n// run: 是否使用rt-thread操作系统的自动执行功能\n// cmd: 是否添加app到命令行\n// desc: 命令行程序的描述\n// 最简版本：#[rtt_main(appname=\"demo\")]\n//  请自行调用函数 __demo_main_func\n#[rtt_main(appname=\"demo\", run=true, cmd=true, desc=\"demo app.\")]\nfn main(param: Param) {\n    for i in param {\n        println!(\"{}\", String::from_utf8_lossy(\u0026*i))\n    }\n}\n```\n`APPS`作为一个标准的rust库，你可是使用任何支持的IDE来辅助你的开发。但是`rtt_rs2`在`build.rs`里面应用了一个环境变量 `RTT_PATH`,请你正确设置这个变量到你的`scons --dist`之后的主路径（因为这将使用rt-thread中的头文件来进行bindgen）。\n\n## 3. 支持情况\n\n- [x] APP自启动\n- [x] APP添加到MSH\n- [x] 线程基本操作\n- [x] 系统延时函数\n- [x] 系统信号量\n- [x] 系统互斥量\n- [x] 系统消息队列\n\n## 4. 联系方式\n* 维护：陈泓霖\n* 邮箱：chenhonglinchl@aliyun.com\n","funding_links":[],"categories":["Packages"],"sub_categories":["Language"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust-for-rtthread%2Frtt_rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frust-for-rtthread%2Frtt_rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust-for-rtthread%2Frtt_rust/lists"}