Logo firmy STMicroelectronics

Wprowadzenie do serii STMicroelectronics STM32WBA

STMicroelectronics-STM32WBA-Series-Pierwsze kroki-rys.-1

Informacje o produkcie

Dane techniczne:

  • Nazwa produktu: Pakiet MCU STM32CubeWBA
  • Producent: STMicroelektronika
  • Zgodność: Mikrokontrolery serii STM32WBA
  • Koncesjonowanie: Licencja BSD typu open source

Instrukcje użytkowania produktu

Główne cechy pakietu MCU STM32CubeWBA:
Pakiet MCU STM32CubeWBA zapewnia wszystkie niezbędne komponenty oprogramowania wbudowanego do tworzenia aplikacji na mikrokontrolerach serii STM32WBA. Jest wysoce przenośny w ramach serii STM32 i jest wyposażony w interfejsy API HAL i LL, npamppliki i komponenty oprogramowania pośredniego.

Architektura ponadview:
Architektura pakietu MCU STM32CubeWBA składa się z trzech poziomów – aplikacji, komponentów opartych na bibliotekach i protokołach, warstwy abstrakcji sprzętu, sterowników BSP, sterowników podstawowych i niskowarstwowych interfejsów API.

Często zadawane pytania

  • Co zawiera pakiet MCU STM32CubeWBA?
    Pakiet zawiera interfejsy API warstwy niskowarstwowej (LL) i warstwy abstrakcji sprzętu (HAL), npamppliki, aplikacje, komponenty oprogramowania pośredniego, takie jak FileBiblioteki X/LevelX, NetX Duo, mbed-crypto i nie tylko.
  • Czy pakiet MCU STM32CubeWBA jest kompatybilny z generatorem kodu STM32CubeMX?
    Tak, pakiet jest w pełni kompatybilny z generatorem kodu STM32CubeMX umożliwiającym generowanie kodu inicjującego.

Wstęp

  • STM32Cube to oryginalna inicjatywa STMicroelectronics mająca na celu znaczną poprawę produktywności projektantów poprzez zmniejszenie wysiłku, czasu i kosztów rozwoju. STM32Cube obejmuje całe portfolio STM32.
    STM32Cube zawiera:
    • Zestaw przyjaznych dla użytkownika narzędzi programistycznych obejmujących rozwój projektu od koncepcji do realizacji, wśród których znajdują się:
      • STM32CubeMX, graficzne narzędzie do konfiguracji oprogramowania, które umożliwia automatyczne generowanie kodu inicjującego C za pomocą kreatorów graficznych
      • STM32CubeIDE, wszechstronne narzędzie programistyczne z konfiguracją urządzeń peryferyjnych, generowaniem kodu, kompilacją kodu i funkcjami debugowania
      • STM32CubeCLT, wszechstronny zestaw narzędzi programistycznych wiersza poleceń z kompilacją kodu, programowaniem płytki i funkcjami debugowania
      • STM32CubeProgrammer (STM32CubeProg), narzędzie programistyczne dostępne w wersjach graficznych i wiersza poleceń
      • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), potężne narzędzia monitorujące umożliwiające precyzyjne dostrajanie zachowania i wydajności aplikacji STM32 w czasie rzeczywistym
    • Pakiety STM32Cube MCU i MPU, kompleksowe platformy oprogramowania wbudowanego specyficzne dla każdej serii mikrokontrolerów i mikroprocesorów (takie jak STM32CubeWBA dla serii STM32WBA), które obejmują:
      • Warstwa abstrakcji sprzętu STM32Cube (HAL), zapewniająca maksymalną przenośność w całym portfolio STM32
      • Niskowarstwowe interfejsy API STM32Cube, zapewniające najlepszą wydajność i rozmiary przy wysokim stopniu kontroli użytkownika nad sprzętem
      • Spójny zestaw komponentów oprogramowania pośredniczącego, takich jak ThreadX, FileX / LevelX, NetX Duo, USBX, biblioteka dotykowa, mbed-crypto, TFM, MCUboot, OpenBL i STM32_WPAN (w tym Bluetooth® Low Energy profilei usługi, Mesh, Zigbee®, OpenThread, Matter i warstwa MAC 802.15.4)
      • Wszystkie wbudowane narzędzia programowe z pełnymi zestawami urządzeń peryferyjnych i aplikacyjnych, npamples
    • Pakiety rozszerzeń STM32Cube, które zawierają wbudowane komponenty oprogramowania, które uzupełniają funkcje pakietów MCU i MPU STM32Cube o:
      • Rozszerzenia oprogramowania pośredniego i warstwy aplikacji
      • Examppliki działające na niektórych konkretnych płytach rozwojowych STMicroelectronics
  • Niniejsza instrukcja obsługi opisuje, jak rozpocząć pracę z pakietem MCU STM32CubeWBA.
    • Sekcja 2 Główne cechy STM32CubeWBA opisuje główne cechy pakietu MCU STM32CubeWBA.
    • Rozdział 3 Architektura STM32CubeWBA powyżejview zapewnia ponadview architektury STM32CubeWBA i struktury pakietu MCU.

Informacje ogólne

Pakiet MCU STM32CubeWBA działa na 32-bitowych mikrokontrolerach STM32 opartych na procesorze Arm® Cortex®-M33 z Arm® TrustZone® i FPU.
Notatka: Arm i TrustZone są zastrzeżonymi znakami towarowymi firmy Arm Limited (lub jej spółek zależnych) w Stanach Zjednoczonych i/lub innych krajach.

