Heim Der Blog Blog Details

Wie implementiert man künstliche Intelligenz-Algorithmen auf STM32?

May 23 2025
Ampheo

Anfrage

Globaler Lieferant elektronischer Komponenten AMPHEO PTY LTD: Umfangreiches Inventar für One-Stop-Shopping. Einfache Anfragen, schnelle, individuelle Lösungen und Angebote.

SCHNELLE ANFRAGE
ZUR RFQ-LISTE HINZUFÜGEN
Wie implementiert man künstliche Intelligenz-Algorithmen auf STM32?

Die Bereitstellung von KI-Algorithmen auf STM32-Mikrocontrollern erfordert die Umwandlung trainierter Modelle in optimierten, effizienten Code, der auf den begrenzten Ressourcen der STM32-Geräte ausgeführt werden kann (eingeschränkter Speicher, Rechenleistung und Energieverbrauch). Hier ist eine Schritt-für-Schritt-Anleitung:

Wie implementiert man künstliche Intelligenz-Algorithmen auf STM32?


1. Auswahl des richtigen STM32-Boards

Nicht alle STM32-Mikrocontroller eignen sich für KI. Wähle ein Modell mit ausreichend RAM, Flash und Rechenleistung:

  • STM32H7-Serie (High-Performance)

  • STM32F7-Serie (hohe Leistung)

  • STM32L4-Serie (für stromsparende KI-Anwendungen)

  • STM32MP1 (Mikroprozessorbasiert, unterstützt Linux)


2. Trainieren des KI-Modells

Trainiere dein Modell auf einem PC mit einem Standard-Framework:

  • TensorFlow / TensorFlow Lite

  • PyTorch (muss zu ONNX oder TFLite konvertiert werden)

  • Keras

Stelle sicher, dass das Modell klein genug ist (TinyML-tauglich).


3. Umwandlung des Modells in ein geeignetes Format

Nach dem Training musst du das Modell in ein Format umwandeln, das mit STM32-Tools kompatibel ist.

Gängige Formate:

  • TensorFlow Lite (.tflite) – kompatibel mit STM32Cube.AI

  • ONNX – kann in TFLite konvertiert oder mit Drittanbieter-Tools verwendet werden


4. Verwendung von STM32Cube.AI

STM32Cube.AI ist das offizielle Tool von ST zur Konvertierung und Optimierung neuronaler Netzwerke für STM32-MCUs.

Schritte:

  1. STM32CubeMX installieren (enthält STM32Cube.AI Plugin)

  2. Neues STM32-Projekt in STM32CubeMX erstellen

  3. X-CUBE-AI Middleware hinzufügen

  4. Dein .tflite- oder .onnx-Modell importieren

  5. Speicher und Peripherie konfigurieren

  6. C-Code generieren

STM32Cube.AI wird:

  • Das Modell analysieren

  • Es optimieren (Quantisierung, Pruning etc.)

  • Effizienten C-Code für Inferenz erzeugen


5. Integration des Inferenz-Codes

  • STM32Cube.AI erzeugt Funktionen wie ai_network_run(), die du in deiner Embedded-Anwendung aufrufen kannst.

  • Du musst Ein-/Ausgabepuffer verwalten (z. B. normalisierte Bilder, Audiodaten usw.)


6. Bereitstellen und Testen

  • Kompiliere und flashe die Firmware mit STM32CubeIDE oder Keil/IAR.

  • Teste mit realen Eingaben.

  • Verwende Tools wie STM32CubeMonitor-AI zur Validierung der Modellleistung auf der Hardware.


7. Optimierung der Leistung

  • Nutze festkommaarithmetische oder quantisierte Modelle (z. B. 8-Bit).

  • Aktiviere Hardwarebeschleunigung (einige STM32s verfügen über DSP, FPU oder KI-Beschleuniger).

  • Nutze DMA für I/O und vermeide blockierende Aufrufe.

  • Verringere die Modellkomplexität (weniger Schichten, kleinere Filter usw.)


Beispielanwendungen

  • Sprachaktivierung (z. B. Erkennung von Schlüsselwörtern)

  • Gestenerkennung mit Beschleunigungssensoren

  • Bildklassifikation mit niedrig aufgelösten Graustufenbildern

  • Zustandsüberwachung (Predictive Maintenance) mit Vibrationssensoren


Zusätzliche Tools

  • NanoEdge AI Studio (von ST): Für Anomalieerkennung und Edge-KI ohne tiefes ML-Wissen.

  • CMSIS-NN: Optimierte neuronale Netzwerk-Kernel für Cortex-M-Prozessoren (Alternative zu STM32Cube.AI für mehr Kontrolle).

Ampheo