STM32WL3x-loigo

STM32WL3x szoftvercsomag

STM32WL3x-Szoftver-csomag -TERMÉK

Műszaki adatok

  • Terméknév: STM32CubeWL3 szoftvercsomag
  • Kompatibilitás: STM32WL3x mikrokontrollerek
  • Főbb jellemzők:
    • Alacsony rétegű (LL) és hardveres absztrakciós réteg (HAL) API-k
    • SigfoxTM, FatFS és FreeRTOSTM kernel köztes szoftver komponensek
    • Alkalmazások és bemutatók

A termék használati útmutatója

Kezdő lépések
Az STM32CubeWL3 szoftvercsomag használatának megkezdéséhez kövesse az alábbi lépéseket:

  1. Töltse le a szoftvercsomagot a hivatalos oldalról webtelek.
  2. Telepítse a szükséges fejlesztői környezetet (pl. STM32CubeIDE, EWARM, MDK-ARM).
  3. Lásd az examplesek és alkalmazások iránymutatást nyújtanak.

STM32CubeWL3 architektúra végeview
Az STM32CubeWL3 szoftvercsomag három fő szint köré épül fel

  • 0. szint: Hardveres absztrakciós réteg (HAL) és BSP illesztőprogramok.
  • 1. szint: Alkalmazások, könyvtárak és protokoll alapú összetevők.

Gyakran Ismételt Kérdések (GYIK)

K: Melyek az STM32CubeWL3 szoftvercsomag főbb jellemzői?
V: A főbb funkciók közé tartoznak az alacsony rétegű és HAL API-k, a köztes szoftver összetevők, mint a SigfoxTM, FatFS, FreeRTOSTM kernel, alkalmazások és bemutatók.

Bevezetés

Az STM32Cube az STMicroelectronics eredeti kezdeményezése, amely jelentősen javítja a tervezők termelékenységét a fejlesztési erőfeszítések, az idő és a költségek csökkentésével. Az STM32Cube a teljes STM32 portfóliót lefedi.

Az STM32Cube tartalma:

  • Felhasználóbarát szoftverfejlesztő eszközök készlete, amelyek lefedik a projektfejlesztést a koncepciótól a megvalósításig, többek között:
    • STM32CubeMX, egy grafikus szoftverkonfigurációs eszköz, amely lehetővé teszi a C inicializálási kód automatikus generálását grafikus varázslók segítségével
    • STM32CubeIDE, egy minden az egyben fejlesztőeszköz perifériakonfigurációval, kódgenerálással, kódfordítással és hibakeresési funkciókkal
    • STM32CubeCLT, egy minden az egyben parancssori fejlesztői eszközkészlet kódfordítással, kártyaprogramozással és hibakeresési funkciókkal
    • STM32CubeProgrammer (STM32CubeProg), grafikus és parancssori változatban elérhető programozási eszköz
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), hatékony megfigyelő eszközök az STM32 alkalmazások viselkedésének és teljesítményének valós időben történő finomhangolásához
  • STM32Cube MCU és MPU csomagok, átfogó beágyazott szoftverplatformok az egyes mikrokontrollerekhez és mikroprocesszor-sorozatokhoz (például az STM32CubeWL3 az STM32WL3x termékcsaládhoz), amelyek a következőket tartalmazzák:
    • STM32Cube hardveres absztrakciós réteg (HAL), amely biztosítja a maximális hordozhatóságot az STM32 portfólióban
    • STM32Cube alacsony rétegű API-k, amelyek a legjobb teljesítményt és helyigényt biztosítják a hardver feletti nagyfokú felhasználói vezérléssel
    • Köztesszoftver-összetevők következetes készlete, mint például a FreeRTOS™ kernel, a FatFS és a Sigfox™
    • Minden beágyazott szoftver segédprogram teljes perifériás és alkalmazási készlettel, plamples
  • STM32Cube bővítőcsomagok, amelyek beágyazott szoftverkomponenseket tartalmaznak, amelyek kiegészítik az STM32Cube MCU és MPU csomagok funkcióit a következőkkel:
    • Köztesszoftver-kiterjesztések és alkalmazási rétegek
    • Exampegyes speciális STMicroelectronics fejlesztőkártyákon fut

Ez a felhasználói kézikönyv leírja, hogyan kezdje meg az STM32CubeWL3 MCU csomag használatát.
A 2. szakasz leírja az STM32CubeWL3 főbb jellemzőit, a 3. szakasz pedigview architektúrájáról és az MCU-csomag szerkezetéről.

Általános információk

