3 个版本 (稳定版)
1.1.0 | 2023年4月30日 |
---|---|
1.0.0 | 2023年4月27日 |
0.1.0 | 2021年5月10日 |
#1504 在 嵌入式开发 中
66KB
265 行
rusty-os
Rusty-OS 是一个简单的针对基于 ARM 的嵌入式系统的 RTOS,用 Rust 编写。
这个操作系统基于 Philip Oppermann 的系列文章,可以去查看他的 博客 和 github 以了解如何使用 Rust 构建操作系统。
文档
许可协议
许可协议如下
- Apache 许可协议 2.0(《LICENSE-APACHE》或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可协议(《LICENSE-MIT》或 http://opensource.org/licenses/MIT)
任选其一。
平台支持
支持不同平台("目标")
目标 | 备注 |
---|---|
x86_64 | QEMU x86 64 位 |
未来工作包括添加对其他平台的支持。ARM 的支持正在进行中。
构建
此项目需要 Rust 的最新 nightly 版本,因为它使用了一些不稳定的功能。至少需要 nightly 2020-07-15 版本才能构建。您可能需要运行 rustup update nightly --force
来更新到最新 nightly 版本,即使某些组件(如 rustfmt
)可能缺失。
您可以通过运行以下命令来构建项目:
$ cargo build
要从编译的内核创建可引导磁盘镜像,您需要安装 bootimage
工具
$ cargo install bootimage
安装后,您可以通过运行以下命令创建可引导磁盘镜像:
$ cargo bootimage
这将在 target/x86_64/debug
目录中创建一个可引导磁盘镜像。
运行
$ cargo run
[QEMU] 和 bootimage
工具都需要安装。
贡献
接受贡献。请确保提交合并请求。
除非您明确说明,否则根据Apache-2.0许可定义的,您有意提交以包含在工作中的任何贡献,都应如上双许可,不附加任何其他条款或条件。
注意
这是一个学习RTOS设计内部组件和使用Rust进行ARM处理器低级开发的兴趣项目。由于Rusty-OS是一个兴趣项目,所以不能与Zephyr Project、FreeRTOS、QNX等主流RTOS相提并论。再次,特别感谢Phillip Oppermann通过他的工作为其他嵌入式软件爱好者铺平道路。“站在巨人的肩膀上”。
依赖项
~795KB
~14K SLoC