Główne cechy STM32CubeWBA

  • Pakiet MCU STM32CubeWBA działa na 32-bitowych mikrokontrolerach STM32 opartych na procesorze Arm® Cortex®-M33 z TrustZone® i FPU.
  • STM32CubeWBA gromadzi w jednym pakiecie wszystkie podstawowe komponenty oprogramowania wbudowanego wymagane do opracowania aplikacji dla mikrokontrolerów serii STM32WBA. Zgodnie z inicjatywą STM32Cube, ten zestaw komponentów jest wysoce przenośny, nie tylko w obrębie mikrokontrolerów serii STM32WBA, ale także z innymi seriami STM32.
  • STM32CubeWBA jest w pełni kompatybilny z generatorem kodu STM32CubeMX, umożliwiającym generowanie kodu inicjującego. Pakiet zawiera interfejsy API warstwy niskowarstwowej (LL) i warstwy abstrakcji sprzętu (HAL), które obejmują sprzęt mikrokontrolera, wraz z obszernym zestawem examppliki działające na płytach STMicroelectronics. Dla wygody użytkownika interfejsy API HAL i LL są dostępne w ramach licencji BSD typu open source.
  • Pakiet MCU STM32CubeWBA zawiera również kompleksowy komponent oprogramowania pośredniego zbudowany w oparciu o oprogramowanie pośrednie Microsoft® Azure® RTOS oraz inne stosy wewnętrzne i open source, z odpowiednimiamples.
  • Są dostarczane z bezpłatnymi, przyjaznymi dla użytkownika warunkami licencji:
    • Zintegrowany i w pełni funkcjonalny Azure® RTOS: Azure® RTOS ThreadX
    • Implementacja CMSIS-RTOS z Azure® RTOS ThreadX
    • Stosy hostów i urządzeń USB z wieloma klasami: Azure® RTOS USBX
    • Zaawansowany file warstwa translacji systemowej i flashowej: FileX / PoziomX
    • Stos sieciowy klasy przemysłowej: zoptymalizowany pod kątem wydajności z wieloma protokołami IoT: NetX Duo
    • OtwórzBootloadera
    • Rozwiązanie integracyjne Arm® Trusted Firmware-M (TF-M).
    • biblioteki mbed-crypto
    • Biblioteka sieciowa ST
    • Rozwiązanie biblioteczne STTMouch do wykrywania dotyku
  • W pakiecie MCU STM32CubeWBA dostępnych jest także kilka aplikacji i demonstracji wdrażających wszystkie komponenty oprogramowania pośredniego.
  • Układ komponentów pakietu MCU STM32CubeWBA przedstawiono na rysunku 1. Składniki pakietu MCU STM32CubeWBA.

    STMicroelectronics-STM32WBA-Series-Pierwsze kroki-rys.-2

Skończyła się architektura STM32CubeWBAview

Rozwiązanie pakietowe MCU STM32CubeWBA jest zbudowane wokół trzech niezależnych poziomów, które łatwo ze sobą współdziałają, jak opisano na rysunku 2. Architektura pakietu MCU STM32CubeWBA.

STMicroelectronics-STM32WBA-Series-Pierwsze kroki-rys.-3

Poziom 0

Poziom ten jest podzielony na trzy podwarstwy:

  • Pakiet wsparcia płyty (BSP).
  • Warstwa abstrakcji sprzętu (HAL):
    • Sterowniki urządzeń peryferyjnych HAL
    • Sterowniki niskowarstwowe
  • Podstawowe użycie urządzeń peryferyjnych, npamples.

Pakiet wsparcia płyty (BSP)
Warstwa ta oferuje zestaw interfejsów API odnoszących się do komponentów sprzętowych na płytach sprzętowych (takich jak sterowniki LCD, audio, microSD™ i MEMS). Składa się z dwóch części:

  • Sterownik komponentu:
    Ten sterownik jest powiązany z urządzeniem zewnętrznym na płycie, a nie z urządzeniem STM32. Sterownik komponentu udostępnia określone interfejsy API zewnętrznym komponentom sterownika BSP i może być przenośny na dowolnej innej płycie.
  • Sterownik BSP:
    Sterownik BSP umożliwia podłączenie sterowników komponentów do konkretnej płyty i zapewnia zestaw przyjazny dla użytkownika
    Pszczoła. Reguła nazewnictwa API to BSP_FUNCT_Action().
    Examppliki: BSP_LED_Init(), BSP_LED_On()
    BSP opiera się na architekturze modułowej, umożliwiającej łatwe przenoszenie na dowolny sprzęt poprzez samo wdrożenie procedur niskiego poziomu.

Warstwa abstrakcji sprzętu (HAL) i warstwa niskowarstwowa (LL)
STM32CubeWBA HAL i LL uzupełniają się i obejmują szeroki zakres wymagań aplikacji:

  • Sterowniki HAL oferują wysokopoziomowe, zorientowane na funkcje, wysoce przenośne interfejsy API. Ukrywają przed użytkownikiem końcowym złożoność MCU i urządzeń peryferyjnych.
    Sterowniki HAL zapewniają ogólne, wieloinstancyjne interfejsy API zorientowane na funkcje, które upraszczają wdrażanie aplikacji użytkownika, udostępniając gotowe do użycia procesy. Na przykładample, dla peryferii komunikacyjnych (I2S, UART i inne), udostępnia interfejsy API umożliwiające inicjalizację i konfigurację urządzenia peryferyjnego, zarządzanie przesyłaniem danych w oparciu o odpytywanie, przerywanie lub proces DMA oraz obsługę błędów komunikacyjnych, które mogą pojawić się podczas komunikacji. Interfejsy API sterownika HAL są podzielone na dwie kategorie:
    1. Ogólne interfejsy API, które zapewniają wspólne i ogólne funkcje dla wszystkich mikrokontrolerów serii STM32.
    2. Interfejsy API rozszerzeń, które zapewniają określone i dostosowane funkcje dla określonej rodziny lub określonego numeru części.
  • Niskowarstwowe interfejsy API zapewniają interfejsy API niskiego poziomu na poziomie rejestru, z lepszą optymalizacją, ale mniejszą przenośnością.
    • Wymagają głębokiej wiedzy na temat specyfikacji MCU i urządzeń peryferyjnych.
    • Sterowniki LL zostały zaprojektowane tak, aby oferować szybką, lekką warstwę zorientowaną na ekspertów, która jest bliższa sprzętowi niż HAL. W przeciwieństwie do HAL, interfejsy API LL nie są dostępne dla urządzeń peryferyjnych, w których zoptymalizowany dostęp nie jest kluczową funkcją, lub dla tych, które wymagają skomplikowanej konfiguracji oprogramowania lub złożonego stosu wyższego poziomu.
    • Sterowniki LL charakteryzują się:
      • Zestaw funkcji inicjujących główne cechy peryferii zgodnie z parametrami określonymi w strukturach danych.
      • Zestaw funkcji do wypełniania inicjalizacyjnych struktur danych wartościami resetowania odpowiadającymi każdemu polu.
      • Funkcja deinicjalizacji urządzeń peryferyjnych (przywrócenie rejestrów urządzeń peryferyjnych do wartości domyślnych).
      • Zestaw funkcji wbudowanych umożliwiających bezpośredni i atomowy dostęp do rejestrów.
      • Pełna niezależność od HAL i możliwość pracy w trybie autonomicznym (bez sterowników HAL).
      • Pełne pokrycie obsługiwanych funkcji peryferyjnych.

