Skip to content

Commit e272c1e

Browse files
authored
Merge pull request #2 from RT-Thread/rust
添加rust扩展题目
2 parents 8d4e169 + 0d6183b commit e272c1e

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

course-projects/01-rust-extension.md

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# 项目名称 - 支持Rust构建RT-Thrad安全组件
2+
3+
描述:随着Rust语言在系统级开发中的广泛应用,本项目要求参赛者为RT-Thread嵌入式实时操作系统扩展Rust语言支持能力。通过开发Rust语言绑定的内核接口、实现Rust编写的系统组件,探索Rust在嵌入式场景中实现内存安全与高性能并重的实践路径,为OS课程教学和工业应用提供新型开发范式。
4+
5+
* 难度:中高
6+
* 支持单位:RT-Thread开源社区
7+
8+
## 题目要求
9+
- 基于[RT-Thread/qemu-edu](https://github.com/RT-Thread/qemu-edu)仓库完成实现;
10+
-`rt-thread/components`下加入rust组件(目录),实现Rust相关的支撑接口;
11+
- 完善`rt-thread/components/libc/posix/libdl`加载内核模块的支持;
12+
- 需保证Rust组件与C语言内核的ABI兼容性;
13+
- 在QEMU/riscv64,K230/riscv64平台上完成实现和验证;
14+
- 需包含说明文档,使用文档及性能相关文档;
15+
16+
### 特征
17+
- 实现Rust到RT-Thread内核的系统调用安全绑定
18+
- 使用Rust实现RT-Thread内核的功能组件,软件包;
19+
- 使用Rust实现RT-Thread/Smart的内核模块;
20+
- 开发至少3个Rust编写的核心组件(如文件系统、网络协议栈、设备驱动)
21+
22+
### 预期目标
23+
- 建立Rust与RT-Thread内核交互的FFI标准规范
24+
- 实现关键组件的零额外内存泄漏验证
25+
- 相较C语言实现版本,Rust组件需达到类似的性能指标
26+
- 输出可复用的Rust嵌入式开发教学案例库
27+
28+
### License
29+
- Apache-2.0 License
30+
31+
### 参考资料
32+
- [RT-Thread文档中心](https://www.rt-thread.org/document/site/#/)
33+
- [Rust嵌入式手册](https://rust-embedded.github.io/book/)
34+
- [C2Rust迁移工具](https://github.com/immunant/c2rust)
35+
- [RT-Thread的Rust绑定实验项目](https://github.com/vito-chl/rtt_rs2)
36+
- [RT-Thread的Rust支持](https://github.com/listentodella/rt-thread-rs)
37+
- [RT-Thread/Smart的Rust用户态程序](https://github.com/diandianjunA/RT-Thread-Smart-Rust)

0 commit comments

Comments
 (0)