コンテンツにスキップ

Crates 一覧

組み込み以外でも使用可能なクレートは crates.io blessed.rs などのサイトを参照してください。

組み込み開発で特に有用なクレートは以下の検索フィールドやタグから探すことができます。

28 / 28 crates

cortex-m

ARM Cortex-M 向けの低レベルアクセス crate。NVIC/SCB/SysTick などの CPU コア周辺機能にアクセスし、割り込み制御や低電力命令(WFI)などを提供します。

Matureno_std
cortex-mno-stdbare-metalinterrupt

cortex-m-rt

Cortex-M 向けランタイム(スタートアップ)crate。リセットベクタ・例外ベクタの定義、#[entry] によるエントリポイント指定、例外ハンドラ登録などを提供します。

Matureno_std
cortex-mno-stdbare-metalinterrupt

critical-section

環境ごとに差し替え可能なクリティカルセクション API crate。no_std ライブラリが、Cortex-M の割り込み禁止、RP2040 のマルチコア対応ロック、RTOS のカーネルロック、std の Mutex などの実装差を意識せず、critical_section::with() や Mutex を使って共有データを保護できるようにします。

Matureno_std
no-stdinterruptcritical-section

defmt

注目

組み込み向けの高効率ロギング/フォーマット基盤。ログ文字列をデバイス側に保持し、送信はコンパクトなバイナリ形式にすることで帯域とフラッシュ消費を抑える。

Matureno_std
defmtno-stdcortex-m

defmt RTT Backend

defmt のログ出力を SEGGER RTT(Real-Time Transfer)経由でホストへ送るバックエンド。低オーバーヘッドでリアルタイムにログを取得でき、開発中の計測・デバッグに向きます。

Stableno_std
defmtno-stdcortex-mbare-metal

Embassy Executor

注目

組み込み向け async/await 実行環境(エグゼキュータ)。割り込み駆動・スレッド駆動など複数の実行モデルをサポートし、static ベースのタスク生成でヒープ不要の構成も可能。

Betano_std
embassyasyncno-stdcortex-m

Embassy Net

Embassy 向けの軽量ネットワークスタック。TCP/UDP ソケット等を async/await で扱えるようにし、組み込み機器での IP 通信を実装しやすくする。

Betano_std
embassyasyncno-stdtcp

embassy-nrf

注目

Nordic Semiconductor nRF シリーズ向けの Embassy HAL。GPIO、UART/UARTE、SPI/SPIM、I2C/TWIM、ADC/SAADC、PWM、Timer、Radio など多くのペリフェラルに対して、blocking API と async API を提供します。

Stableno_std
no-stdasyncembassyembedded-hal

Embassy STM32

注目

STM32 マイクロコントローラ向けの async-first HAL 実装。embassy-rs プロジェクトの一部として開発されており、embassy-executor と組み合わせることで非同期タスクを中心にした組み込み開発が可能。主要シリーズ(F4/H7/G4/L4/WB 等)をはじめ、幅広い STM32 に対応。

Betano_std
embassyasynccortex-m

Embassy Sync

Embassy 向けの同期プリミティブ(Mutex、Signal、Channel 等)を提供。no_std 環境でのタスク間通信・排他制御を想定した設計。

Betano_std
embassyasyncno-stdinterrupt

Embassy Time

Embassy 向けの時間管理(Delay/Timer/Instant/Duration)を提供する crate。タイムドライバ実装と組み合わせて、async でのスリープやタイムアウト処理を実現。

Betano_std
embassyasyncno-stdtimer

Embassy USB

Embassy 向けの USB デバイススタック。CDC-ACM(仮想シリアル)などのクラス実装を async/await で扱えるようにし、USB 機能の組み込みを容易にする。

Betano_std
embassyasyncno-std

Embedded Graphics

no_std 環境でも使える 2D グラフィックスライブラリ。フォント描画、図形描画、描画プリミティブを提供し、各種ディスプレイドライバ(別 crate)と組み合わせて UI を構築できる。

Matureno_std
no-std

embedded-hal

注目

