タグ: no-std
26 crates にこのタグが付けられています。
cortex-m
ARM Cortex-M 向けの低レベルアクセス crate。NVIC/SCB/SysTick などの CPU コア周辺機能にアクセスし、割り込み制御や低電力命令(WFI)などを提供します。
cortex-m-rt
Cortex-M 向けランタイム(スタートアップ)crate。リセットベクタ・例外ベクタの定義、#[entry] によるエントリポイント指定、例外ハンドラ登録などを提供します。
critical-section
環境ごとに差し替え可能なクリティカルセクション API crate。no_std ライブラリが、Cortex-M の割り込み禁止、RP2040 のマルチコア対応ロック、RTOS のカーネルロック、std の Mutex などの実装差を意識せず、critical_section::with() や Mutex を使って共有データを保護できるようにします。
defmt
注目組み込み向けの高効率ロギング/フォーマット基盤。ログ文字列をデバイス側に保持し、送信はコンパクトなバイナリ形式にすることで帯域とフラッシュ消費を抑える。
defmt RTT Backend (defmt-rtt)
defmt のログ出力を SEGGER RTT(Real-Time Transfer)経由でホストへ送るバックエンド。低オーバーヘッドでリアルタイムにログを取得でき、開発中の計測・デバッグに向きます。
Embassy Executor (embassy-executor)
注目組み込み向け async/await 実行環境(エグゼキュータ)。割り込み駆動・スレッド駆動など複数の実行モデルをサポートし、static ベースのタスク生成でヒープ不要の構成も可能。
Embassy Net (embassy-net)
Embassy 向けの軽量ネットワークスタック。TCP/UDP ソケット等を async/await で扱えるようにし、組み込み機器での IP 通信を実装しやすくする。
embassy-nrf
注目Nordic Semiconductor nRF シリーズ向けの Embassy HAL。GPIO、UART/UARTE、SPI/SPIM、I2C/TWIM、ADC/SAADC、PWM、Timer、Radio など多くのペリフェラルに対して、blocking API と async API を提供します。
Embassy Sync (embassy-sync)
Embassy 向けの同期プリミティブ(Mutex、Signal、Channel 等)を提供。no_std 環境でのタスク間通信・排他制御を想定した設計。
Embassy Time (embassy-time)
Embassy 向けの時間管理(Delay/Timer/Instant/Duration)を提供する crate。タイムドライバ実装と組み合わせて、async でのスリープやタイムアウト処理を実現。
Embassy USB (embassy-usb)
Embassy 向けの USB デバイススタック。CDC-ACM(仮想シリアル)などのクラス実装を async/await で扱えるようにし、USB 機能の組み込みを容易にする。
Embedded Graphics (embedded-graphics)
no_std 環境でも使える 2D グラフィックスライブラリ。フォント描画、図形描画、描画プリミティブを提供し、各種ディスプレイドライバ(別 crate)と組み合わせて UI を構築できる。
embedded-hal
注目組み込み向け HAL トレイト群の標準的インターフェース。GPIO、SPI、I2C などの共通トレイトを定義し、ドライバと HAL 実装の分離・再利用を促進する。
embedded-io
組み込み向けの I/O トレイト(Read/Write/Seek 等)を提供する crate。std の I/O に近い発想で、no_std 環境でもドライバやミドルウェアの共通化をしやすくする。
embedded-storage
組み込み向けの不揮発ストレージ抽象化 crate。EEPROM、FRAM、内蔵 Flash、外付け NOR Flash などを、ドライバ非依存の trait 境界で扱うための共通インターフェースを提供します。
flip-link
ARM Cortex-M 向けのゼロコスト・スタックオーバーフロー保護リンカーラッパー。RAM メモリレイアウトを反転させ、スタックを .bss+.data 領域の下に配置することで、オーバーフロー時に HardFault を発生させて静的変数の破壊を防ぐ。
futures
注目Rust の非同期プログラミング基盤を提供する crate。Future / Stream / Sink、join! / select! などの制御フロー、executor、channel、非同期 I/O 抽象などをまとめて利用できる futures-rs のファサード crate です。default-features = false により no_std 環境でも利用できますが、API は限定されます。
heapless
注目ヒープ無し(固定容量)で使えるコレクション(Vec/String/Deque/Map 等)を提供する crate。no_std 環境でのメモリ使用量を静的に制御しやすい。
lsm303agr
STMicroelectronics LSM303AGR 向けのプラットフォーム非依存 Rust ドライバ。embedded-hal による I2C/SPI 接続で、3軸加速度・3軸地磁気・温度・FIFO・割り込み設定などを扱えます。
nb (Non-Blocking) (nb)
Non-blocking I/O のためのトレイトとユーティリティ。embedded-hal で広く使われる「WouldBlock を返す」非同期パターン(Future ベースではない)を表現するための基盤です。
panic-probe
組み込み向け panic handler。プローブ接続(probe-rs など)と組み合わせてパニック原因の特定を支援し、設定によってはスタックトレース取得の導線も作れます。
postcard
no_std 向けのコンパクトなシリアライズ/デシリアライズライブラリ。serde 互換で、バッファに対して直接エンコード/デコードでき、組み込みの通信(バイナリプロトコル)に適します。
proptest
Rust向けのproperty-based testingフレームワーク。ランダム入力を生成し、コードの性質を検査し、失敗時には最小の再現ケースへ自動シュリンクする。
RTIC (rtic)
注目RTIC(Real-Time Interrupt-driven Concurrency)フレームワーク。Cortex-M の割り込み優先度をスケジューラとして活用し、競合の少ないリアルタイムタスク設計を支援します(共有リソースの静的解析・優先度継承など)。
serde-json-core
no_std 環境向けの最小 JSON シリアライザ/デシリアライザ。serde 互換で、動的メモリを使わずに小さな JSON の入出力を扱いたいケースに向きます。
static_cell
静的に確保したメモリ領域を実行時に一度だけ初期化し、'static 参照として取得するための no_std / no_alloc 対応 crate。組み込み環境で &'static mut T が必要な初期化処理に適しています。