1 个不稳定版本

0.1.0 2022年2月3日

#29#arduino

自定义许可证

135KB
3K SLoC

Rustuino

问题

Rust是一种在过去几年中迅速崛起的语言。作为一种系统开发语言,嵌入式设备可以从Rust提供的更好的内存安全性中受益。问题是,没有很多优秀的crate提供许多设备的良好硬件抽象层。许多crate都是针对特定设备或设备系列的。

我的愿景

软件

我对这个项目的愿景是提供一个类似Arduino的框架,用于Rust嵌入式开发。我的crate将提供高级函数来控制GPIO引脚或通过UART进行通信,同时仍然为需要使用更高级功能的用户提供精确的寄存器级别控制(也会有高级功能的函数,不用担心 ;))。

硬件

由于存在许多类型的嵌入式设备,我想尽可能使这个项目具有可移植性。我将从支持stm32f芯片系列开始,因为它们是最新的也是最流行的,Cortex-M0芯片是新一代Arduino板的首选。我目前拥有许多Arduino SAMD板和stm32f446,所以我会先支持这些。

路线图

软件

  • 使用GPIO引脚的基本功能
  • 延迟和时间相关功能
  • 通过串行总线进行简单通信的功能
  • 硬件中断框架
  • 更多功能将陆续推出!

硬件

  • stm32f0
  • stm32f1
  • stm32f2
  • stm32f3
  • stm32f4
  • stm32f7
  • 将有更多!

其他

  • 开始编写文档/参考
  • 清理项目,使其对初学者更容易

贡献

我始终欢迎错误报告、建议等,这个项目将需要大量的时间和精力,如果有人想帮忙,我将非常欢迎。这是我第一个开源项目,我还在学习Rust,所以如果你有更好的代码想法,请提出问题。每个好的嵌入式框架都需要许多不同库的外设(Neopixel、温度传感器等)。这是你可以做出最大贡献的方式。

依赖

~53MB
~1.5M SLoC