組み込み向け HAL トレイト群の標準的インターフェース。GPIO、SPI、I2C などの共通トレイトを定義し、ドライバと HAL 実装の分離・再利用を促進する。

Matureno_std
no-stddriver

embedded-io

組み込み向けの I/O トレイト(Read/Write/Seek 等)を提供する crate。std の I/O に近い発想で、no_std 環境でもドライバやミドルウェアの共通化をしやすくする。

Stableno_std
no-std

embedded-storage

組み込み向けの不揮発ストレージ抽象化 crate。EEPROM、FRAM、内蔵 Flash、外付け NOR Flash などを、ドライバ非依存の trait 境界で扱うための共通インターフェースを提供します。

Stableno_std
no-stdflashnor-flashnand-flash

flip-link

ARM Cortex-M 向けのゼロコスト・スタックオーバーフロー保護リンカーラッパー。RAM メモリレイアウトを反転させ、スタックを .bss+.data 領域の下に配置することで、オーバーフロー時に HardFault を発生させて静的変数の破壊を防ぐ。

Stable
cortex-mno-stdbare-metalstack-protection

futures

注目

Rust の非同期プログラミング基盤を提供する crate。Future / Stream / Sink、join! / select! などの制御フロー、executor、channel、非同期 I/O 抽象などをまとめて利用できる futures-rs のファサード crate です。default-features = false により no_std 環境でも利用できますが、API は限定されます。

Matureno_std
no-stdallocasync

heapless

注目

ヒープ無し(固定容量)で使えるコレクション(Vec/String/Deque/Map 等)を提供する crate。no_std 環境でのメモリ使用量を静的に制御しやすい。

Matureno_std
no-std

lsm303agr

STMicroelectronics LSM303AGR 向けのプラットフォーム非依存 Rust ドライバ。embedded-hal による I2C/SPI 接続で、3軸加速度・3軸地磁気・温度・FIFO・割り込み設定などを扱えます。

Stableno_std
accelerometermagnetometerembedded-halembedded-hal-async

nb (Non-Blocking)

Non-blocking I/O のためのトレイトとユーティリティ。embedded-hal で広く使われる「WouldBlock を返す」非同期パターン(Future ベースではない)を表現するための基盤です。

Matureno_std
no-stdbare-metalinterruptuart

panic-probe

組み込み向け panic handler。プローブ接続(probe-rs など)と組み合わせてパニック原因の特定を支援し、設定によってはスタックトレース取得の導線も作れます。

Stableno_std
no-stdcortex-mbare-metaldefmt

postcard

no_std 向けのコンパクトなシリアライズ/デシリアライズライブラリ。serde 互換で、バッファに対して直接エンコード/デコードでき、組み込みの通信(バイナリプロトコル)に適します。

Matureno_std
no-stdallocbare-metalserial

probe-rs

注目

組み込みデバッグプローブ操作ライブラリ。SWD/JTAG 経由のフラッシュ書き込み、レジスタ/メモリ操作、RTT、デバッグ実行制御などを提供。CLI ツールと組み合わせて開発フローを統合できます。

Mature
cortex-mriscvbare-metaldefmt

proptest

Rust向けのproperty-based testingフレームワーク。ランダム入力を生成し、コードの性質を検査し、失敗時には最小の再現ケースへ自動シュリンクする。

Matureno_std
no-std

RTIC

注目

RTIC(Real-Time Interrupt-driven Concurrency)フレームワーク。Cortex-M の割り込み優先度をスケジューラとして活用し、競合の少ないリアルタイムタスク設計を支援します(共有リソースの静的解析・優先度継承など)。

Matureno_std
cortex-mno-stdrticinterrupt

serde-json-core

no_std 環境向けの最小 JSON シリアライザ/デシリアライザ。serde 互換で、動的メモリを使わずに小さな JSON の入出力を扱いたいケースに向きます。

Betano_std
no-stdallocbare-metalserial

static_cell

静的に確保したメモリ領域を実行時に一度だけ初期化し、'static 参照として取得するための no_std / no_alloc 対応 crate。組み込み環境で &'static mut T が必要な初期化処理に適しています。

Stableno_std
no-stdno-allocbare-metalcritical-section