プログラミング
ESP向けRustブック
The Rust on ESP Book (docs.espressif.com)
要約
本書は、Espressif製品上でRustを用いた組み込み開発を始めるためのガイドです。ツールの使い方、ソフトウェアスタックの構造、基本的なワークフローを解説し、読者がより高度なトピックに進むための準備を整えます。組み込み開発の経験がないRust開発者も対象としており、低レベルプログラミングの概念も適宜紹介されます。
全文翻訳
はじめに
Espressif製品における組み込みRust開発のためのガイドへようこそ。本書は、皆様が当社のツールとエコシステムを使い始め、慣れるのを助けるために設計されています。その過程で、当社のソフトウェアスタックの構造を紹介し、プロジェクト生成とツールを使った基本的なワークフローを案内します。最終的には、リファレンスドキュメントや外部トレーニングリソースを通じて、より高度な資料を探求する準備ができるでしょう。
本書の対象者
本書は、組み込み開発に興味があるRust開発者を対象としていますが、組み込みシステムに関する事前の経験は問いません。低レベルプログラミングの概念に多少精通していると役立つかもしれませんが、重要なアイデアは登場するたびに紹介するよう努めます。もし、基礎知識を広げたい場合は、追加リソースの学習を検討してください。
安定性と可用性
安定性を追求していますが、APIの改善、パフォーマンスの向上、新機能の導入に伴い、定期的な変更が発生する可能性があることをご了承ください。セマンティックバージョニング(SemVer)に従い、既に安定化されたモジュールには破壊的な変更は加えられません。しかし、esp-halの一部や特定のドライバなどの不安定な機能は活発に開発されており、SemVerの保証の対象外です。これは、これらの不安定なコンポーネントを使用すると、Rustのナイトリーコンパイラを使用する場合と同様に、単純な`cargo update`でプロジェクトが壊れる可能性があることを意味します。このような不安定さは、まだ急速に進化している広範なRust組み込みエコシステム全体で一般的です。頻繁な変更を予想し、依存関係を注意深く追跡してください。主要なクレートについては、リリース間の移行ガイドを提供し、皆様が最新の状態を保つのを支援します。
追加リソース
本書でカバーされている特定の概念に慣れていない場合や、理解を深めたい場合は、以下のリソースが役立つかもしれません。
リソース
説明
The Rust Programming Language
組み込み開発に飛び込む前に、Rustの基本を学びましょう。
The Embedded Rust Book
RustのEmbedded Working Groupからのリソース集。
Embedded Rust (no_std) on Espressif
Espressif SoCでno_std環境で作業するためのガイド。
Awesome ESP Rust
Espressif製品向けのRustプログラミング言語での開発リソースリスト。
Awesome Embedded Rust
Rustプログラミング言語での組み込みおよび低レベルプログラミングに関連するリソースのリスト。有用なクレートのセレクションも含まれます。
本書への貢献
本書の作業は、このリポジトリで調整されています。指示に従うのが難しい場合や、不明瞭なセクションを見つけた場合は、イシュートラッカーで報告してください。タイポ修正や明確さ向上のためのプルリクエスト形式での貢献はいつでも歓迎します!
サポートとコミュニティ
ヘルプが必要な場合、質問がある場合、またはesp-rsに関連するトピックについて議論したい場合は、以下のチャネルを通じてご連絡いただけます。
Matrix: コミュニティチャットに参加してください。
GitHub Discussions: コミュニティと交流してください。
本書が、Espressif製品上でRustを使用して堅牢で効率的かつ安全な組み込みアプリケーションを構築するための知識と自信を提供することを願っています。さあ、始めましょう!