Az STM32CubeWL3 GHz alatti bemutatóalkalmazásokat futtat, beleértve a Sigfox™ bináris fájlokat is, az Arm® Cortex®-M32+ processzoron alapuló STM3WL0x termékcsalád mikrovezérlőin.
Az STM32WL3x mikrokontrollerek az STMicroelectronics legkorszerűbb, szubGHz-es kompatibilis RF rádió perifériáját építik be, amely ultraalacsony energiafogyasztásra és kiváló rádióteljesítményre van optimalizálva, a páratlan akkumulátor-élettartam érdekében.
Jegyzet: Az Arm az Arm Limited (vagy leányvállalatai) bejegyzett védjegye az Egyesült Államokban és/vagy másutt.

STM32CubeWL3 főbb jellemzői

  • Az STM32CubeWL3 MCU csomag Arm® Cortex®-M32+ processzoron alapuló 32 bites STM0 mikrokontrollereken fut. Egyetlen csomagban gyűjti össze az STM32WL3x termékcsalád mikrovezérlőihez való alkalmazás fejlesztéséhez szükséges összes általános beágyazott szoftverkomponenst.
  • A csomag alacsony rétegű (LL) és hardveres absztrakciós rétegű (HAL) API-kat tartalmaz, amelyek lefedik a mikrokontroller hardverét, valamint egy kiterjedt készletetampSTMicroelectronics kártyákon fut. A HAL és LL API-k nyílt forráskódú BSD-licencben állnak rendelkezésre a felhasználói kényelem érdekében. Tartalmazza a Sigfox™, FatFS és FreeRTOS™ kernel köztes szoftver összetevőit is.
  • Az STM32CubeWL3 MCU-csomag számos olyan alkalmazást és bemutatót is tartalmaz, amelyek az összes köztesszoftver-összetevőt megvalósítják.
  • Az STM32CubeWL3 MCU-csomag komponens elrendezését az 1. ábra szemlélteti.

1. ábra: STM32CubeWL3 MCU-csomag összetevői 

STM32WL3x-Szoftver-csomag (2)

STM32CubeWL3 architektúra végeview

Az STM32CubeWL3 MCU Package megoldás három független szint köré épül, amelyek könnyen interakcióba lépnek a 2. ábrán látható módon. STM32WL3x-Szoftver-csomag (3)0. szint
Ez a szint három alrétegre oszlik:

  • Támogatási csomag (BSP).
  • Hardveres absztrakciós réteg (HAL):
    • HAL periféria meghajtók
    • Alacsony rétegű meghajtók
  • Alapvető perifériahasználat plamples.

Támogatási csomag (BSP)
Ez a réteg API-készletet kínál a hardverkártyák hardverösszetevőihez (például LED-ekhez, gombokhoz és COM-illesztőprogramokhoz) képest. Két részből áll:

  • Összetevő:
    Ez az illesztőprogram a kártyán lévő külső eszközhöz viszonyítva, nem pedig az STM32-höz. Az összetevő-illesztőprogram speciális API-kat biztosít a BSP-illesztőprogram külső összetevőihez, és bármely más kártyán hordozható.
  • BSP driver:

Lehetővé teszi az összetevő-illesztőprogramok egy adott kártyához való kapcsolását, és felhasználóbarát API-kat biztosít. Az API elnevezési szabály a BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
A BSP moduláris architektúrán alapul, amely lehetővé teszi a könnyű portolást bármilyen hardveren az alacsony szintű rutinok végrehajtásával.

Hardveres absztrakciós réteg (HAL) és alacsony réteg (LL)
Az STM32CubeWL3 HAL és LL kiegészítik egymást, és az alkalmazási követelmények széles skáláját fedik le:

  • A HAL illesztőprogramok magas szintű, funkcióorientált, rendkívül hordozható API-kat kínálnak. Elrejtik az MCU-t és a periféria bonyolultságát a végfelhasználó előtt.
    A HAL illesztőprogramok általános, többpéldányos szolgáltatásorientált API-kat biztosítanak, amelyek leegyszerűsítik a felhasználói alkalmazások megvalósítását azáltal, hogy használatra kész folyamatokat biztosítanak. Plample, a kommunikációs perifériák (I2C, UART és mások) számára API-kat biztosít, amelyek lehetővé teszik a periféria inicializálását és konfigurálását, lekérdezés, megszakítás vagy DMA folyamaton alapuló adatátvitelt, valamint a kommunikáció során esetlegesen felmerülő kommunikációs hibák kezelését. A HAL illesztőprogram API-k két kategóriába sorolhatók:
  1. Általános API-k, amelyek közös és általános funkciókat biztosítanak az összes STM32 sorozatú mikrovezérlő számára.
  2. Extension API-k, amelyek specifikus és testreszabott funkciókat biztosítanak egy adott családhoz vagy egy adott cikkszámhoz.
  • Az alacsony rétegű API-k alacsony szintű API-kat biztosítanak a regiszter szintjén, jobb optimalizálással, de kisebb hordozhatósággal. Az MCU és a periféria specifikációinak mélyreható ismeretére van szükség.
    Az LL meghajtókat úgy tervezték, hogy gyors, könnyű, szakértő-orientált réteget kínáljanak, amely közelebb áll a hardverhez, mint a HAL. A HAL-lal ellentétben az LL API-k nem állnak rendelkezésre olyan perifériákhoz, ahol az optimalizált hozzáférés nem kulcsfontosságú, vagy amelyekhez nehéz szoftverkonfiguráció vagy összetett felső szintű verem szükséges.