Podstawowe użycie urządzeń peryferyjnych, npamples
Warstwa ta zawiera examppliki zbudowane na urządzeniach peryferyjnych STM32 przy użyciu wyłącznie zasobów HAL i BSP.

Poziom 1

Poziom ten jest podzielony na dwie podwarstwy:

  • Komponenty oprogramowania pośredniczącego
  • Examppliki oparte na komponentach oprogramowania pośredniego

Komponenty oprogramowania pośredniczącego

  • Oprogramowanie pośredniczące to zestaw bibliotek obejmujących Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
  • Matter, OpenBootloader, Microsoft® Azure® RTOS, TF-M, MCUboot i mbed-crypto.
  • Pozioma interakcja między komponentami tej warstwy odbywa się poprzez wywołanie polecanych interfejsów API.
  • Pionowa interakcja ze sterownikami niskowarstwowymi odbywa się poprzez specyficzne wywołania zwrotne i makra statyczne zaimplementowane w interfejsie wywołań systemowych bibliotek.
  • Główne cechy każdego komponentu oprogramowania pośredniego są następujące:
    • Microsoft® Azure® RTOS
      • Azure® RTOS ThreadX: system operacyjny czasu rzeczywistego (RTOS), przeznaczony dla systemów wbudowanych z dwoma trybami funkcjonalnymi.
        • Tryb wspólny: typowe funkcje RTOS, takie jak zarządzanie wątkami i synchronizacja, zarządzanie pulą pamięci, przesyłanie komunikatów i obsługa zdarzeń.
        • Tryb modułu: zaawansowany tryb użytkownika, który umożliwia ładowanie i rozładowywanie wstępnie połączonych modułów ThreadX w locie za pośrednictwem menedżera modułów.
      • Duet NetX
      • FileX
      • USBX
    • Bluetooth® Low Energy (BLE): Implementuje protokół Bluetooth® Low Energy dla warstw Link i Stack.
    • MCUboot (oprogramowanie typu open source)
    • Protokoły Zigbee® dla stosu i powiązanych klastrów.
    • Stos protokołów Thread® i warstwa łącza.
    • Zaufane oprogramowanie sprzętowe Arm®, TF-M (oprogramowanie typu open source): Referencyjna implementacja architektury bezpieczeństwa platformy Arm® (PSA) dla TrustZone® z powiązanymi bezpiecznymi usługami.
    • mbed-crypto (oprogramowanie open source): oprogramowanie pośrednie mbed-crypto zapewnia implementację API kryptografii PSA.
    • Biblioteka czujników dotykowych STM32: Solidne, pojemnościowe rozwiązanie do wykrywania dotyku STTMouch, obsługujące czujniki zbliżeniowe, dotykowe, liniowe i obrotowe. Opiera się na sprawdzonej zasadzie pozyskiwania ładunku powierzchniowego.

Examppliki oparte na komponentach oprogramowania pośredniego
Każdy komponent oprogramowania pośredniego zawiera jeden lub więcej plików examppliki (zwane także aplikacjami) pokazujące, jak z nich korzystać. Integracja npampDostępne są także pliki korzystające z kilku komponentów oprogramowania pośredniego.

Skończył się pakiet oprogramowania sprzętowego STM32CubeWBAview

Obsługiwane urządzenia i sprzęt z serii STM32WBA

  • STM32Cube oferuje wysoce przenośną warstwę abstrakcji sprzętu (HAL) zbudowaną w oparciu o architekturę ogólną. Pozwala to na zastosowanie zasady warstw budowanych, takich jak wykorzystanie warstwy oprogramowania pośredniego do implementacji ich funkcji bez szczegółowej wiedzy o tym, jaki MCU jest używany. Poprawia to możliwość ponownego użycia kodu biblioteki i zapewnia łatwe przenoszenie na inne urządzenia.
  • Ponadto, dzięki swojej warstwowej architekturze, STM32CubeWBA oferuje pełną obsługę wszystkich serii STM32WBA.
  • Użytkownik musi jedynie zdefiniować odpowiednie makro w pliku stm32wbaxx.h.
  • Tabela 1 przedstawia makro do zdefiniowania w zależności od użytego urządzenia serii STM32WBA. To makro musi być również zdefiniowane w preprocesorze kompilatora.
    Tabela 1. Makra dla serii STM32WBA
    Makro zdefiniowane w stm32wbaxx.h Urządzenia serii STM32WBA
    stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6
    stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7

     

  • STM32CubeWBA zawiera bogaty zestaw exampplików i aplikacji na wszystkich poziomach, dzięki czemu można łatwo zrozumieć i używać dowolnego sterownika HAL lub komponentów oprogramowania pośredniego. Te eksampPliki działają na płytkach STMicroelectronics wymienionych w Tabeli 2.
    Tabela 2. Płytki serii STM32WBA
    Tablica Płyta obsługuje urządzenia STM32WBA
    NUCLEO-WBA52CG STM32WBA52CGU6
    NUCLEO-WBA55CG STM32WBA55CGU6
    STM32WBA55-DK1 STM32WBA55CGU7
  • Pakiet MCU STM32CubeWBA można uruchomić na dowolnym kompatybilnym sprzęcie. Użytkownik po prostu aktualizuje sterowniki BSP, aby przenieść dostarczony exampplików na płycie, jeśli ta ostatnia ma te same funkcje sprzętowe (takie jak dioda LED, wyświetlacz LCD i przyciski).
