Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to learn Embedded Rust Edition 2021

How to learn Embedded Rust Edition 2021

6bb0559d2066b868dab09e435f488c6c?s=128

tomoyuki-nakabayashi

April 27, 2021
Tweet

Transcript

  1. 組込みRustの歩き方 Edition 2021 Shinjuku.rs #15 2021/04/27 中林智之 @tnakabayashi

  2. 自己紹介 中林智之 @tnakabayashi Nature株式会社のファームウェアエンジニア 組込みRustをやりたすぎて とうとう書籍を出版してしまった🎉 @ciniml と共著です ステマに来た 2

  3. 今日話すこと (9割) 本買って下さい! 3

  4. 今日話すこと (1割) • 組込みRustはマイナー ◦ 日本だと10人くらいしかやってない (要出展 ◦ 「組込みRust、そんなのあるの?」状態 •

    マイナージャンルの宿命: 入門者が迷子になる問題 ◦ どこから入門すれば良い? ◦ 入門終わった後は? 👉入門方法とその先をまとめる 4
  5. なぜRustで組込みがしたいの? • 組込み開発はC/C++のシェアが圧倒的 ◦ 性能とエコシステムの壁… • RustはC/C++に性能で匹敵、安全!モダン!最高! • 組込みRustはプロダクションレディか? ◦

    言語としては大体OK (inline assembly…) ◦ エコシステム発展するとなお良し ◦ 圧倒的人口不足…! 詳細は基礎から学ぶ 組込みRust参照! 5
  6. 2021年に組込みRustを始めるには? まず使える教材をまとめてみましょう 6

  7. Rustを学ぶ TRPL (The Rust Programming Language) 実践 Rust 入門 実践

    Rust プログラミング入門 プログラミングRust Rust を始めるための資料集 : https://blog-dry.com/entry/2021/01/23/141936 7
  8. 組込みRustを学ぶ The Embedded Rust Book The Discovery Book The Embedonomicon

    Knurling-book • 技術同人誌 ◦ Rustで始める自作組込みOS入門 ◦ Rust on Bare-metal Raspberry Pi ◦ など 組込みRust 3部作 8
  9. 教材のマッピング Rust 組込み Rust TRPL 実践Rust入門 組込みRust 3部作 Knurling-book 実践Rustプログラミング入門

    プログラミングRust 9
  10. 教材のマッピング Rust TRPL 実践Rust入門 組込みRust 3部作 Knurling-book 組込み Rust 実践Rustプログラミング入門

    プログラミングRust 10
  11. 教材のマッピング Rust TRPL 実践Rust入門 組込みRust 3部作 Knurling-book 組込み Rust 実践Rustプログラミング入門

    プログラミングRust 11
  12. 教材のマッピング Rust TRPL 実践Rust入門 組込みRust 3部作 Knurling-book 重さ (物 理)

    誰かーここも頼む! 組込み Rust 実践Rustプログラミング入門 プログラミングRust 競合が居ないだけで需要があるとは言っていない! 12
  13. 基礎から学ぶ 組込みRust の内容紹介 Wio Terminalを題材にRustや組込みや組込みRustを学ぶ! • LEDとボタン / GPIO •

    シリアル通信 / UART • タイマ / 割り込み • ブザー / PWM • 光センサ / ADC • 加速度センサ / I2C • 液晶ディスプレイ / SPI 組込みRustのOSやフレームワークのうち以下を中心に解説 - embedded-hal (https://github.com/rust-embedded/embedded-hal) - atsamd-rs (https://github.com/atsamd-rs/atsamd) - embedded-graphics (https://github.com/embedded-graphics/embedded-graphics) 13
  14. 基礎から学ぶ 組込みRust の内容紹介 →Rustの文法解説もある →組込みシステムとは?から書いている →Linux / MacOS / Windows

    の環境構築手順もある! →誤植もある😫 申し訳ねぇ! →サポートサイトに正誤表もある! https://github.com/tomoyuki-nakabayashi/Embedded-Rust-f rom-Basics Rustを知らない組込み屋さんはもちろん、 組込み経験なしな人向けの本でもある 14
  15. グラフィカルに楽しむ embedded-graphics けっこう使える (ド ライバの性能問題は若干ある) →日本語情報がない (まじでない) 私 私 私

    井田さん graphicsって素敵やん? 15
  16. 最後はアプリ作成 Wio Terminal に搭載されているデバイスとグラフィクスを組 み合わせて遊ぶ! 詳しくは書籍で! 16

  17. 閑話休題: やり残したこと ネットワーク (せっかく WiFi と Bluetooth 使えるデバイスなのに! 低レイヤドライバの作り方 別ボードへの移植

    便利な開発ツールの紹介 C FFI 17
  18. 基礎から学ぶ 組込みRustの次は… もっとRustしたい人向け The Rust Programming Language - ド安定 -

    webで見れる 実践Rust入門 - Rustらしいプログラムの書き方が学 べる 実践Rustプログラミング入門 - 幅広いジャンルが楽しめる プログラミングRust - ちょっと内容が古め (2nd edition 2021/06) - 標準ライブラリとか詳しい 18
  19. 基礎から学ぶ 組込みRustの次は… もっと組込みRustしたい人向け Knurling-book - 最新コンテンツ以外は無料公開 - ツールの体験が良い - 機材のお値段がネック…

    スクラッチから作りたい人 - Embedonomicon - rust-raspberrypi-OS-tutorials - Rustで始める自作組込みOS入門 The Embedded Rust Book - C FFI - 最適化 - などあるので一通り目を通 すと幸せになれる ¥12,000 19
  20. さらにその先 - Rust Embedded organizationをチェックする - weekly meeting議事録とか - Ferrous

    Systemsのブログを読む - 機能安全サポートとかツールの開発状況など - Knurling-rsにスポンサーして最新の教材を見る - スポンサー料金でコンテンツ制作 - ツール教材の充実に貢献できるのでオススメ! - embedded-hal実装やBSP crateの開発に参加する - 人口が少ないのでやることいっぱい ここまでやると国内の第一人者! 20
  21. まとめ〜組込みRustの歩き方〜 - 『基礎から学ぶ 組込みRust』は good entry point まず買おう! その後のことは後で考えよう! 21

  22. 参考 - 基礎から学ぶ 組込みRust のサポートサイトに参考情報のリンクを掲載 - https://github.com/tomoyuki-nakabayashi/Embedded-Rust-from-Basics/blob/main/r eferences.md 22