Az LL illesztőprogramok jellemzői:

  • Funkciókészlet a periféria főbb jellemzőinek inicializálására az adatstruktúrákban megadott paraméterek szerint.
  • Funkciókészlet, amely az egyes mezőknek megfelelő visszaállítási értékekkel tölti fel az inicializálási adatstruktúrákat.
  • A perifériák inicializálásának megszüntetésére szolgáló funkció (a perifériaregiszterek visszaállítva az alapértelmezett értékekre).
  • Inline függvények készlete a közvetlen és atomi regisztereléréshez.
  • Teljes függetlenség a HAL-tól és önálló módban használható (HAL illesztőprogramok nélkül).
  • A támogatott perifériák teljes körű lefedettsége.

Alapvető perifériahasználat plamples
Ez a réteg magába foglalja az exampAz STM32 perifériákra épül, csak a HAL és BSP erőforrásokat használva.
Bemutató plamplek is rendelkezésre állnak bonyolultabb exampforgatókönyvek speciális perifériákkal, mint például az MRSUBG és az LPAWUR.

1. szint
Ez a szint két alrétegre oszlik:

  • Köztes szoftver összetevők
  • Exampa köztes szoftver összetevői alapján

Köztes szoftver összetevők
A köztes szoftver a FreeRTOS™ kernelt, a FatFS-t és a Sigfox™ protokollkönyvtárat lefedő könyvtárak készlete. A réteg összetevői közötti vízszintes interakció a kiemelt API-k meghívásával történik.
Az alacsony rétegű meghajtókkal való függőleges interakció speciális visszahívásokon és statikus makrókon keresztül valósul meg a könyvtári rendszerhívási felületen.
Az egyes köztesszoftver-összetevők főbb jellemzői a következők:

  • FreeRTOS™ kernel: valós idejű operációs rendszert (RTOS) valósít meg, amelyet beágyazott rendszerekhez terveztek.
  • Sigfox™: megvalósítja a Sigfox™ protokoll-könyvtárat, amely kompatibilis a Sigfox™ protokollhálózattal, és tartalmazza az RF tesztprotokoll-könyvtárat az RF Sigfox™ eszközökkel szembeni teszteléshez.
  • FatFS: az általános FAT-ot valósítja meg file rendszermodul.

Exampa köztes szoftver összetevői alapján
Minden köztesszoftver-komponenshez tartozik egy vagy több examples, más néven alkalmazások, bemutatva, hogyan kell használni. Integráció plampTöbb köztesszoftver-összetevőt használó eszközök is rendelkezésre állnak.

STM32CubeWL3 firmware csomag végeview

Támogatott STM32WL3x eszközök és hardver
Az STM32Cube nagymértékben hordozható hardveres absztrakciós réteget (HAL) kínál, amely egy általános architektúrára épül. Lehetővé teszi a felépítési rétegek elvét, például a köztes szoftverréteg használatát a funkcióik megvalósításához anélkül, hogy alaposan tudná, hogy milyen MCU-t használnak. Ez javítja a könyvtárkód újrafelhasználhatóságát, és biztosítja a könnyű hordozhatóságot más eszközökre.

  • Ezenkívül az STM32CubeWL3 réteges architektúrájával teljes támogatást nyújt az összes STM32WL3x termékcsaládhoz.
  • A felhasználónak csak a megfelelő makrót kell megadnia az stm32wl3x.h fájlban.

Az 1. táblázat a használt STM32WL3x termékcsalád eszközétől függően meghatározandó makrót mutatja be. Ezt a makrót a fordító előfeldolgozójában is meg kell határozni.
1. táblázat: Makrók az STM32WL3x termékcsaládhoz

-ban definiált makró stm32wl3x.h STM32WL3x termékcsalád készülékei
stm32wl33 STM32WL33xx mikrokontrollerek

Az STM32CubeWL3 gazdag examplesek és alkalmazások minden szinten, megkönnyítve a HAL illesztőprogramok vagy köztes szoftver összetevők megértését és használatát. Ezek az exampA 2. táblázatban felsorolt ​​STMicroelectronics kártyákon futnak.

Bizottság STM32WL3x kártya által támogatott eszközök
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

Az STM32CubeWL3 MCU csomag bármilyen kompatibilis hardveren futhat. A felhasználók egyszerűen frissítik a BSP illesztőprogramokat, hogy a mellékelt ex-t portoljákampha azok ugyanazokkal a hardver jellemzőkkel rendelkeznek (például LED-ek vagy gombok).

