Open5

Rust-embedding

110416110416

Motivation

  • 組み込みとRust の相性がいいらしい
  • ハードウェア楽しそう
  • arduno や ラズパイ は △

Short Term Goal

  • とりあえず 使えそうな OSS のコードを探す(ザっと見た感じ一発屋で更新が止まっているのが多い😇)(Rust & 組み込みやってる人が少ないから OSS のメリットが活かせない印象🙄)
  • Rust で motor をイイ感じに制御する
    • Lチカだと使い道がわからないがモーター動かせるとだいぶ夢が広がる

現在の知識&memo

  • hardware driver がハードによって結構違うっぽい?
  • hardware abstraction layer を挟むとヨサソウ?
  • 非同期処理・並列処理つらそう
  • 組み込みの類型: Embedded Linux / RTOS / Bare Metal
  • Bare metal は OS なしの実装を指しているっぽい. ハードウェアが抽象化されてないのでツラそう
  • Rust の 組み込み OSだと Drone OS というのがある. ドキュメントもそこそこ充実している

https://www.drone-os.com/

  • tock os がデファクトぽい

https://www.tockos.org/

https://github.com/tock/tock

ユーザーランドは libtock-c と libtock-rs で c 実装と Rust 実装がある.

デバッガ

https://github.com/probe-rs/probe-rs

むずかしいぽよ~😇