Pakiet oprogramowania sprzętowego się skończyłview
  • Rozwiązanie pakietu STM32CubeWBA jest dostarczane w jednym pakiecie ZIP o strukturze pokazanej na rysunku 3. Struktura pakietu oprogramowania sprzętowego STM32CubeWBA.

    STMicroelectronics-STM32WBA-Series-Pierwsze kroki-rys.-4

  • Do każdej planszy zestaw examples zawiera wstępnie skonfigurowane projekty dla łańcuchów narzędzi EWARM, MDK-ARM i STM32CubeIDE.
  • Rysunek 4. Przykład STM32CubeWBAampkoniecview pokazuje strukturę projektu dla płytek NUCLEO‑WBA52CG, NUCLEO-WBA55CG i STM32WBA55G-DK1.

    STMicroelectronics-STM32WBA-Series-Pierwsze kroki-rys.-5

  • ByłyampPliki są klasyfikowane w zależności od poziomu STM32Cube, którego dotyczą, i są nazywane w następujący sposób:
    • Poziom 0 npamppliki nazywane są Examples, npamples_LL i przykłamples_MIX. Używają odpowiednio sterowników HAL, sterowników LL oraz mieszanki sterowników HAL i LL bez żadnego komponentu oprogramowania pośredniego.
    • Poziom 1 npamppliki nazywane są aplikacjami. Przedstawiają typowe przypadki użycia każdego komponentu oprogramowania pośredniego. Dowolną aplikację firmware dla danej płytki można szybko zbudować dzięki projektom szablonów dostępnym w katalogach Templates i Templates_LL.

Projekty obsługujące TrustZone®

  • Ex z obsługą TrustZone®ampNazwy plików zawierają przedrostek _TrustZone. Reguła dotyczy także Aplikacji (z wyjątkiem TFM i SBSFU, które są natywnie dostępne dla TrustZone®).
  • Ex z obsługą TrustZone®ampPliki i aplikacje mają strukturę wieloprojektową składającą się z bezpiecznych i niezabezpieczonych podprojektów, jak pokazano na rysunku 5. Wieloprojektowa struktura projektu bezpiecznego i niezabezpieczonego.
  • Projekty obsługujące TrustZone® są opracowywane zgodnie z szablonem urządzenia CMSIS-5, rozszerzonym o nagłówek partycjonowania systemu file przegroda_ .h, który jest głównie odpowiedzialny za konfigurację bezpiecznej jednostki atrybutu (SAU), FPU i przypisanie bezpiecznych/niezabezpieczonych przerwań w bezpiecznym stanie wykonania.
  • Ta konfiguracja jest wykonywana w bezpiecznej funkcji CMSIS SystemInit(), która jest wywoływana podczas uruchamiania przed wejściem do funkcji main() bezpiecznej aplikacji. Zapoznaj się z dokumentacją Arm® TrustZone®-M zawierającą wytyczne dotyczące oprogramowania.

    STMicroelectronics-STM32WBA-Series-Pierwsze kroki-rys.-6

  • Pakiet oprogramowania sprzętowego pakietu STM32CubeWBA zapewnia domyślny podział pamięci na partycję _ .H filejest dostępny w: \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T emplates
  • W tych partycjach files, SAU jest domyślnie wyłączone. W związku z tym mapowanie pamięci IDAU jest wykorzystywane do przypisania zabezpieczeń. Patrz rysunek Bezpieczne/niezabezpieczone partycjonowanie przy użyciu technologii TrustZone® w podręczniku referencyjnym RM0495.
  • Jeśli użytkownik włączy SAU, domyślna konfiguracja regionów SAU jest predefiniowana w partycji filewygląda następująco:
    • Region SAU 0: 0x08080000 – 0x081FFFFF (niezabezpieczona, bezpieczna połowa pamięci flash (512 KB))
    • Region SAU 1: 0x0BF88000 – 0x0BF97FFF (niezabezpieczona pamięć systemowa)
    • Region SAU 2: 0x0C07E000 – 0x0C07FFFF (bezpieczny, niezabezpieczony, możliwy do wywołania)
    • Region SAU 3: 0x20010000 – 0x2001FFFF (niezabezpieczona pamięć SRAM2 (64 KB))
    • Region SAU 4: 0x40000000 – 0x4FFFFFFF (niezabezpieczona pamięć mapowana na urządzeniach peryferyjnych)
  • Aby dopasować domyślną partycję, urządzenia serii STM32WBAxx muszą mieć ustawione następujące bajty opcji użytkownika:
    • TZEN = 1 (urządzenie z obsługą TrustZone®)
    • SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (64 ze 128 stron wewnętrznej pamięci flash ustawionych jako bezpieczne) Uwaga: Wewnętrzna pamięć flash jest domyślnie w pełni bezpieczna w TZEN = 1. Bajty opcji użytkownika SECWM1_PSTRT/ SECWM1_PEND muszą być ustawione odpowiednio do aplikacji konfiguracja pamięci (regiony SAU, jeśli SAU jest włączone). Linker projektu aplikacji bezpiecznych/niezabezpieczonych files również muszą być wyrównane.
  • wszystko examppliki mają tę samą strukturę:
    • Folder \Inc zawierający wszystkie nagłówki files.
    • Folder Src zawierający kod źródłowy.
    • Foldery \EWARM, \MDK-ARM i \STM32CubeIDE zawierające wstępnie skonfigurowany projekt dla każdego łańcucha narzędzi.
    • readme.md i readme.html opisujące example zachowanie i potrzebne środowisko, aby to działało.
    • MKOl file który pozwala użytkownikom otwierać większość oprogramowania sprzętowego, npampplików w STM32CubeMX.

Pierwsze kroki z STM32CubeWBA

Uruchamianie pierwszego HAL npample

W tej sekcji wyjaśniono, jak proste jest uruchomienie pierwszego example w STM32CubeWBA. Jako ilustrację wykorzystuje generację prostego przełącznika LED działającego na płycie NUCLEO-WBA52CG:

  1. Pobierz pakiet MCU STM32CubeWBA.
  2. Rozpakuj go do wybranego katalogu.
  3. Upewnij się, że nie modyfikujesz struktury pakietu pokazanej na rysunku 1. Zaleca się również skopiowanie pakietu do lokalizacji blisko woluminu głównego (czyli C:\ST lub G:\Tests), ponieważ niektóre IDE napotykają problemy, gdy ścieżka długość jest za długa.