A firmware csomag végeview
Az STM32CubeWL3 MCU Package megoldás egyetlen, a 3. ábrán látható szerkezetű zip-csomagban érhető el.
3. ábra: STM32CubeWL3 firmware csomag szerkezete

STM32WL3x-Szoftver-csomag (4)

Vigyázat:

A felhasználó nem módosíthatja az alkatrészeket files. A felhasználó csak a \Projects forrásokat szerkesztheti.
Minden táblához egy sor exampA les előre konfigurált projektekkel rendelkezik az EWARM, MDK-ARM és STM32CubeIDE eszközláncokhoz.
A 4. ábra a NUCLEO-WL33CCx kártyák projektstruktúráját mutatja. STM32WL3x-Szoftver-csomag (5)

Az exampA besorolás az STM32CubeWL3 szinttől függően történik, amelyre vonatkoznak. Ezek elnevezése a következő:

  • 0. szint plamples nevezik Examples, plamples_LL, és plamples_MIX. HAL illesztőprogramokat, LL illesztőprogramokat, valamint HAL és LL illesztőprogramok keverékét használnak köztes szoftver komponens nélkül. Bemutató plamples is kaphatók.
  • 1. szint plampalkalmazásokat nevezzük. Az egyes köztesszoftver-összetevők tipikus használati eseteit biztosítják.

Bármilyen firmware-alkalmazás egy adott kártyához gyorsan elkészíthető a Templ ates és Templates_LL könyvtárakban elérhető sablonprojektek segítségével.

Examples, plamples_LL, és plampA les_MIX szerkezete ugyanaz:

  • \Inc az összes fejlécet tartalmazó mappa files.
  • A forráskódot tartalmazó \Src mappa.
  • \EWARM, \MDK-ARM és \STM32CubeIDE mappák, amelyek minden eszközlánchoz előre konfigurált projektet tartalmaznak.
  • readme.md és readme.html, amelyek leírják az exampviselkedését és a működéséhez szükséges környezetet.

Az STM32CubeWL3 használatának megkezdése

Az első ex futtatásaample
Ez a rész elmagyarázza, milyen egyszerű az első ex futtatásaample az STM32CubeWL3-on belül. Illusztrációként a NUCLEO-WL33CC1 kártyán futó egyszerű LED kapcsoló létrehozását használja:

  1. Töltse le az STM32CubeWL3 MCU-csomagot.
  2. Csomagolja ki, vagy futtassa a telepítőt, ha van, egy tetszőleges könyvtárba.
  3. Ügyeljen arra, hogy ne módosítsa a 3. ábrán látható csomagstruktúrát. STM32CubeWL3 firmware-csomagstruktúra. Vegye figyelembe, hogy a csomagot a gyökérkötethez közeli helyre is ajánlott másolni (értsd: C:\ST vagy G:\Tests), mivel egyes IDE-k problémákba ütköznek, ha az elérési út túl hosszú.

Hogyan kell futtatni egy HAL example
Mielőtt betöltené és futtatná egy example, erősen ajánlott az example readme file bármilyen konkrét konfigurációhoz.

  1. Tallózzon a \Projects\NUCLEO-WL33CC\Examples.
  2. Nyissa meg a \GPIO, majd a \GPIO_EXTI mappát.
  3. Nyissa meg a projektet a kívánt eszközlánccal. Gyors végeview hogyan lehet megnyitni, felépíteni és futtatni egy ex-tample a támogatott szerszámláncokkal alább látható.
  4. Építsd újra az összeset files és töltse be a képet a célmemóriába.
  5. Fuss az example. További részletekért lásd az example readme file.

Egy ex megnyitásához, felépítéséhez és futtatásáhozampA támogatott eszközláncok mindegyikéhez kövesse az alábbi lépéseket:

  • EWARM:
  1. Az Ex alattamples mappát, nyissa meg a \EWARM almappát.
  2. Indítsa el a Project.eww munkaterületet (a munkaterület neve változhat egy plample másiknak).
  3. Építsd újra az összeset files: [Project]> [Rebuild all].
  4. Töltse be a projekt képét: [Project]>[Debug].
  5. Futtassa a programot: [Debug]> [Go (F5)].
  • MDK-ARM:
  1. Az Ex alattamples mappát, nyissa meg az \MDK-ARM almappát.
  2. Nyissa meg a Project.uvproj munkaterületet (a munkaterület neve változhat egy plample másiknak).
  3. Építsd újra az összeset files: [Project]>[Rebuild all target files].
  4. Töltse be a projekt képét: [Debug]> [Start/Stop Debug Session].
  5. Futtassa a programot: [Debug]>[Run (F5)].
  • STM32CubeIDE:
  1. Nyissa meg az STM32CubeIDE eszközláncot.
  2. Kattintson [File]>[Switch Workspace]>[Other], és tallózással keresse meg az STM32CubeIDE munkaterület könyvtárát.
  3. Kattintson [File]>[Importálás], válassza az [Általános]>[Meglévő projektek a munkaterületre] lehetőséget, majd kattintson a [Tovább] gombra.
  4. Keresse meg az STM32CubeIDE munkaterület-könyvtárat, és válassza ki a projektet.
  5. Építsd újra az összes projektet files: Válassza ki a projektet a Project Explorer ablakban, majd kattintson a gombra
    [Project]>[Build Project] menüben.
  6.  Futtassa a programot: [Futtatás]>[Debug (F11)].

