4 Punkte von GN⁺ 2026-01-10 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Framework der nächsten Generation, entwickelt, um sichere und effiziente Embedded-Anwendungen schnell zu erstellen
  • Gewährleistet Speicher- und Thread-Sicherheit zur Compile-Zeit ohne Runtime oder Garbage Collector und ermöglicht Multitasking auch ohne RTOS
  • Unterstützt verschiedene Mikrocontroller und umfasst zentrale Funktionen wie HAL, Networking, Bluetooth, USB und Bootloader
  • Berücksichtigt mit Low-Power-Design und prioritätsbasiertem Executor sowohl Echtzeitverarbeitung als auch Akkulaufzeit
  • Etabliert sich als führende Plattform für asynchrone Embedded-Entwicklung in Verbindung mit dem Rust-Ökosystem

Überblick über Embassy

  • Embassy ist ein Framework der nächsten Generation, mit dem sich mithilfe von Rust und async-Funktionalität sichere und effiziente Embedded-Anwendungen schreiben lassen
    • Läuft ohne Runtime, Garbage Collector und Betriebssystem
    • Gewährleistet Speicher- und Thread-Sicherheit zur Compile-Zeit

Architektur auf Basis von Rust + async

  • Nutzt Rusts async/await für effizientes Multitasking in Embedded-Umgebungen
    • Tasks werden zur Compile-Zeit in Zustandsmaschinen (state machines) umgewandelt und kooperativ ausgeführt
    • Keine dynamische Speicherallokation erforderlich, Ausführung auf einem einzelnen Stack
    • Erreicht schnelleren und kleineren Code auch ohne Context Switching eines RTOS
  • Im verlinkten Material wird ein Leistungsvorteil gegenüber RTOS erwähnt

Wichtige Komponenten (Batteries Included)

  • Hardware-Abstraktionsschicht (HAL)
    • Steuert Hardware-Funktionen über sichere Rust-APIs
    • Wichtige unterstützte Plattformen: STM32, nRF, RP2040, MSPM0, ESP32, CH32, PolarFire SoC, PY32
  • Zeitverwaltung (embassy-time)
    • Bietet global nutzbare Typen wie Instant, Duration, Timer, ohne Overflow
  • Echtzeit- und Low-Power-Unterstützung
    • Durch das Erzeugen mehrerer Executor ist prioritätsbasierte Task-Ausführung möglich
    • Im Leerlauf wird der Core automatisch in den Energiesparmodus versetzt, interruptbasiertes Wake-up
  • Networking (embassy-net)
    • Unterstützt Ethernet, IP, TCP, UDP, ICMP, DHCP
    • Die asynchrone Struktur vereinfacht Timeout-Management und die Verarbeitung mehrerer Verbindungen
  • Bluetooth
    • Unterstützt verschiedene BLE-Stacks wie trouble, nrf-softdevice, embassy-stm32-wpan
  • LoRa, USB, Bootloader
    • Unterstützung für den LoRaWAN-Stack über lora-rs
    • embassy-usb implementiert USB CDC und HID-Klassen
    • embassy-boot unterstützt Firmware-Updates, die auch bei Stromausfällen sicher sind

Technische Daten und Lizenz

  • Minimal unterstützte Rust-Version (MSRV): ab 1.75
  • Lizenz: Wahlweise Apache-2.0 oder MIT
  • Der Projektname ist eine Abkürzung für „** EMBedded ASYnc**”

Noch keine Kommentare.

Noch keine Kommentare.