Uruchamianie pierwszego programu z włączoną funkcją TrustZone®, npample

  • Przed załadowaniem i uruchomieniem programu z włączoną funkcją TrustZone®, npample, obowiązkowe jest przeczytanie exampprzeczytaj file dla dowolnej konkretnej konfiguracji, która zapewnia włączenie zabezpieczeń zgodnie z opisem w Sekcji 4.2.1 Projekty z obsługą TrustZone® (TZEN=1 (bajt opcji użytkownika)).
    1. Przejdź do \Projects\NUCLEO-WBA52CG\Examples.
    2. Otwórz foldery \GPIO, a następnie \GPIO_IOToggle_TrustZone.
    3. Otwórz projekt z preferowanym zestawem narzędzi. Szybki koniecview o tym, jak otworzyć, zbudować i uruchomić plik exampPlik z obsługiwanymi zestawami narzędzi podano poniżej.
    4. Odbuduj po kolei wszystkie bezpieczne i niezabezpieczone projekty files i załaduj bezpieczne i niezabezpieczone obrazy do pamięci docelowej.
    5. Uruchom example: regularnie, bezpieczna aplikacja przełącza LD2 co sekundę, a niezabezpieczona aplikacja przełącza LD3 dwa razy szybciej. Więcej szczegółów znajdziesz w pliku Readme file example.
  • Aby otworzyć, zbudować i uruchomić example z obsługiwanymi łańcuchami narzędzi, wykonaj poniższe kroki:
    • EWARM:
      1. Pod byłymample, otwórz podfolder \EWARM.
      2. Uruchom obszar roboczy Project.eww
      3. Odbuduj bezpieczny projekt xxxxx_S files: [Projekt]>[Przebuduj wszystko].
      4. Ustaw niezabezpieczony projekt xxxxx_NS jako aplikację aktywną (kliknij prawym przyciskiem myszy projekt xxxxx_NS [Ustaw jako aktywny])
      5. Odbuduj niezabezpieczony projekt xxxxx_NS files: [Projekt]>[Przebuduj wszystko].
      6. Flashuj niezabezpieczony plik binarny za pomocą [Projekt]>[Pobierz]>[Pobierz aktywną aplikację].
      7. Ustaw aplikację xxxxx_S jako aktywną (kliknij prawym przyciskiem myszy projekt xxxxx_S [Ustaw jako aktywny].
      8. Wgraj bezpieczny plik binarny za pomocą [Pobierz i debuguj] (Ctrl+D).
      9. Uruchom program: [Debuguj]>[Go(F5)]
    • MDK-ARM:
      1. Otwórz łańcuch narzędzi \MDK-ARM.
      2. Otwórz obszar roboczy Multiprojekty file Projekt.uvmpw.
      3. Wybierz projekt xxxxx_s jako aplikację aktywną ([Ustaw jako projekt aktywny]).
      4. Zbuduj projekt xxxxx_s.
      5. Wybierz projekt xxxxx_ns jako projekt aktywny ([Ustaw jako projekt aktywny]).
      6. Zbuduj projekt xxxxx_ns.
      7. Załaduj niezabezpieczony plik binarny ([F8]). Spowoduje to pobranie \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf do pamięci flash)
      8. Wybierz projekt Project_s jako projekt aktywny ([Ustaw jako projekt aktywny]).
      9. Załaduj bezpieczny plik binarny ([F8]). Spowoduje to pobranie \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf do pamięci flash).
      10. Uruchom example.
    • STM32CubeIDE:
      1. Otwórz łańcuch narzędzi STM32CubeIDE.
      2. Otwórz obszar roboczy Multiprojekty file .projekt.
      3. Odbuduj projekt xxxxx_Secure.
      4. Odbuduj projekt xxxxx_NonSecure.
      5. Uruchom aplikację [Debuguj jako STM32 Cortex-M C/C++] dla bezpiecznego projektu.
      6. W oknie [Edytuj konfigurację] wybierz panel [Uruchamianie] i dodaj załaduj obraz oraz symbole niezabezpieczonego projektu.
        Ważny: Projekt niezabezpieczony musi zostać załadowany przed projektem bezpiecznym.
      7. Kliknij OK].
      8. Uruchom example z perspektywy debugowania.

Uruchamianie pierwszego wyłączonego TrustZone®, npample

  • Przed załadowaniem i uruchomieniem wyłączonego TrustZone®, npample, obowiązkowe jest przeczytanie exampprzeczytaj file dla dowolnej konkretnej konfiguracji. Jeśli nie ma konkretnych wzmianek, upewnij się, że urządzenie pokładowe ma wyłączone zabezpieczenia (TZEN=0 (bajt opcji użytkownika)). Zobacz często zadawane pytania dotyczące wykonywania opcjonalnej regresji do TZEN = 0
    1. Przejdź do \Projects\NUCLEO-WBA52CG\Examples.
    2. Otwórz foldery \GPIO, a następnie \GPIO_EXTI.
    3. Otwórz projekt z preferowanym zestawem narzędzi. Szybki koniecview o tym, jak otworzyć, zbudować i uruchomić plik exampPlik z obsługiwanymi zestawami narzędzi podano poniżej.
    4. Odbuduj wszystko files i załaduj obraz do pamięci docelowej.
    5. Uruchom example: Każde naciśnięcie przycisku [USER] powoduje przełączenie diody LED LD1. Więcej szczegółów znajdziesz w pliku Readme file example.
  • Aby otworzyć, zbudować i uruchomić example z obsługiwanymi łańcuchami narzędzi, wykonaj poniższe kroki:
    • EWARM:
      1. Pod byłymample, otwórz podfolder \EWARM.
      2. Uruchom obszar roboczy Project.eww (nazwa obszaru roboczego może się zmienić z npample do innego).
      3. Odbuduj wszystko files: [Projekt]>[Przebuduj wszystko].
      4. Załaduj obraz projektu: [Projekt]>[Debuguj].
      5. Uruchom program: [Debuguj]>[Idź (F5)].
    • MDK-ARM:
      1. Pod byłymample, otwórz podfolder \MDK-ARM.
      2. Uruchom obszar roboczy Project.uvproj (nazwa obszaru roboczego może się zmienić z npample do innego).
      3. Odbuduj wszystko files:[Projekt]>[Odbuduj cały cel fileS].
      4. Załaduj obraz projektu: [Debuguj]>[Rozpocznij/Zatrzymaj sesję debugowania].
      5. Uruchom program: [Debuguj]>[Uruchom (F5)].
    • STM32CubeIDE:
      1. Otwórz łańcuch narzędzi STM32CubeIDE.
      2. Kliknij [File]>[Przełącz obszar roboczy]>[Inne] i przejdź do katalogu obszaru roboczego STM32CubeIDE.
      3. Kliknij [File]>[Importuj], wybierz [Ogólne]>[Istniejące projekty do obszaru roboczego], a następnie kliknij [Dalej].
      4. Przejdź do katalogu obszaru roboczego STM32CubeIDE i wybierz projekt.
      5. Odbuduj cały projekt files: Wybierz projekt w oknie [Eksplorator projektów], a następnie kliknij menu [Projekt]>[Buduj projekt].
      6. Uruchom program: [Uruchom]>[Debuguj (F11)]