Egyedi alkalmazás fejlesztése

Az STM32CubeMX használata alkalmazás fejlesztésére vagy frissítésére
Az STM32Cube MCU csomagban szinte minden projekt, plampAz STM32CubeMX eszközzel generálják a rendszert, a perifériákat és a köztes szoftvereket.

Egy meglévő projekt közvetlen felhasználása plampAz STM32CubeMX eszközből STM32CubeMX 6.12.0 vagy újabb verzió szükséges:

  • Az STM32CubeMX telepítése után nyissa meg, és szükség esetén frissítse a javasolt projektet.
    Egy létező projekt megnyitásának legegyszerűbb módja, ha duplán kattintunk a *.ioc fájlra file így az STM32CubeMX automatikusan megnyitja a projektet és annak forrását files. Az STM32CubeMX előállítja az ilyen projektek inicializálási forráskódját.
  • Az alkalmazás fő forráskódját a „FELHASZNÁLÓKÓD KEZDETE” és „FELHASZNÁLÓKÓD VÉGE” megjegyzések tartalmazzák. Ha a periféria kiválasztása és beállításai módosulnak, az STM32CubeMX frissíti a kód inicializálási részét, miközben megőrzi a fő alkalmazás forráskódját.

Egyéni projekt STM32CubeMX segítségével történő fejlesztéséhez kövesse a lépésről lépésre:

  1. Konfigurálja az összes szükséges beágyazott szoftvert egy pinout-konfliktus megoldó, egy órafa beállítási segéd, egy energiafogyasztás-kalkulátor és egy MCU perifériakonfigurációt végző segédprogram (például GPIO vagy USART) segítségével.
  2. A kiválasztott konfiguráció alapján hozza létre az inicializálási C kódot. Ez a kód több fejlesztői környezetben is használható. A felhasználói kód a következő kódgenerációnál megmarad.
    Az STM32CubeMX-ről további információkért tekintse meg az STM32CubeMX felhasználói kézikönyvet az STM32 konfigurálásához és inicializálásához C kód generáláshoz (UM1718).

Illesztőprogram-alkalmazások

