Erste Schritte der STMicroelectronics STM32WBA-Serie
Produktinformationen
Spezifikationen:
- Produktname: STM32CubeWBA MCU-Paket
- Hersteller: STMicroelectronics
- Kompatibilität: Mikrocontroller der STM32WBA-Serie
- Lizenzierung: Open-Source-BSD-Lizenz
Anweisungen zur Produktverwendung
Hauptmerkmale des STM32CubeWBA MCU-Pakets:
Das STM32CubeWBA MCU-Paket bietet alle notwendigen eingebetteten Softwarekomponenten für die Entwicklung von Anwendungen auf Mikrocontrollern der STM32WBA-Serie. Es ist innerhalb der STM32-Serie hochgradig portierbar und verfügt über HAL- und LL-APIs, zampDateien und Middleware-Komponenten.
Architektur überview:
Die Architektur des STM32CubeWBA MCU-Pakets besteht aus drei Ebenen: Anwendungen, bibliotheks- und protokollbasierte Komponenten, Hardware-Abstraktionsschicht, BSP-Treiber, Kerntreiber und Low-Layer-APIs.
Häufig gestellte Fragen
- Was ist im STM32CubeWBA MCU-Paket enthalten?
Das Paket umfasst Low-Layer- (LL) und Hardware-Abstraktionsschicht-APIs (HAL), zampDateien, Anwendungen, Middleware-Komponenten wie FileX/LevelX, NetX Duo, mbed-crypto-Bibliotheken und mehr. - Ist das STM32CubeWBA MCU-Paket mit dem STM32CubeMX-Codegenerator kompatibel?
Ja, das Paket ist vollständig kompatibel mit dem STM32CubeMX-Codegenerator zur Generierung von Initialisierungscode.
Einführung
- STM32Cube ist eine Originalinitiative von STMicroelectronics zur deutlichen Verbesserung der Designerproduktivität durch Reduzierung des Entwicklungsaufwands, der Zeit und der Kosten. STM32Cube deckt das gesamte STM32-Portfolio ab.
STM32Cube enthält:- Eine Reihe benutzerfreundlicher Softwareentwicklungstools, die die Projektentwicklung von der Konzeption bis zur Realisierung abdecken, darunter:
- STM32CubeMX, ein grafisches Software-Konfigurationstool, das die automatische Generierung von C-Initialisierungscode mit grafischen Assistenten ermöglicht
- STM32CubeIDE, ein All-in-One-Entwicklungstool mit Peripheriekonfiguration, Codegenerierung, Codekompilierung und Debugfunktionen
- STM32CubeCLT, ein All-in-one-Befehlszeilen-Entwicklungstoolset mit Codekompilierung, Board-Programmierung und Debugfunktionen
- STM32CubeProgrammer (STM32CubeProg), ein Programmiertool, das in grafischer und Befehlszeilenversion verfügbar ist
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), leistungsstarke Überwachungstools zur Feinabstimmung des Verhaltens und der Leistung von STM32-Anwendungen in Echtzeit
- STM32Cube MCU- und MPU-Pakete, umfassende eingebettete Softwareplattformen speziell für jede Mikrocontroller- und Mikroprozessorserie (z. B. STM32CubeWBA für die STM32WBA-Serie), die Folgendes umfassen:
- STM32Cube Hardware Abstraction Layer (HAL) für maximale Portabilität im gesamten STM32-Portfolio
- STM32Cube-Low-Layer-APIs, die die beste Leistung und den besten Footprint mit einem hohen Maß an Benutzerkontrolle über die Hardware gewährleisten
- Ein konsistenter Satz von Middleware-Komponenten wie ThreadX, FileX / LevelX, NetX Duo, USBX, Touch-Bibliothek, mbed-crypto, TFM, MCUboot, OpenBL und STM32_WPAN (einschließlich Bluetooth® Low Energy profiles und Dienste, Mesh, Zigbee®, OpenThread, Matter und 802.15.4 MAC-Schicht)
- Alle eingebetteten Software-Dienstprogramme mit vollständigen Sätzen von Peripheriegeräten und Anwendungsbeispielenamples
- STM32Cube-Erweiterungspakete, die eingebettete Softwarekomponenten enthalten, die die Funktionalitäten der STM32Cube-MCU- und MPU-Pakete ergänzen mit:
- Middleware-Erweiterungen und Anwendungsebenen
- ExampDateien, die auf einigen spezifischen STMicroelectronics-Entwicklungsboards ausgeführt werden
- Eine Reihe benutzerfreundlicher Softwareentwicklungstools, die die Projektentwicklung von der Konzeption bis zur Realisierung abdecken, darunter:
- Dieses Benutzerhandbuch beschreibt die ersten Schritte mit dem STM32CubeWBA MCU-Paket.
- Abschnitt 2 STM32CubeWBA-Hauptfunktionen beschreibt die Hauptfunktionen des STM32CubeWBA-MCU-Pakets.
- Abschnitt 3 STM32CubeWBA-Architektur vorbeiview bietet ein Overview der STM32CubeWBA-Architektur und der MCU-Paketstruktur.
allgemeine Informationen
Das STM32CubeWBA MCU-Paket läuft auf STM32 32-Bit-Mikrocontrollern basierend auf dem Arm® Cortex®-M33-Prozessor mit Arm® TrustZone® und FPU.
Notiz: Arm und TrustZone sind eingetragene Marken von Arm Limited (oder seinen Tochtergesellschaften) in den USA und/oder anderswo.
STM32CubeWBA-Hauptfunktionen
- Das STM32CubeWBA MCU-Paket läuft auf STM32 32-Bit-Mikrocontrollern basierend auf dem Arm® Cortex®-M33-Prozessor mit TrustZone® und FPU.
- Der STM32CubeWBA vereint in einem einzigen Paket alle generischen eingebetteten Softwarekomponenten, die zur Entwicklung einer Anwendung für die Mikrocontroller der STM32WBA-Serie erforderlich sind. Im Einklang mit der STM32Cube-Initiative ist dieser Komponentensatz hochgradig portierbar, nicht nur innerhalb der Mikrocontroller der STM32WBA-Serie, sondern auch auf andere STM32-Serien.
- Der STM32CubeWBA ist vollständig kompatibel mit dem STM32CubeMX-Codegenerator, um Initialisierungscode zu generieren. Das Paket umfasst Low-Layer- (LL) und Hardware-Abstraktionsschicht-APIs (HAL), die die Mikrocontroller-Hardware abdecken, sowie einen umfangreichen Satz exampDateien, die auf STMicroelectronics-Boards laufen. Die HAL- und LL-APIs sind zur Benutzerfreundlichkeit in einer Open-Source-BSD-Lizenz verfügbar.
- Das STM32CubeWBA MCU-Paket enthält außerdem eine umfassende Middleware-Komponente, die auf der Microsoft® Azure® RTOS-Middleware und anderen internen und Open-Source-Stacks basiert, mit den entsprechenden Examples.
- Sie werden mit kostenlosen, benutzerfreundlichen Lizenzbedingungen geliefert:
- Integriertes und voll funktionsfähiges Azure® RTOS: Azure® RTOS ThreadX
- CMSIS-RTOS-Implementierung mit Azure® RTOS ThreadX
- USB-Host- und Gerätestapel mit vielen Klassen: Azure® RTOS USBX
- Fortschrittlich file System- und Flash-Übersetzungsschicht: FileX / LevelX
- Netzwerk-Stack in Industriequalität: Optimiert für Leistung mit vielen IoT-Protokollen: NetX Duo
- OpenBootloader
- Arm® Trusted Firmware-M (TF-M)-Integrationslösung
- mbed-crypto-Bibliotheken
- ST-Netzwerkbibliothek
- STMTouch-Berührungssensor-Bibliothekslösung
- Im STM32CubeWBA MCU-Paket sind auch mehrere Anwendungen und Demonstrationen zur Implementierung all dieser Middleware-Komponenten enthalten.
- Das Komponentenlayout des STM32CubeWBA-MCU-Pakets ist in Abbildung 1 dargestellt. Komponenten des STM32CubeWBA-MCU-Pakets.
STM32CubeWBA-Architektur vorbeiview
Die STM32CubeWBA-MCU-Paketlösung basiert auf drei unabhängigen Ebenen, die problemlos interagieren, wie in Abbildung 2 beschrieben. STM32CubeWBA-MCU-Paketarchitektur.
Stufe 0
Diese Ebene ist in drei Unterschichten unterteilt:
- Board-Support-Paket (BSP).
- Hardware-Abstraktionsschicht (HAL):
- HAL-Peripherietreiber
- Low-Layer-Treiber
- Grundlegende Peripherienutzung, zamples.
Board-Support-Paket (BSP)
Diese Schicht bietet eine Reihe von APIs relativ zu den Hardwarekomponenten auf den Hardwareplatinen (z. B. LCD-, Audio-, microSD™- und MEMS-Treiber). Es besteht aus zwei Teilen:
- Komponententreiber:
Dieser Treiber bezieht sich auf das externe Gerät auf der Platine und nicht auf das STM32-Gerät. Der Komponententreiber stellt spezifische APIs für externe Komponenten des BSP-Treibers bereit und kann auf jedes andere Board portiert werden. - BSP-Treiber:
Der BSP-Treiber ermöglicht die Verknüpfung der Komponententreiber mit einer bestimmten Platine und bietet eine Reihe benutzerfreundlicher Funktionen
APIs. Die API-Namensregel lautet BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP basiert auf einer modularen Architektur, die eine einfache Portierung auf jede Hardware durch einfache Implementierung der Low-Level-Routinen ermöglicht.
Hardware-Abstraktionsschicht (HAL) und Low-Layer (LL)
Die STM32CubeWBA HAL und LL ergänzen sich und decken ein breites Spektrum an Anwendungsanforderungen ab:
- Die HAL-Treiber bieten funktionsorientierte, hochportable APIs auf hoher Ebene. Sie verbergen die MCU- und Peripheriekomplexität für den Endbenutzer.
Die HAL-Treiber stellen generische, funktionsorientierte Multi-Instanz-APIs bereit, die die Implementierung von Benutzeranwendungen vereinfachen, indem sie gebrauchsfertige Prozesse bereitstellen. Zum BeispielampFür die Kommunikationsperipheriegeräte (I2S, UART und andere) stellt es APIs bereit, die die Initialisierung und Konfiguration der Peripheriegeräte ermöglichen, die Datenübertragung basierend auf Abfragen, Unterbrechungen oder DMA-Prozessen verwalten und Kommunikationsfehler behandeln, die während der Kommunikation auftreten können. Die HAL-Treiber-APIs sind in zwei Kategorien unterteilt:- Generische APIs, die allen Mikrocontrollern der STM32-Serie gemeinsame und generische Funktionen bereitstellen.
- Erweiterungs-APIs, die spezifische und angepasste Funktionen für eine bestimmte Familie oder eine bestimmte Teilenummer bereitstellen.
- Die Low-Layer-APIs bieten Low-Level-APIs auf Registerebene mit besserer Optimierung, aber geringerer Portabilität.
- Sie erfordern umfassende Kenntnisse der MCU- und Peripheriespezifikationen.
- Die LL-Treiber sind so konzipiert, dass sie eine schnelle, leichtgewichtige, expertenorientierte Schicht bieten, die näher an der Hardware liegt als der HAL. Im Gegensatz zum HAL werden LL-APIs nicht für Peripheriegeräte bereitgestellt, bei denen optimierter Zugriff kein Schlüsselmerkmal ist, oder für solche, die eine umfangreiche Softwarekonfiguration oder einen komplexen Stack der oberen Ebene erfordern.
- Die LL-Treiber verfügen über:
- Eine Reihe von Funktionen zum Initialisieren peripherer Hauptfunktionen gemäß den in Datenstrukturen angegebenen Parametern.
- Eine Reihe von Funktionen zum Füllen von Initialisierungsdatenstrukturen mit den jedem Feld entsprechenden Rücksetzwerten.
- Funktion zur Peripherie-Deinitialisierung (Peripherieregister werden auf ihre Standardwerte zurückgesetzt).
- Eine Reihe von Inline-Funktionen für den direkten und atomaren Registerzugriff.
- Vollständige Unabhängigkeit von HAL und Möglichkeit zur Nutzung im Standalone-Modus (ohne HAL-Treiber).
- Vollständige Abdeckung der unterstützten Peripheriefunktionen.
Grundlegende Peripherienutzung, zamples
Diese Schicht umschließt das ExampDateien, die über die STM32-Peripheriegeräte erstellt wurden und nur die HAL- und BSP-Ressourcen verwenden.
Stufe 1
Diese Ebene ist in zwei Unterschichten unterteilt:
- Middleware-Komponenten
- ExampDateien basierend auf den Middleware-Komponenten
Middleware-Komponenten
- Die Middleware ist eine Reihe von Bibliotheken, die Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
- Matter, OpenBootloader, Microsoft® Azure® RTOS, TF-M, MCUboot und mbed-crypto.
- Die horizontale Interaktion zwischen den Komponenten dieser Ebene erfolgt durch Aufruf der vorgestellten APIs.
- Die vertikale Interaktion mit den Low-Layer-Treibern erfolgt über spezifische Rückrufe und statische Makros, die in der Aufrufschnittstelle des Bibliothekssystems implementiert sind.
- Die Hauptmerkmale jeder Middleware-Komponente sind wie folgt:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: Ein Echtzeitbetriebssystem (RTOS), das für eingebettete Systeme mit zwei Funktionsmodi entwickelt wurde.
- Gemeinsamer Modus: Allgemeine RTOS-Funktionen wie Thread-Verwaltung und -Synchronisierung, Speicherpoolverwaltung, Nachrichtenübermittlung und Ereignisbehandlung.
- Modulmodus: Ein erweiterter Benutzermodus, der das Laden und Entladen vorverknüpfter ThreadX-Module im laufenden Betrieb über einen Modulmanager ermöglicht.
- NetX Duo
- FileX
- USBX
- Azure® RTOS ThreadX: Ein Echtzeitbetriebssystem (RTOS), das für eingebettete Systeme mit zwei Funktionsmodi entwickelt wurde.
- Bluetooth® Low Energy (BLE): Implementiert das Bluetooth® Low Energy-Protokoll für die Link- und Stack-Schichten.
- MCUboot (Open-Source-Software)
- Zigbee®-Protokolle für den Stack und zugehörige Cluster.
- Thread®-Protokollstapel und Verbindungsschicht.
- Arm® Trusted Firmware-M, TF-M (Open-Source-Software): Referenzimplementierung der Arm®-Plattform-Sicherheitsarchitektur (PSA) für TrustZone® mit den zugehörigen sicheren Diensten.
- mbed-crypto (Open-Source-Software): Die mbed-crypto-Middleware stellt eine PSA-Kryptografie-API-Implementierung bereit.
- STM32-Berührungssensorbibliothek: Robuste kapazitive STMTouch-Berührungssensorlösung, die Näherungs-, Touchkey-, lineare und rotierende Berührungssensoren unterstützt. Es basiert auf einem bewährten Prinzip der Oberflächenladungsübertragung.
- Microsoft® Azure® RTOS
ExampDateien basierend auf den Middleware-Komponenten
Jede Middleware-Komponente wird mit einem oder mehreren Ex geliefertampDateien (auch Anwendungen genannt), die die Verwendung zeigen. Integration exampEs werden auch Dateien bereitgestellt, die mehrere Middleware-Komponenten nutzen.
STM32CubeWBA-Firmware-Paket vorbeiview
Unterstützte Geräte und Hardware der STM32WBA-Serie
- STM32Cube bietet eine hochportable Hardware-Abstraktionsschicht (HAL), die auf einer generischen Architektur basiert. Es ermöglicht das Prinzip des Aufbaus auf Schichten, z. B. die Verwendung der Middleware-Schicht zur Implementierung ihrer Funktionen, ohne im Detail zu wissen, welche MCU verwendet wird. Dies verbessert die Wiederverwendbarkeit des Bibliothekscodes und gewährleistet eine einfache Portabilität auf andere Geräte.
- Darüber hinaus bietet der STM32CubeWBA dank seiner Schichtarchitektur volle Unterstützung aller STM32WBA-Serien.
- Der Benutzer muss lediglich das richtige Makro in stm32wbaxx.h definieren.
- Tabelle 1 zeigt das Makro, das abhängig vom verwendeten Gerät der STM32WBA-Serie definiert werden muss. Dieses Makro muss auch im Compiler-Präprozessor definiert werden.
Tabelle 1. Makros für die STM32WBA-SerieMakro definiert in stm32wbaxx.h Geräte der STM32WBA-Serie stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6 stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7 - STM32CubeWBA verfügt über einen umfangreichen Satz exampDateien und Anwendungen auf allen Ebenen, sodass alle HAL-Treiber oder Middleware-Komponenten leicht zu verstehen und zu verwenden sind. Diese exampDie Dateien laufen auf den in Tabelle 2 aufgeführten STMicroelectronics-Boards.
Tabelle 2. Platinen für die STM32WBA-SeriePlanke Board STM32WBA unterstützte Geräte NUCLEO-WBA52CG STM32WBA52CGU6 NUCLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - Das STM32CubeWBA MCU-Paket kann auf jeder kompatiblen Hardware ausgeführt werden. Der Benutzer aktualisiert einfach die BSP-Treiber, um das bereitgestellte Ex zu portierenampDateien auf der Platine, wenn diese über die gleichen Hardware-Features (z. B. LED, LCD-Display und Tasten) verfügt.
Firmware-Paket vorbeiview
- Die STM32CubeWBA-Paketlösung wird in einem einzigen Zip-Paket mit der in Abbildung 3 gezeigten Struktur bereitgestellt. Struktur des STM32CubeWBA-Firmware-Pakets.
- Für jedes Board ist ein Satz examples wird mit vorkonfigurierten Projekten für EWARM-, MDK-ARM- und STM32CubeIDE-Toolchains bereitgestellt.
- Abbildung 4. STM32CubeWBA examples vorbeiview zeigt die Projektstruktur für die Platinen NUCLEO-WBA52CG, NUCLEO-WBA55CG und STM32WBA55G-DK1.
- Der ExampDateien werden abhängig von der STM32Cube-Ebene, auf die sie sich beziehen, klassifiziert und wie folgt benannt:
- Level 0 z.BampDie Dateien heißen Examples, Examples_LL und Bspamples_MIX. Sie verwenden jeweils HAL-Treiber, LL-Treiber und eine Mischung aus HAL- und LL-Treibern ohne jegliche Middleware-Komponente.
- Level 1 z.BampDateien heißen Anwendungen. Sie stellen typische Anwendungsfälle jeder Middleware-Komponente bereit. Jede Firmware-Anwendung für ein bestimmtes Board kann dank der in den Verzeichnissen Templates und Templates_LL verfügbaren Vorlagenprojekte schnell erstellt werden.
TrustZone®-fähige Projekte
- TrustZone®-fähig, z. BampDateinamen enthalten das Präfix _TrustZone. Die Regel gilt auch für Anwendungen (mit Ausnahme von TFM und SBSFU, die nativ für TrustZone® gelten).
- TrustZone®-fähiges ExampDateien und Anwendungen werden mit einer Multiprojektstruktur bereitgestellt, die aus sicheren und nicht sicheren Teilprojekten besteht, wie in Abbildung 5 dargestellt. Sichere und nicht sichere Multiprojektstruktur.
- TrustZone®-fähige Projekte werden gemäß der CMSIS-5-Gerätevorlage entwickelt, erweitert um den Systempartitionierungsheader file partition_ .h, der hauptsächlich für die Einrichtung der sicheren Attributeinheit (SAU), der FPU und der Zuweisung sicherer/unsicherer Interrupts im sicheren Ausführungszustand verantwortlich ist.
- Dieses Setup wird in der sicheren CMSIS-SystemInit()-Funktion durchgeführt, die beim Start aufgerufen wird, bevor die sichere main()-Funktion der Anwendung aufgerufen wird. Weitere Informationen finden Sie in der Arm® TrustZone®-M-Dokumentation zu den Softwarerichtlinien.
- Das Firmware-Paket des STM32CubeWBA-Pakets bietet eine Standardspeicherpartitionierung in der Partition _ .H fileEs ist verfügbar unter: \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T emplates
- In dieser Partition files ist die SAU standardmäßig deaktiviert. Folglich wird die IDAU-Speicherzuordnung für die Sicherheitszuordnung verwendet. Siehe Abbildung Sichere/nicht sichere Partitionierung mit TrustZone®-Technologie im RM0495-Referenzhandbuch.
- Wenn der Benutzer die SAU aktiviert, ist in der Partition eine Standardkonfiguration der SAU-Regionen vordefiniert files wie folgt:
- SAU-Region 0: 0x08080000 – 0x081FFFFF (unsichere sichere Hälfte des Flash-Speichers (512 KByte))
- SAU-Region 1: 0x0BF88000 – 0x0BF97FFF (nicht sicherer Systemspeicher)
- SAU-Region 2: 0x0C07E000 – 0x0C07FFFF (sicher, nicht sicher aufrufbar)
- SAU-Region 3: 0x20010000 – 0x2001FFFF (nicht sicheres SRAM2 (64 KByte))
- SAU-Region 4: 0x40000000 – 0x4FFFFFFF (nicht sicherer peripher zugeordneter Speicher)
- Um der Standardpartitionierung zu entsprechen, müssen für die Geräte der STM32WBAxx-Serie die folgenden Benutzeroptionsbytes festgelegt sein:
- TZEN = 1 (TrustZone®-fähiges Gerät)
- SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (64 von 128 Seiten des internen Flash-Speichers als sicher eingestellt) Hinweis: Der interne Flash-Speicher ist standardmäßig in TZEN = 1 vollständig sicher. Die Benutzeroptionsbytes SECWM1_PSTRT/ SECWM1_PEND müssen entsprechend der Anwendung festgelegt werden Speicherkonfiguration (SAU-Regionen, wenn SAU aktiviert ist). Projektlinker für sichere/unsichere Anwendungen files müssen ebenfalls ausgerichtet sein.
- Alle exampDateien haben die gleiche Struktur:
- \Inc-Ordner, der alle Header enthält files.
- Src-Ordner, der den Quellcode enthält.
- Die Ordner \EWARM, \MDK-ARM und \STM32CubeIDE enthalten das vorkonfigurierte Projekt für jede Toolchain.
- readme.md und readme.html beschreiben die Exampdas Verhalten und die erforderliche Umgebung, damit es funktioniert.
- ioc file Dadurch können Benutzer den größten Teil der Firmware öffnenampDateien in STM32CubeMX.
Erste Schritte mit STM32CubeWBA
Führen Sie einen ersten HAL-Ex durchample
In diesem Abschnitt wird erklärt, wie einfach es ist, das erste Ex auszuführenample innerhalb von STM32CubeWBA. Zur Veranschaulichung wird die Erzeugung eines einfachen LED-Umschalters verwendet, der auf der NUCLEO-WBA52CG-Karte läuft:
- Laden Sie das STM32CubeWBA MCU-Paket herunter.
- Entpacken Sie es in ein Verzeichnis Ihrer Wahl.
- Stellen Sie sicher, dass Sie die in Abbildung 1 gezeigte Paketstruktur nicht ändern. Es wird außerdem empfohlen, das Paket an einen Speicherort in der Nähe Ihres Root-Volumes zu kopieren (d. h. C:\ST oder G:\Tests), da bei einigen IDEs Probleme beim Pfad auftreten Länge ist zu lang.
Ausführen eines ersten TrustZone®-fähigen Example
- Vor dem Laden und Ausführen eines TrustZone®-fähigen Example, es ist obligatorisch, das Ex zu lesenample Readme file für jede spezifische Konfiguration, wodurch sichergestellt wird, dass die Sicherheit aktiviert ist, wie in Abschnitt 4.2.1 TrustZone®-fähige Projekte beschrieben (TZEN=1 (Benutzeroptionsbyte)).
- Navigieren Sie zu \Projects\NUCLEO-WBA52CG\Examples.
- Öffnen Sie die Ordner \GPIO und dann \GPIO_IOToggle_TrustZone.
- Öffnen Sie das Projekt mit Ihrer bevorzugten Toolchain. Kurz vorbeiview wie man ein Ex öffnet, erstellt und ausführtampDie Datei mit den unterstützten Toolchains ist unten angegeben.
- Erstellen Sie nacheinander alle sicheren und nicht sicheren Projekte neu files und laden Sie die sicheren und nicht sicheren Bilder in den Zielspeicher.
- Lass die Ex laufenample: Regelmäßig schaltet die sichere Anwendung LD2 jede Sekunde um, und die nicht sichere Anwendung schaltet LD3 doppelt so schnell um. Weitere Einzelheiten finden Sie in der Readme-Datei file der Example.
- Zum Öffnen, Erstellen und Ausführen eines ExampUm eine Datei mit den unterstützten Toolchains zu erstellen, führen Sie die folgenden Schritte aus:
- EWARM:
- Unter dem Example-Ordner, öffnen Sie den Unterordner \EWARM.
- Starten Sie den Arbeitsbereich Project.eww
- Erstellen Sie das sichere Projekt xxxxx_S neu files: [Projekt]>[Alles neu erstellen].
- Legen Sie das nicht sichere Projekt xxxxx_NS als aktive Anwendung fest (klicken Sie mit der rechten Maustaste auf das Projekt xxxxx_NS [Als aktiv festlegen]).
- Erstellen Sie das nicht sichere Projekt xxxxx_NS neu files: [Projekt]>[Alles neu erstellen].
- Flashen Sie die nicht sichere Binärdatei mit [Projekt]>[Download]>[Aktive Anwendung herunterladen].
- Legen Sie xxxxx_S als aktive Anwendung fest (klicken Sie mit der rechten Maustaste auf das xxxxx_S-Projekt [Als aktiv festlegen]).
- Flashen Sie die sichere Binärdatei mit [Herunterladen und Debuggen] (Strg+D).
- Führen Sie das Programm aus: [Debug]>[Go(F5)]
- MDK-ARM:
- Öffnen Sie die \MDK-ARM-Toolchain.
- Öffnen Sie den Arbeitsbereich „Multiprojekte“. file Projekt.uvmpw.
- Wählen Sie das Projekt xxxxx_s als aktive Anwendung aus ([Als aktives Projekt festlegen]).
- Erstellen Sie das xxxxx_s-Projekt.
- Wählen Sie das Projekt xxxxx_ns als aktives Projekt aus ([Als aktives Projekt festlegen]).
- Erstellen Sie das xxxxx_ns-Projekt.
- Laden Sie die nicht sichere Binärdatei ([F8]). Dadurch wird \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf in den Flash-Speicher heruntergeladen.
- Wählen Sie das Projekt Project_s als aktives Projekt aus ([Als aktives Projekt festlegen]).
- Laden Sie die sichere Binärdatei ([F8]). Dadurch wird \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf in den Flash-Speicher heruntergeladen.
- Lass die Ex laufenample.
- STM32CubeIDE:
- Öffnen Sie die STM32CubeIDE-Toolchain.
- Öffnen Sie den Arbeitsbereich „Multiprojekte“. file .Projekt.
- Erstellen Sie das Projekt xxxxx_Secure neu.
- Erstellen Sie das Projekt xxxxx_NonSecure neu.
- Starten Sie die Anwendung [Debug as STM32 Cortex-M C/C++] für das sichere Projekt.
- Wählen Sie im Fenster [Konfiguration bearbeiten] das Bedienfeld [Start] aus und laden Sie das Bild und die Symbole des nicht sicheren Projekts.
Wichtig: Das nicht sichere Projekt muss vor dem sicheren Projekt geladen werden. - OK klicken].
- Lass die Ex laufenample auf Debug-Perspektive.
- EWARM:
Ausführen eines ersten TrustZone®-deaktivierten Example
- Vor dem Laden und Ausführen einer TrustZone®-deaktivierten Versionample, es ist obligatorisch, das Ex zu lesenample Readme file für jede spezifische Konfiguration. Wenn es keine spezifischen Erwähnungen gibt, stellen Sie sicher, dass die Sicherheit des Board-Geräts deaktiviert ist (TZEN=0 (Benutzeroptionsbyte)). Informationen zur Durchführung der optionalen Regression auf TZEN = 0 finden Sie in den FAQ
- Navigieren Sie zu \Projects\NUCLEO-WBA52CG\Examples.
- Öffnen Sie die Ordner \GPIO und dann \GPIO_EXTI.
- Öffnen Sie das Projekt mit Ihrer bevorzugten Toolchain. Kurz vorbeiview wie man ein Ex öffnet, erstellt und ausführtampDie Datei mit den unterstützten Toolchains ist unten angegeben.
- Alles neu aufbauen files und laden Sie Ihr Bild in den Zielspeicher.
- Lass die Ex laufenample: Jedes Mal, wenn die [USER]-Taste gedrückt wird, schaltet die LD1-LED um. Weitere Einzelheiten finden Sie in der Readme-Datei file der Example.
- Zum Öffnen, Erstellen und Ausführen eines ExampUm eine Datei mit den unterstützten Toolchains zu erstellen, führen Sie die folgenden Schritte aus:
- EWARM:
- Unter dem Example-Ordner, öffnen Sie den Unterordner \EWARM.
- Starten Sie den Arbeitsbereich „Project.eww“ (der Name des Arbeitsbereichs kann sich z. B. ändern).ample zu einem anderen).
- Alles neu aufbauen files: [Projekt]>[Alles neu erstellen].
- Laden Sie das Projektbild: [Projekt]>[Debug].
- Programm ausführen: [Debug]>[Los (F5)].
- MDK-ARM:
- Unter dem ExampÖffnen Sie im Ordner le den Unterordner \MDK-ARM.
- Starten Sie den Arbeitsbereich „Project.uvproj“ (der Name des Arbeitsbereichs kann sich z. B. ändern).ample zu einem anderen).
- Alles neu aufbauen files:[Projekt]>[Alle Ziele neu erstellen fileS].
- Laden Sie das Projektbild: [Debug]>[Debug-Sitzung starten/stoppen].
- Programm ausführen: [Debug]>[Ausführen (F5)].
- STM32CubeIDE:
- Öffnen Sie die STM32CubeIDE-Toolchain.
- Klicken [File]>[Arbeitsbereich wechseln]>[Andere] und navigieren Sie zum STM32CubeIDE-Arbeitsbereichsverzeichnis.
- Klicken [File]>[Importieren], wählen Sie [Allgemein]>[Vorhandene Projekte in Workspace] und klicken Sie dann auf [Weiter].
- Navigieren Sie zum STM32CubeIDE-Arbeitsbereichsverzeichnis und wählen Sie das Projekt aus.
- Erstellen Sie das gesamte Projekt neu files: Wählen Sie das Projekt im Fenster [Projekt-Explorer] aus und klicken Sie dann auf das Menü [Projekt]>[Projekt erstellen].
- Führen Sie das Programm aus: [Ausführen]>[Debug (F11)]
- EWARM:
Entwicklung einer benutzerdefinierten Anwendung
Notiz: Die Software muss den Befehlscache (ICACHE) aktivieren, um eine Ausführung im Wartezustand 0 aus dem Flash-Speicher zu erhalten und die maximale Leistung und einen besseren Stromverbrauch zu erreichen.
Verwenden von STM32CubeMX zum Entwickeln oder Aktualisieren einer Anwendung
- Im STM32CubeWBA MCU-Paket sind fast alle Projekt-ExampDateien werden mit dem STM32CubeMX-Tool generiert, um das System, die Peripheriegeräte und die Middleware zu initialisieren.
- Die direkte Nutzung eines bestehenden Projektes z.BampDie Datei aus dem STM32CubeMX-Tool erfordert STM32CubeMX 6.10.0 oder höher:
- Öffnen Sie nach der Installation von STM32CubeMX ein vorgeschlagenes Projekt und aktualisieren Sie es gegebenenfalls. Der einfachste Weg, ein bestehendes Projekt zu öffnen, ist ein Doppelklick auf die *.ioc-Datei file sodass STM32CubeMX das Projekt und seine Quelle automatisch öffnet files.
- STM32CubeMX generiert den Initialisierungsquellcode solcher Projekte. Der Hauptquellcode der Anwendung ist in den Kommentaren „USER CODE BEGIN“ und „USER CODE END“ enthalten. Falls die IP-Auswahl und -Einstellung geändert wird, aktualisiert STM32CubeMX den Initialisierungsteil des Codes, behält aber den Hauptquellcode der Anwendung bei.
- Um ein benutzerdefiniertes Projekt im STM32CubeMX zu entwickeln, folgen Sie dem Schritt-für-Schritt-Prozess:
- Wählen Sie den STM32-Mikrocontroller aus, der zum erforderlichen Satz an Peripheriegeräten passt.
- Konfigurieren Sie die gesamte erforderliche eingebettete Software mit einem Pinbelegungskonfliktlöser, einem Hilfsmittel zur Einstellung des Taktbaums, einem Stromverbrauchsrechner und dem Dienstprogramm zur Konfiguration der MCU-Peripheriegeräte (z. B. GPIO oder USART) und Middleware-Stacks (z. B. USB).
- Generieren Sie den Initialisierungs-C-Code basierend auf der ausgewählten Konfiguration. Dieser Code kann in mehreren Entwicklungsumgebungen verwendet werden. Der Benutzercode bleibt bei der nächsten Codegenerierung erhalten.
- Weitere Informationen zu STM32CubeMX finden Sie im Benutzerhandbuch STM32CubeMX zur STM32-Konfiguration und Initialisierung der C-Code-Generierung (UM1718).
- Eine Liste der verfügbaren Projekte finden Sie zampDateien für STM32CubeWBA finden Sie im Anwendungshinweis STM32Cube Firmware abampDateien für die STM32WBA-Serie (AN5929).
Treiberanwendungen
HAL-Anwendung
In diesem Abschnitt werden die Schritte beschrieben, die zum Erstellen einer benutzerdefinierten HAL-Anwendung mit STM32CubeWBA erforderlich sind:
- Erstellen eines Projekts
- Um ein neues Projekt zu erstellen, beginnen Sie entweder mit dem Vorlagenprojekt, das für jedes Board unter \Projekte\ bereitgestellt wird. \Templates oder aus einem beliebigen verfügbaren Projekt unter \Projects\ \Beispiele oder \Projekte\ \Anwendungen (wo bezieht sich auf den Board-Namen, z. B. STM32CubeWBA).
- Das Template-Projekt stellt eine leere Hauptschleifenfunktion bereit. Es ist jedoch ein guter Ausgangspunkt, um die STM32CubeWBA-Projekteinstellungen zu verstehen. Die Vorlage weist folgende Eigenschaften auf:
- Es enthält den HAL-Quellcode, CMSIS und BSP-Treiber, die den Mindestsatz an Komponenten darstellen, die zum Entwickeln eines Codes auf einer bestimmten Platine erforderlich sind.
- Es enthält die enthaltenen Pfade für alle Firmware-Komponenten.
- Es definiert die unterstützten Geräte der STM32WBA-Serie und ermöglicht die korrekte Konfiguration der CMSIS- und HAL-Treiber.
- Es bietet gebrauchsfertige Benutzer fileEs ist wie unten gezeigt vorkonfiguriert:
HAL wird mit der Standardzeitbasis mit Arm® core SysTick initialisiert. SysTick ISR für HAL_Delay()-Zwecke implementiert.
Notiz: Stellen Sie beim Kopieren eines vorhandenen Projekts an einen anderen Speicherort sicher, dass alle enthaltenen Pfade aktualisiert werden.
- Fügen Sie dem Benutzerprojekt die erforderliche Middleware hinzu (optional)
Um die Quelle zu identifizieren files, die dem Projekt hinzugefügt werden sollen file Weitere Informationen zur Liste finden Sie in der Dokumentation zu jeder Middleware. Weitere Informationen finden Sie in den Anwendungen unter \Projects\STM32xxx_yyy\Applications\ (Wo bezieht sich auf den Middleware-Stack (z. B. ThreadX), um zu wissen, welche Quelle files und include-Pfade müssen hinzugefügt werden. - Konfigurieren Sie die Firmware-Komponenten
Die HAL- und Middleware-Komponenten bieten eine Reihe von Build-Time-Konfigurationsoptionen mithilfe von Makros #define, die in einem Header deklariert werden file. Eine Vorlagenkonfiguration file wird in jeder Komponente bereitgestellt und muss in den Projektordner (normalerweise die Konfiguration) kopiert werden file heißt xxx_conf_template.h, das Wort _template muss beim Kopieren in den Projektordner entfernt werden. Die Konfiguration file Bietet genügend Informationen, um die Auswirkungen jeder Konfigurationsoption zu verstehen. Ausführlichere Informationen finden Sie in der Dokumentation zu den einzelnen Komponenten. - Starten Sie die HAL-Bibliothek
Nach dem Sprung zum Hauptprogramm muss der Anwendungscode die API HAL_Init() aufrufen, um die HAL-Bibliothek zu initialisieren, die die folgenden Aufgaben ausführt:- Konfiguration des Flash-Speicher-Prefetch und der SysTick-Interrupt-Priorität (über in st m32wbaxx_hal_conf.h definierte Makros).
- Konfiguration des SysTick, um jede Millisekunde einen Interrupt mit der SysTick-Interrupt-Priorität TICK_INT_PRIO zu generieren, die in stm32wbaxx_hal_conf.h definiert ist.
- Einstellung der NVIC-Gruppenpriorität auf 0.
- Aufruf der Rückruffunktion HAL_MspInit(), definiert im Benutzer stm32wbaxx_hal_msp.c file um globale Hardware-Initialisierungen auf niedriger Ebene durchzuführen.
- Konfigurieren Sie die Systemuhr
Die Konfiguration der Systemuhr erfolgt durch Aufruf der beiden unten beschriebenen APIs:- HAL_RCC_OscConfig(): Diese API konfiguriert die internen und externen Oszillatoren. Der Benutzer kann einen oder alle Oszillatoren konfigurieren.
- HAL_RCC_ClockConfig(): Diese API konfiguriert die Systemtaktquelle, die Flash-Speicherlatenz sowie AHB- und APB-Vorskalierer.
- Initialisieren Sie das Peripheriegerät
- Schreiben Sie zuerst die periphere HAL_PPP_MspInit-Funktion. Gehen Sie wie folgt vor:
- Aktivieren Sie die Peripherieuhr.
- Konfigurieren Sie die peripheren GPIOs.
- Konfigurieren Sie den DMA-Kanal und aktivieren Sie den DMA-Interrupt (falls erforderlich).
- Aktivieren Sie den Peripherie-Interrupt (falls erforderlich).
- Bearbeiten Sie stm32xxx_it.c, um bei Bedarf die erforderlichen Interrupt-Handler (Peripherie und DMA) aufzurufen.
- Schreibprozess-Abschluss-Callback-Funktionen, wenn die Verwendung eines peripheren Interrupts oder DMA geplant ist.
- Im Benutzer main.c file, initialisieren Sie die Peripherie-Handle-Struktur und rufen Sie dann die Funktion HAL_PPP_Init() auf, um das Peripheriegerät zu initialisieren.
- Schreiben Sie zuerst die periphere HAL_PPP_MspInit-Funktion. Gehen Sie wie folgt vor:
- Entwickeln Sie eine Anwendung
- An diesem stage, das System ist bereit und die Entwicklung des Benutzeranwendungscodes kann beginnen.
- Der HAL bietet intuitive und sofort einsatzbereite APIs zur Konfiguration des Peripheriegeräts. Es unterstützt Polling, Interrupts und ein DMA-Programmiermodell, um allen Anwendungsanforderungen gerecht zu werden. Weitere Informationen zur Verwendung der einzelnen Peripheriegeräte finden Sie im Rich ExampDer im STM32CubeWBA MCU-Paket bereitgestellte Dateisatz.
Vorsicht: In der Standard-HAL-Implementierung wird der SysTick-Timer als Zeitbasis verwendet: Er generiert Interrupts in regelmäßigen Zeitintervallen. Wenn HAL_Delay() vom peripheren ISR-Prozess aufgerufen wird, stellen Sie sicher, dass der SysTick-Interrupt eine höhere Priorität (numerisch niedriger) als der periphere Interrupt hat. Andernfalls wird der ISR-Prozess des Anrufers blockiert. Funktionen, die sich auf Zeitbasiskonfigurationen auswirken, werden als __weak deklariert, um ein Überschreiben bei anderen Implementierungen im Benutzer zu ermöglichen file (z. B. mit einem Allzweck-Timer)ample oder eine andere Zeitquelle). Weitere Einzelheiten finden Sie im HAL_TimeBase-Beispielample.
LL-Anwendung
In diesem Abschnitt werden die Schritte beschrieben, die zum Erstellen einer benutzerdefinierten LL-Anwendung mit STM32CubeWBA erforderlich sind.
- Erstellen eines Projekts
- Um ein neues Projekt zu erstellen, beginnen Sie entweder mit dem Templates_LL-Projekt, das für jedes Board unter \Projekte\ bereitgestellt wird. \Templates_LL oder aus einem beliebigen verfügbaren Projekt unter \Projects\ \Examples_LL ( bezieht sich auf den Platinennamen, z. B. NUCLEO-WBA32CG).
- Das Vorlagenprojekt stellt eine leere Hauptschleifenfunktion bereit, die einen guten Ausgangspunkt zum Verständnis der Projekteinstellungen für STM32CubeWBA darstellt. Die Hauptmerkmale der Vorlage sind die folgenden:
- Es enthält die Quellcodes der LL- und CMSIS-Treiber, die den Mindestsatz an Komponenten darstellen, die zum Entwickeln von Code auf einer bestimmten Platine erforderlich sind.
- Es enthält die enthaltenen Pfade für alle erforderlichen Firmware-Komponenten.
- Es wählt das unterstützte Gerät der STM32WBA-Serie aus und ermöglicht die korrekte Konfiguration der CMSIS- und LL-Treiber.
- Es bietet gebrauchsfertige Benutzer files, die wie folgt vorkonfiguriert sind:
◦ main.h: LED- und USER_BUTTON-Definitionsabstraktionsschicht.
◦ main.c: Systemtaktkonfiguration für maximale Frequenz.
- Portieren Sie ein vorhandenes Projekt auf ein anderes Board
Um ein bestehendes Projekt auf einem anderen Zielboard zu unterstützen, beginnen Sie mit dem Templates_LL-Projekt, das für jedes Board bereitgestellt wird und unter \Projekte\ verfügbar ist. \Templates_LL.- Wählen Sie einen LL-Abschluss ausample: Um das Board zu finden, auf dem LL exampWeitere Informationen zu den bereitgestellten Dateien finden Sie in der Liste der LL exampLesen Sie STM32CubeProjectsList.html.
- Portieren Sie den LL exampauf:
- Kopieren Sie den Ordner „Templates_LL“ und fügen Sie ihn ein – um die ursprüngliche Quelle beizubehalten – oder aktualisieren Sie direkt das vorhandene Projekt „Templates_LL“.
- Dann besteht die Portierung hauptsächlich darin, Templates_LL zu ersetzen files vom Examples_LL-Zielprojekt.
- Bewahren Sie alle platinenspezifischen Teile auf. Aus Gründen der Übersichtlichkeit sind platinenspezifische Teile mit „spezifisch“ gekennzeichnet tags:
- Daher sind die wichtigsten Portierungsschritte die folgenden:
- Ersetzen Sie stm32wbaxx_it.h file
- Ersetzen Sie stm32wbaxx_it.c file
- Ersetzen Sie die main.h file und aktualisieren Sie es: Behalten Sie die LED- und Benutzertastendefinition der LL-Vorlage unter BOARD SPECIFIC CONFIGURATION bei tags.
- Ersetzen Sie das main.c file und aktualisiere es:
- Behalten Sie die Uhrkonfiguration der LL-Vorlagenfunktion SystemClock_Config() unter BOARD SPECIFIC CONFIGURATION bei tags.
- Ersetzen Sie je nach LED-Definition jedes LDx-Vorkommen durch ein anderes LDy, das in main.h verfügbar ist file.
- Mit diesen Modifikationen ist die example läuft nun auf dem Zielboard
Sicherheitsanwendungen
Dieses Paket wird mit Sicherheitsanwendungen geliefert.
SBSFU-Anwendungen
- SBSFU bietet eine Root-of-Trust-Lösung, einschließlich Secure Boot- und Secure Firmware Update-Funktionen (basierend auf MCUboot).
- Die Lösung wird vor der Ausführung der Anwendung verwendet.
- Die Lösung bietet eine exampDatei eines sicheren Dienstes (GPIO-Toggle), der von der nicht sicheren Anwendung isoliert ist. Die nicht sichere Anwendung zur Laufzeit kann diese Lösung weiterhin verwenden.
TFM-Anwendungen
Das TFM bietet eine Root-of-Trust-Lösung einschließlich Secure Boot- und Secure Firmware Update-Funktionen
(basierend auf MCUboot). Die Lösung wird vor der Ausführung der Anwendung verwendet. Die Lösung bietet sichere TFM-Dienste, die von der nicht sicheren Anwendung isoliert sind. Die nicht sichere Anwendung zur Laufzeit kann diese Lösung weiterhin verwenden.
HF-Anwendungen
Die HF-Anwendung wird in diesem Anwendungshinweis beschrieben: Erstellen drahtloser Anwendungen mit Mikrocontrollern der STM32WBA-Serie (AN5928).
STM32CubeWBA-Release-Updates erhalten
Die neuesten STM32CubeWBA-MCU-Paketversionen und -Patches sind in der STM32WBA-Serie erhältlich. Sie können über die Schaltfläche „Nach Updates suchen“ in STM32CubeMX abgerufen werden. Weitere Einzelheiten finden Sie in Abschnitt 3 des Benutzerhandbuchs STM32CubeMX zur STM32-Konfiguration und Initialisierung der C-Code-Generierung (UM1718).
Häufig gestellte Fragen
- Wann sollte ich HAL- statt LL-Treiber verwenden?
- HAL-Treiber bieten hochwertige und funktionsorientierte APIs mit einem hohen Maß an Portabilität. Die Produkt- oder Peripheriekomplexität bleibt für Endbenutzer verborgen.
- LL-Treiber bieten APIs auf Registerebene auf niedriger Ebene, mit besserer Optimierung, aber weniger portierbar. Sie erfordern fundierte Kenntnisse der Produkt- oder IP-Spezifikationen.
- Kann ich HAL- und LL-Treiber zusammen verwenden? Wenn ich kann, welche Einschränkungen gibt es?
- Es ist möglich, sowohl HAL- als auch LL-Treiber zu verwenden. Verwenden Sie HAL für die IP-Initialisierungsphase und verwalten Sie dann die E/A-Vorgänge mit LL-Treibern.
- Der Hauptunterschied zwischen HAL und LL besteht darin, dass HAL-Treiber Handles für die Betriebsverwaltung erstellen und verwenden müssen, während LL-Treiber direkt auf Peripherieregistern arbeiten. Die Examples_MIX example zeigt, wie man HAL und LL mischt.
- Wie werden LL-Initialisierungs-APIs aktiviert?
- Die Definition von LL-Initialisierungs-APIs und zugehörigen Ressourcen (Strukturen, Literale und Prototypen) wird durch den Kompilierungsschalter USE_FULL_LL_DRIVER bedingt.
- Um LL-Initialisierungs-APIs verwenden zu können, fügen Sie diesen Schalter im Toolchain-Compiler-Präprozessor hinzu.
- Wie kann STM32CubeMX Code basierend auf eingebetteter Software generieren?
STM32CubeMX verfügt über integrierte Kenntnisse über STM32-Mikrocontroller, einschließlich ihrer Peripheriegeräte und Software, die es ermöglichen, dem Benutzer eine grafische Darstellung bereitzustellen und *.h oder *.c zu generieren files basiert auf der Benutzerkonfiguration.
WICHTIGER HINWEIS – SORGFÄLTIG LESEN
- STMicroelectronics NV und seine Tochtergesellschaften („ST“) behalten sich das Recht vor, jederzeit und ohne Vorankündigung Änderungen, Korrekturen, Erweiterungen, Modifikationen und Verbesserungen an ST-Produkten und/oder diesem Dokument vorzunehmen. Käufer sollten sich vor der Bestellung die neuesten relevanten Informationen zu ST-Produkten besorgen. ST-Produkte werden gemäß den zum Zeitpunkt der Auftragsbestätigung gültigen Verkaufsbedingungen von ST verkauft.
- Die alleinige Verantwortung für die Auswahl und Verwendung von ST-Produkten liegt beim Käufer. ST übernimmt keine Haftung für Anwendungsunterstützung oder das Design der Produkte des Käufers.
- ST gewährt hiermit keine ausdrückliche oder stillschweigende Lizenz an geistigen Eigentumsrechten.
- Der Weiterverkauf von ST-Produkten unter anderen als den hier aufgeführten Bedingungen führt zum Erlöschen jeglicher von ST für das jeweilige Produkt gewährter Garantie.
- ST und das ST-Logo sind Warenzeichen von ST. Weitere Informationen zu ST-Marken finden Sie unter www.st.com/trademarks. Alle anderen Produkt- oder Dienstleistungsnamen sind Eigentum ihrer jeweiligen Inhaber.
- Die Informationen in diesem Dokument ersetzen alle zuvor in früheren Versionen dieses Dokuments enthaltenen Informationen.
- © 2023 STMicroelectronics – Alle Rechte vorbehalten
Dokumente / Ressourcen
![]() |
Erste Schritte der STMicroelectronics STM32WBA-Serie [pdf] Benutzerhandbuch Erste Schritte der STM32WBA-Serie, erste Schritte, erste Schritte |