Opracowanie aplikacji niestandardowej

Notatka: Oprogramowanie musi umożliwiać pamięć podręczną instrukcji (ICACHE), aby uzyskać wykonanie stanu oczekiwania 0 z pamięci flash i osiągnąć maksymalną wydajność i lepsze zużycie energii.

Używanie STM32CubeMX do tworzenia lub aktualizowania aplikacji

  • W pakiecie MCU STM32CubeWBA prawie wszystkie projekty npampPliki są generowane za pomocą narzędzia STM32CubeMX w celu inicjalizacji systemu, urządzeń peryferyjnych i oprogramowania pośredniego.
  • Bezpośrednie wykorzystanie istniejącego projektu npampPlik z narzędzia STM32CubeMX wymaga STM32CubeMX 6.10.0 lub nowszego:
    • Po instalacji STM32CubeMX otwórz i w razie potrzeby zaktualizuj proponowany projekt. Najprostszym sposobem otwarcia istniejącego projektu jest dwukrotne kliknięcie pliku *.ioc file dzięki czemu STM32CubeMX automatycznie otworzy projekt i jego źródło files.
    • STM32CubeMX generuje inicjujący kod źródłowy takich projektów. Główny kod źródłowy aplikacji zawarty jest w komentarzach „USER CODE BEGIN” i „USER CODE END”. W przypadku modyfikacji wyboru i ustawienia adresu IP, STM32CubeMX aktualizuje część inicjującą kodu, ale zachowuje główny kod źródłowy aplikacji.
  • Aby opracować niestandardowy projekt w STM32CubeMX, wykonaj proces krok po kroku:
    1. Wybierz mikrokontroler STM32 pasujący do wymaganego zestawu urządzeń peryferyjnych.
    2. Skonfiguruj całe wymagane oprogramowanie wbudowane za pomocą narzędzia do rozwiązywania konfliktów pinów, pomocnika do ustawiania drzewa zegara, kalkulatora zużycia energii oraz narzędzia do konfiguracji peryferii MCU (takich jak GPIO lub USART) i stosów oprogramowania pośredniego (takich jak USB).
    3. Wygeneruj kod inicjujący C na podstawie wybranej konfiguracji. Ten kod jest gotowy do użycia w kilku środowiskach programistycznych. Kod użytkownika zostaje zachowany przy następnym wygenerowaniu kodu.
  • Więcej informacji na temat STM32CubeMX można znaleźć w instrukcji obsługi STM32CubeMX dotyczącej konfiguracji i inicjalizacji kodu C STM32 (UM1718).
  • Aby uzyskać listę dostępnych projektów, npamples dla STM32CubeWBA, patrz nota aplikacyjna oprogramowania sprzętowego STM32Cube npamppliki dla serii STM32WBA (AN5929).

Aplikacje sterownika