HAL alkalmazás
Ez a szakasz leírja az egyéni HAL-alkalmazás STM32CubeWL3 használatával történő létrehozásához szükséges lépéseket:

  1. Hozzon létre egy projektet
    Új projekt létrehozásához kezdje el az egyes táblákhoz biztosított sablonprojektet a \Projects\< STM32xxx_yyy>\Templates alatt, vagy a \Projects\ alatt található bármely elérhető projektből. \Voltampl es vagy \Projects\ \Applications (hol a tábla nevére utal). A Template projekt egy üres főhurok funkciót biztosít. Jó kiindulópont azonban az STM32CubeWL32 projektbeállítások megértéséhez. A sablon a következő jellemzőkkel rendelkezik:
    • Tartalmazza a HAL-forráskódot, a CMSIS-t és a BSP-illesztőprogramokat, amelyek az adott kártyán kód fejlesztéséhez szükséges minimális összetevők.
    • Tartalmazza az összes firmware-komponens elérési útját.
    • Meghatározza a támogatott STM32WL3x termékcsalád eszközöket, lehetővé téve a CMSIS és HAL illesztőprogramok megfelelő konfigurálását.
    • Használatra kész felhasználót biztosít fileaz alábbiak szerint van előre konfigurálva:
    • A HAL az alapértelmezett időalappal inicializálva az Arm® mag SysTick segítségével.
    • SysTick ISR implementálva a HAL_Delay() célra.
      Megjegyzés: Ha egy meglévő projektet más helyre másol, győződjön meg arról, hogy az összes mellékelt elérési út frissítve van.
  2. Konfigurálja a firmware-összetevőket
    A HAL és a köztes szoftver összetevők egy sor felépítési konfigurációs beállítást kínálnak a fejlécben deklarált #define makrók használatával file. Egy sablon konfiguráció file minden összetevőben megtalálható, amelyet a projekt mappájába kell másolni (általában a konfiguráció file a neve xxx_conf_template.h, a _template töredéket el kell távolítani, amikor a projekt mappába másoljuk). A konfiguráció file elegendő információt nyújt az egyes konfigurációs opciók hatásának megértéséhez. Részletesebb információk az egyes komponensekhez mellékelt dokumentációban találhatók.
  3. Indítsa el a HAL könyvtárat
    A főprogramra ugrás után az alkalmazáskódnak meg kell hívnia a HAL_Init() API-t a HAL könyvtár inicializálásához, amely a következő feladatokat hajtja végre:
    • A flash memória előzetes letöltésének és a SysTick megszakítási prioritásnak a konfigurálása (az stm3 2wl3x_hal_conf.h fájlban meghatározott makrók segítségével).
    •  A SysTick beállítása, hogy ezredmásodpercenként megszakítást generáljon az stm32wl3x_hal_conf.h fájlban meghatározott TICK_INT_PRIO SysTick megszakítási prioritáson.
    • Az NVIC csoport prioritásának beállítása 0-ra.
    • Az stm32wl3x_hal_msp.c felhasználóban definiált HAL_MspInit() visszahívási függvény hívása file globális alacsony szintű hardver inicializálások végrehajtására.
  4. Állítsa be a rendszerórát
    A rendszeróra konfigurálása az alábbiakban ismertetett két API meghívásával történik:
    • HAL_RCC_OscConfig(): ez az API konfigurálja a belső és külső oszcillátorokat. A felhasználó választhat egy vagy az összes oszcillátor konfigurálását.
    • HAL_RCC_ClockConfig(): ez az API konfigurálja a rendszeróraforrást, a flash memória késleltetését, valamint az AHB és APB előskálázókat.
  5. Inicializálja a perifériát
    •  Először írja meg a periféria inicializálási függvényét. A következőképpen járjon el:
    • Engedélyezze a periféria órát.
    • Konfigurálja a perifériás GPIO-kat.
    • Konfigurálja a DMA csatornát és engedélyezze a DMA megszakítást (ha szükséges).
    • Engedélyezze a perifériás megszakítást (ha szükséges).
    • Szerkessze az stm32xxx_it.c fájlt a szükséges megszakításkezelők (perifériák és DMA) meghívásához, ha szükséges.
    •  Írjon folyamatteljes visszahívási függvényeket, ha perifériás megszakítást vagy DMA-t kíván használni.
    •  A felhasználói főben.c file, inicializálja a periféria fogantyújának szerkezetét, majd hívja meg a periféria inicializálási funkcióját a periféria inicializálásához.
  6. Alkalmazás fejlesztése
    Ezen stage, a rendszer készen áll, és megkezdődhet a felhasználói alkalmazás kódjának fejlesztése.
    A HAL intuitív és használatra kész API-kat biztosít a periféria konfigurálásához. Támogatja a lekérdezést, a megszakításokat és a DMA programozási modellt, hogy megfeleljen az alkalmazási követelményeknek. Az egyes perifériák használatával kapcsolatos további részletekért tekintse meg a gazdag exampAz STM32CubeWL3 MCU csomagban található készlet.

Vigyázat:
Az alapértelmezett HAL megvalósításban a SysTick időzítőt használják időbázisként: rendszeres időközönként megszakításokat generál. Ha a HAL_Delay() a perifériás ISR folyamatból kerül meghívásra, győződjön meg arról, hogy a SysTick megszakítás prioritása magasabb (számszerűen alacsonyabb), mint a perifériás megszakításé. Ellenkező esetben a hívó ISR folyamata az
zárolt. Az időbázis-konfigurációkat befolyásoló funkciók __gyengeként vannak deklarálva, hogy lehetővé tegyék a felülbírálást a felhasználó más implementációi esetén file (általános célú időzítő használatával, plample, vagy más időforrás).
További részletekért tekintse meg a HAL_TimeBase example.

LL alkalmazás
Ez a szakasz az STM32CubeWL3 használatával egyéni LL-alkalmazások létrehozásához szükséges lépéseket ismerteti.

  1. Hozzon létre egy projektet
    Új projekt létrehozásához vagy a \Projects\ alatt található Templates_LL projektből induljon ki. \Templates_LL vagy bármely elérhető projektből a \Projects\ alatt \E xamples_LL ( a tábla nevére utal, például NUCLEO-WL32CC33).
    A sablonprojekt egy üres főhurok funkciót biztosít, ami jó kiindulópont az STM32CubeWL3 projektbeállításainak megértéséhez. A sablon főbb jellemzői a következők:
    • Tartalmazza az LL és CMSIS meghajtók forráskódját, amelyek az adott kártyán a kód fejlesztéséhez szükséges minimális összetevők.
    • Tartalmazza az összes szükséges firmware-komponens elérési útját.
    • Kiválasztja a támogatott STM32WL3x termékcsalád eszközét, és lehetővé teszi a CMSIS és LL illesztőprogramok helyes konfigurálását.
    • Használatra kész felhasználót biztosít files amelyek a következők szerint vannak előre konfigurálva:
    • main.h: LED és USER_BUTTON definíciós absztrakciós réteg.
    • main.c: Rendszeróra konfiguráció a maximális frekvenciához.
  2. Port az LL example:
    • Másolja/illessze be a Templates_LL mappát – a kezdeti forrás megtartásához – vagy frissítsen közvetlenül egy meglévő Templa tes_LL projektet.
    • Ezután a portolás főként a Templates_LL lecseréléséből áll files az Examples_LL célzott projekt.
    • Őrizze meg az összes táblaspecifikus alkatrészt. Az áttekinthetőség érdekében a táblaspecifikus részek specifikus jelzéssel vannak megjelölve tags:
      STM32WL3x-Szoftver-csomag (1)

Így a portolás fő lépései a következők:

  • Cserélje ki az stm32wl3x_it.h fájlt file.
  • Cserélje ki az stm32wl3x_it.c fájlt file.
  • Cserélje ki a fő.h file és frissítse: Tartsa meg az LL-sablon LED-jét és a felhasználói gomb definícióját a BOARD SPECIFIC CONFIGURATION alatt tags.
  • Cserélje ki a fő.c file és frissítsd:
  • Tartsa meg a SystemClock_Config() LL sablonfüggvény órakonfigurációját a BOARD SPECIFIC CONFIGURATION alatt tags.
  • A LED definíciójától függően cserélje ki az egyes LDx előfordulásokat egy másik elérhető LDy-re file fő.h.

Ezekkel a módosításokkal az example fut a megcélzott táblán.

RF alkalmazások, bemutatók és plamples
Különféle típusú RF alkalmazások, bemutatók és plampAz STM32CubeWL3 csomagban kaphatók. Ezek az alábbi két részben találhatók.

GHz alatti, plamples és bemutatók
Ezek az exampbemutatják az MRSUBG és LPAWUR rádiós perifériák főbb jellemzőit. Ezek az exampa következő címen érhetők el:

  • Projektek\NUCLEO-WL33CC\Plamples\MRSUBG
  • Projektek\NUCLEO-WL33CC\Plamples\LPAWUR
  • Projektek\NUCLEO-WL33CC\Demonstrations\MRSUBG
  • Projektek\NUCLEO-WL33CC\Demonstrations\LPAWUR

Minden exampA le vagy a bemutató általában két programból áll, melyeket Tx-nek és Rx-nek neveznek, amelyek adóként és vevőként működnek:

  • Examples/MRSUBG
    • MRSUBG_802_15_4: a 802.15.4 szabvány által meghatározott fizikai réteg megvalósítása. Megmutatja, hogyan kell beállítani a rádiót 802.15.4 csomagok küldésére vagy fogadására.
    • MRSUBG_BasicGeneric: STM32WL3x MR_SUBG alapcsomagok cseréje.
    • MRSUBG_Chat: Egy egyszerű alkalmazás, amely megmutatja, hogyan kell használni a Tx-et és az Rx-et ugyanazon az eszközön.
    • MRSUBG_DatabufferHandler: Egy plample, amely megmutatja, hogyan kell cserélni a Databuffer 0-ról és 1-ről.
    • MRSUBG_Sequencer AutoAck: Egy plampamely automatikusan küldi és fogadja a csomagnyugtákat (ACK-ket).
    • MRSUBG_WMBusSTD: WM-Bus üzenetek cseréje.
    • WakeupRadio: Egy example tesztelni az LPAWUR rádiós perifériát.
  • Demonstrációk/MRSUBG
    • MRSUBG_RTC_Button_TX: Ez a plampA le megmutatja, hogyan kell beállítani az SoC-t mélymegállás módba, és beállítani az MRSUBG-t, hogy felébressze az SoC-t a PB2 megnyomásával keret küldéséhez vagy az RTC időzítő lejárta után.
    • MRSUBG_Sequencer_Sniff: Ez az example bemutatja, hogyan kell beállítani az MRSUBG szekvenszert szippantás módban való működésre. Ez az example a vevőoldalt mutatja be, és adóként egy másik eszközt igényel.
    • MRSUBG_Timer: Az alkalmazás ütemezi az MRSUBG időzítő több példányát (automatikus újratöltéssel) különböző időintervallumokkal.
    • MRSUBG_WakeupRadio_Tx: Ez a plampA le elmagyarázza, hogyan állítsa be az SoC-t mélyleállás módba, és hogyan konfigurálja az MRSUBG-t úgy, hogy a PB2 megnyomásával felébressze az SoC-t a keret küldéséhez. Ez az example bemutatja az adó oldalát, és egy másik eszközt igényel LPAWUR vevőként. A vevő plample a NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx mappa alatt található.
  • Demonstrációk/LPAWUR
    • LPAWUR_WakeupRadio_Rx: Ez az exampA le elmagyarázza, hogyan kell beállítani az SoC-t mélységi módba, és konfigurálni az LPAWUR-t úgy, hogy felébressze az SoC-t, amikor egy keret megérkezik és megfelelően fogadja. Ez az example a vevőoldalt mutatja be, és adóként egy másik eszközt igényel. Az adó plample a NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx mappában található.