Aplikacja HAL
W tej sekcji opisano kroki wymagane do utworzenia niestandardowej aplikacji HAL przy użyciu STM32CubeWBA:

  1. Utwórz projekt
    • Aby utworzyć nowy projekt, zacznij od projektu szablonu dostarczonego dla każdej planszy w \Projects\ \Templates lub z dowolnego dostępnego projektu w \Projects\ \Przykłady lub \Projekty\ \Aplikacje (gdzie odnosi się do nazwy płytki, np. STM32CubeWBA).
    • Projekt Template udostępnia pustą funkcję pętli głównej. Jest to jednak dobry punkt wyjścia do zrozumienia ustawień projektu STM32CubeWBA. Szablon ma następujące cechy:
      • Zawiera kod źródłowy HAL, sterowniki CMSIS i BSP, które stanowią minimalny zestaw komponentów potrzebnych do opracowania kodu na danej płytce.
      • Zawiera dołączone ścieżki do wszystkich komponentów oprogramowania sprzętowego.
      • Definiuje obsługiwane urządzenia serii STM32WBA, umożliwiając poprawną konfigurację sterowników CMSIS i HAL.
      • Zapewnia użytkownikowi gotowego do użycia filejest wstępnie skonfigurowany, jak pokazano poniżej:
        HAL zainicjowany z domyślną podstawą czasu za pomocą rdzenia Arm® SysTick. SysTick ISR zaimplementowany do celów HAL_Delay().
        Notatka: Kopiując istniejący projekt do innej lokalizacji, upewnij się, że wszystkie dołączone ścieżki zostały zaktualizowane.
  2. Dodaj niezbędne oprogramowanie pośredniczące do projektu użytkownika (opcjonalnie)
    Aby zidentyfikować źródło filenależy dodać do projektu file liście, zapoznaj się z dokumentacją dostarczoną dla każdego oprogramowania pośredniego. Zobacz aplikacje w \Projects\STM32xxx_yyy\Applications\ (Gdzie odnosi się do stosu oprogramowania pośredniego, takiego jak ThreadX), aby wiedzieć, które źródło files i ścieżki dołączane muszą zostać dodane.
  3. Skonfiguruj komponenty oprogramowania sprzętowego
    Komponenty HAL i oprogramowanie pośrednie oferują zestaw opcji konfiguracji w czasie kompilacji przy użyciu makr #define zadeklarowanych w nagłówku file. Konfiguracja szablonu file znajduje się w każdym komponencie, który należy skopiować do folderu projektu (zazwyczaj plik konfiguracyjny file ma nazwę xxx_conf_template.h, słowo _template należy usunąć podczas kopiowania go do folderu projektu). Konfiguracja file zapewnia wystarczającą ilość informacji, aby zrozumieć wpływ każdej opcji konfiguracji. Bardziej szczegółowe informacje można znaleźć w dokumentacji dołączonej do każdego komponentu.
  4. Uruchom bibliotekę HAL
    Po skoku do programu głównego kod aplikacji musi wywołać API HAL_Init() w celu zainicjowania biblioteki HAL, która realizuje następujące zadania:
    • Konfiguracja wstępnego pobierania pamięci flash i priorytetu przerwań SysTick (poprzez makra zdefiniowane w st m32wbaxx_hal_conf.h).
    • Konfiguracja SysTick do generowania przerwania co milisekundę z priorytetem przerwania SysTick TICK_INT_PRIO zdefiniowanym w stm32wbaxx_hal_conf.h.
    • Ustawienie priorytetu grupy NVIC na 0.
    • Wywołanie funkcji zwrotnej HAL_MspInit() zdefiniowanej w użytkowniku stm32wbaxx_hal_msp.c file do wykonywania globalnych inicjalizacji sprzętu niskiego poziomu.
  5. Skonfiguruj zegar systemowy
    Konfiguracja zegara systemowego odbywa się poprzez wywołanie dwóch API opisanych poniżej:
    • HAL_RCC_OscConfig(): ten interfejs API konfiguruje oscylatory wewnętrzne i zewnętrzne. Użytkownik wybiera konfigurację jednego lub wszystkich oscylatorów.
    • HAL_RCC_ClockConfig(): ten interfejs API konfiguruje źródło zegara systemowego, opóźnienie pamięci flash oraz preskalery AHB i APB.
  6. Zainicjuj urządzenie peryferyjne
    • Najpierw napisz peryferyjną funkcję HAL_PPP_MspInit. Postępować w następujący sposób:
      • Włącz zegar peryferyjny.
      • Skonfiguruj peryferyjne GPIO.
      • Skonfiguruj kanał DMA i włącz przerwanie DMA (jeśli to konieczne).
      • Włącz przerwanie peryferyjne (w razie potrzeby).
    • Edytuj plik stm32xxx_it.c, aby w razie potrzeby wywołać wymagane procedury obsługi przerwań (urządzenia peryferyjne i DMA).
    • Napisz kompletne funkcje zwrotne procesu, jeśli planowane jest użycie przerwania peryferyjnego lub DMA.
    • W użytkowniku main.c file, zainicjuj strukturę uchwytu urządzenia peryferyjnego, a następnie wywołaj funkcję HAL_PPP_Init() w celu zainicjowania urządzenia peryferyjnego.
  7. Opracuj aplikację
    • W tym momencietagOznacza to, że system jest gotowy i można rozpocząć tworzenie kodu aplikacji użytkownika.
    • HAL zapewnia intuicyjne i gotowe do użycia interfejsy API do konfiguracji urządzeń peryferyjnych. Obsługuje odpytywanie, przerwania i model programowania DMA, aby spełnić wszelkie wymagania aplikacji. Więcej informacji na temat korzystania z poszczególnych urządzeń peryferyjnych można znaleźć w bogatym exampzestaw plików dostarczony w pakiecie MCU STM32CubeWBA.
      Ostrożność: W domyślnej implementacji HAL licznik czasu SysTick jest używany jako podstawa czasu: generuje przerwania w regularnych odstępach czasu. Jeśli funkcja HAL_Delay() jest wywoływana z peryferyjnego procesu ISR, upewnij się, że przerwanie SysTick ma wyższy priorytet (liczbowo niższy) niż przerwanie peryferyjne. W przeciwnym razie proces ISR wywołującego zostanie zablokowany. Funkcje wpływające na konfiguracje podstawy czasu są deklarowane jako __weak, aby umożliwić nadpisanie w przypadku innych implementacji w użytkowniku file (za pomocą timera ogólnego przeznaczenia, npample lub inne źródło czasu). Więcej szczegółów można znaleźć w przykładzie HAL_TimeBaseample.

Aplikacja L.L
W tej sekcji opisano kroki potrzebne do utworzenia niestandardowej aplikacji LL przy użyciu STM32CubeWBA.

  1. Utwórz projekt
    • Aby utworzyć nowy projekt, zacznij od projektu Templates_LL dostarczonego dla każdej planszy w \Projects\ \Templates_LL lub z dowolnego dostępnego projektu w \Projects\ \Byłyamples_LL ( odnosi się do nazwy płyty, takiej jak NUCLEO-WBA32CG).
    • Projekt szablonu udostępnia pustą funkcję pętli głównej, co jest dobrym punktem wyjścia do zrozumienia ustawień projektu dla STM32CubeWBA. Główne cechy szablonu są następujące:
      • Zawiera kody źródłowe sterowników LL i CMSIS, które stanowią minimalny zestaw komponentów potrzebnych do opracowania kodu na danej płytce.
      • Zawiera dołączone ścieżki do wszystkich wymaganych komponentów oprogramowania sprzętowego.
      • Wybiera obsługiwane urządzenie serii STM32WBA i umożliwia poprawną konfigurację sterowników CMSIS i LL.
      • Zapewnia użytkownika gotowego do użycia files, które są wstępnie skonfigurowane w następujący sposób:
        ◦ main.h: warstwa abstrakcji definicji diod LED i USER_BUTTON.
        ◦ main.c: Konfiguracja zegara systemowego dla maksymalnej częstotliwości.
  2. Przenieś istniejący projekt na inną tablicę
    Aby wesprzeć istniejący projekt na innej tablicy docelowej, zacznij od projektu Templates_LL dostarczonego dla każdej tablicy i dostępnego w \Projects\ \Szablony_LL.
    • Wybierz ex.LLample: Aby znaleźć tablicę, na której znajduje się LL examppliki są wdrożone, zapoznaj się z listą LL npampplik STM32CubeProjectsList.html.
  3. Przenieś ex.LLampna:
    • Skopiuj/wklej folder Templates_LL – aby zachować początkowe źródło – lub bezpośrednio zaktualizuj istniejący projekt Temp Lates_LL.
    • Wtedy przeniesienie polega głównie na zastąpieniu Templates_LL fileprzez byłegoampProjekt docelowy les_LL.
    • Zachowaj wszystkie części charakterystyczne dla planszy. Dla przejrzystości, części specyficzne dla planszy są oznaczone jako specyficzne tags:

      STMicroelectronics-STM32WBA-Series-Pierwsze kroki-rys.-7

    • Zatem główne etapy przenoszenia są następujące:
      • Wymień plik stm32wbaxx_it.h file
      • Wymień plik stm32wbaxx_it.c file
      • Wymień plik main.h file i zaktualizuj go: Zachowaj definicję diody LED i przycisku użytkownika szablonu LL w KONFIGURACJI SPECYFICZNEJ PŁYTY tags.
      • Wymień plik main.c file i zaktualizuj to:
    • Zachowaj konfigurację zegara funkcji szablonowej SystemClock_Config() LL w sekcji KONFIGURACJA SPECYFICZNA PŁYTY tags.
    • W zależności od definicji diody LED zastąp każde wystąpienie LDx innym LDy dostępnym w pliku main.h file.
    • Dzięki tym modyfikacjom example działa teraz na docelowej planszy