Sigfox™ alkalmazás
Ezek az alkalmazások bemutatják a Sigfox™ forgatókönyv megvalósítását és a rendelkezésre álló Sigfox™ API-k használatát. Ezek a Projects\NUCLEO-WL33CC\Applications\Sigfox\ projektútvonalban érhetők el:

  • Sigfox_CLI: Ez az alkalmazás bemutatja, hogyan lehet parancssori felületet (CLI) használni olyan parancsok küldésére, amelyek a Sigfox™ protokollt használják üzenetek küldésére és előzetes hitelesítési tesztek végrehajtására.
  • Sigfox_PushButton: Ez az alkalmazás lehetővé teszi az STM32WL33xx Sigfox™ eszköz rádióképességeinek értékelését. A PB1 megnyomása egy teszt Sigfox™ keretet küld.

GYIK

  1. Mikor használjak HAL-t LL illesztőprogramok helyett?
    A HAL illesztőprogramok magas szintű és funkcióorientált API-kat kínálnak, magas szintű hordozhatósággal. A termék vagy a periféria összetettsége rejtett a végfelhasználók számára.
    Az LL-illesztőprogramok alacsony szintű, regiszterszintű API-kat kínálnak, jobb optimalizálással, de kevésbé hordozhatók. A termék- vagy IP-specifikációk mélyreható ismerete szükséges.
  2. Használhatók együtt a HAL és LL meghajtók? Ha igen, mik a korlátok?
    Lehetőség van HAL és LL meghajtók használatára is. Használja a HAL-t a periféria inicializálási fázisához, majd kezelje az I/O műveleteket LL illesztőprogramokkal.
    A fő különbség a HAL és az LL között az, hogy a HAL-illesztőprogramoknak kezelőelemeket kell létrehozniuk és használniuk kell a műveletkezeléshez, míg az LL-illesztőprogramok közvetlenül a perifériás regisztereken működnek. A HAL és LL keverését az Examples_MIX plamples.
  3. Hogyan engedélyezettek az LL inicializálási API-k?
    Az LL inicializálási API-k és a kapcsolódó erőforrások (struktúrák, literálok és prototípusok) meghatározását a USE_FULL_LL_DRIVER fordítási kapcsoló határozza meg.
    Az LL inicializálási API-k használatához adja hozzá ezt a kapcsolót az eszközlánc-fordító előfeldolgozójához.
  4. Létezik-e sablon projekt az MRSUBG/LPAWUR perifériás examples?
    Új MRSUBG vagy LPAWUR exampprojektet, vagy induljon a \Pr ojects\NUCLEO-WL33CC\Ex alatt megadott vázprojektbőlamples\MRSUBG vagy \Projects\NUCLEO-WL33CC\Examples\LPAWUR, vagy bármely elérhető projektből ugyanezen könyvtárak alatt.
  5. Hogyan tud STM32CubeMX kódot generálni beágyazott szoftver alapján?
    Az STM32CubeMX beépített tudással rendelkezik az STM32 mikrokontrollerekről, beleértve azok perifériáit és szoftvereit, ami lehetővé teszi, hogy grafikus megjelenítést biztosítson a felhasználó számára, és *.h vagy *.c formátumot generáljon. files a felhasználó konfigurációján alapul.

Revíziótörténet

3. táblázat: Dokumentum felülvizsgálati előzmények

Dátum Felülvizsgálat Változások
29-március 2024 1 Kezdeti kiadás.
30. október 2024 2 Teljes integrációja STM32CubeWL3 in STM32Cube. Frissítve:

Eltávolítva:

  • PC-eszközök, beleértve Navigátor, STM32WL3 GUI, és MR-SUBG Sequencer GUI
  • Hogyan tud a WiSE-Studio IOMapper kódot generálni beágyazott szoftver alapján?
  • Lehetővé teszi a Navigator hozzáférést a szoftvercsomag-erőforrásokhoz?

Dokumentumok / Források

ST STM32WL3x szoftvercsomag [pdfUtasítások
STM32WL3x szoftvercsomag, STM32WL3x, szoftvercsomag, csomag

Hivatkozások

Hagyj megjegyzést

E-mail címét nem tesszük közzé. A kötelező mezők meg vannak jelölve *