Aplikacje zabezpieczające
Pakiet ten jest dostarczany z aplikacjami zabezpieczającymi.

Aplikacje SBSFU

  • SBSFU zapewnia rozwiązanie Root of Trust, w tym funkcje bezpiecznego rozruchu i bezpiecznej aktualizacji oprogramowania sprzętowego (oparte na MCUboot).
  • Rozwiązanie stosowane jest przed uruchomieniem aplikacji.
  • Rozwiązanie zapewnia npampplik bezpiecznej usługi (przełącznik GPIO), który jest odizolowany od niezabezpieczonej aplikacji. Niezabezpieczona aplikacja w czasie wykonywania może nadal korzystać z tego rozwiązania.

Aplikacje TFM
TFM zapewnia rozwiązanie Root of Trust, w tym funkcje bezpiecznego rozruchu i bezpiecznej aktualizacji oprogramowania sprzętowego
(w oparciu o MCUboot). Rozwiązanie stosowane jest przed uruchomieniem aplikacji. Rozwiązanie zapewnia bezpieczne usługi TFM, które są odizolowane od niezabezpieczonej aplikacji. Niezabezpieczona aplikacja w czasie wykonywania może nadal korzystać z tego rozwiązania.

Aplikacje RF
Zastosowanie RF opisano w tej nocie aplikacyjnej: Tworzenie aplikacji bezprzewodowych z mikrokontrolerami serii STM32WBA (AN5928).

Pobieranie aktualizacji wersji STM32CubeWBA
Najnowsze wydania pakietów i poprawek MCU STM32CubeWBA są dostępne w serii STM32WBA. Można je pobrać za pomocą przycisku SPRAWDŹ AKTUALIZACJĘ w STM32CubeMX. Więcej szczegółów można znaleźć w rozdziale 3 podręcznika użytkownika STM32CubeMX dotyczącym konfiguracji i inicjalizacji kodu C STM32 (UM1718).

Często zadawane pytania

  • Kiedy powinienem używać sterowników HAL zamiast LL?
    • Sterowniki HAL oferują interfejsy API wysokiego poziomu i zorientowane na funkcje, przy wysokim poziomie przenośności. Złożoność produktu lub urządzeń peryferyjnych jest ukryta dla użytkowników końcowych.
    • Sterowniki LL oferują niskowarstwowe interfejsy API na poziomie rejestrów, z lepszą optymalizacją, ale mniej przenośne. Wymagają dogłębnej wiedzy na temat specyfikacji produktu lub IP.
  • Czy mogę używać razem sterowników HAL i LL? Jeśli mogę, jakie są ograniczenia?
    • Można używać zarówno sterowników HAL, jak i LL. Użyj warstwy HAL w fazie inicjalizacji protokołu IP, a następnie zarządzaj operacjami we/wy za pomocą sterowników LL.
    • Główna różnica między HAL i LL polega na tym, że sterowniki HAL wymagają tworzenia i używania uchwytów do zarządzania operacjami, podczas gdy sterowniki LL działają bezpośrednio na rejestrach peryferyjnych. Byłyamples_MIX npampplik ilustruje, jak mieszać HAL i LL.
  • W jaki sposób włączane są interfejsy API inicjowania LL?
    • Definicja interfejsów API inicjalizacji LL i powiązanych zasobów (struktur, literałów i prototypów) jest uwarunkowana przełącznikiem kompilacji USE_FULL_LL_DRIVER.
    • Aby móc używać interfejsów API inicjalizacji LL, dodaj ten przełącznik w preprocesorze kompilatora łańcucha narzędzi.
  • W jaki sposób STM32CubeMX może wygenerować kod w oparciu o wbudowane oprogramowanie?
    STM32CubeMX posiada wbudowaną wiedzę o mikrokontrolerach STM32, w tym o ich peryferiach i oprogramowaniu, które pozwala na przedstawienie użytkownikowi graficznej reprezentacji i wygenerowanie plików *.h lub *.c files w oparciu o konfigurację użytkownika.

WAŻNA INFORMACJA – PRZECZYTAJ UWAŻNIE

  • STMicroelectronics NV i jej spółki zależne („ST”) zastrzegają sobie prawo do wprowadzania zmian, poprawek, ulepszeń, modyfikacji i udoskonaleń produktów ST i/lub niniejszego dokumentu w dowolnym momencie bez powiadomienia. Nabywcy powinni uzyskać najnowsze istotne informacje o produktach ST przed złożeniem zamówienia. Produkty ST są sprzedawane zgodnie z warunkami sprzedaży ST obowiązującymi w momencie potwierdzenia zamówienia.
  • Nabywcy ponoszą wyłączną odpowiedzialność za wybór, selekcję i użytkowanie produktów ST. ST nie ponosi żadnej odpowiedzialności za pomoc w stosowaniu ani za konstrukcję produktów nabywców.
  • ST nie udziela żadnej licencji, wyraźnej ani dorozumianej, na jakiekolwiek prawa własności intelektualnej.
  • Odsprzedaż produktów ST z postanowieniami różniącymi się od informacji zawartych w niniejszym dokumencie powoduje unieważnienie gwarancji udzielonej przez ST na taki produkt.
  • ST i logo ST są znakami towarowymi ST. Dodatkowe informacje na temat znaków towarowych ST można znaleźć na stronie www.st.com/trademarks. Wszystkie inne nazwy produktów lub usług są własnością ich odpowiednich właścicieli.
  • Informacje zawarte w niniejszym dokumencie zastępują informacje podane wcześniej w jakiejkolwiek poprzedniej wersji tego dokumentu.
  • © 2023 STMicroelectronics – Wszelkie prawa zastrzeżone

Dokumenty / Zasoby

Wprowadzenie do serii STMicroelectronics STM32WBA [plik PDF] Instrukcja obsługi
Seria STM32WBA Pierwsze kroki, pierwsze kroki, pierwsze kroki

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *