STM32WL3x-loigo

Tarkvarapakett STM32WL3x

STM32WL3x-Tarkvarapakett -TOOTED

Tehnilised andmed

  • Toote nimi: STM32CubeWL3 tarkvarapakett
  • Ühilduvus: STM32WL3x mikrokontrollerid
  • Peamised omadused:
    • Madala kihi (LL) ja riistvara abstraktsioonikihi (HAL) API-d
    • SigfoxTM, FatFS ja FreeRTOSTM kerneli vahevara komponendid
    • Rakendused ja demonstratsioonid

Toote kasutusjuhised

Alustamine
Tarkvarapaketi STM32CubeWL3 kasutamise alustamiseks toimige järgmiselt.

  1. Laadige tarkvarapakett ametlikult alla websaidile.
  2. Installige vajalik arenduskeskkond (nt STM32CubeIDE, EWARM, MDK-ARM).
  3. Vaadake endistampjuhised ja rakendused.

STM32CubeWL3 arhitektuur läbiview
Tarkvarapakett STM32CubeWL3 on üles ehitatud kolme põhitaseme ümber

  • 0. tase: Riistvara abstraktsioonikiht (HAL) ja BSP draiverid.
  • 1. tase: Rakendused, teegid ja protokollipõhised komponendid.

Korduma kippuvad küsimused (KKK)

K: Millised on tarkvarapaketi STM32CubeWL3 põhifunktsioonid?
V: Peamised funktsioonid hõlmavad madala kihi ja HAL API-sid, vahevara komponente, nagu SigfoxTM, FatFS, FreeRTOSTM kernel, rakendusi ja esitlusi.

Sissejuhatus

STM32Cube on STMicroelectronicsi originaalalgatus, mis parandab oluliselt disainerite tootlikkust, vähendades arendustegevust, aega ja kulusid. STM32Cube katab kogu STM32 portfelli.

STM32Cube sisaldab:

  • Kasutajasõbralike tarkvaraarendustööriistade komplekt, mis hõlmab projekti arendust kontseptsioonist teostuseni, sealhulgas]
    • STM32CubeMX, graafiline tarkvara konfiguratsioonitööriist, mis võimaldab graafiliste viisardite abil automaatselt genereerida C-initsialiseerimiskoodi
    • STM32CubeIDE, kõik-ühes arendustööriist perifeerse konfiguratsiooni, koodi genereerimise, koodide kompileerimise ja silumisfunktsioonidega
    • STM32CubeCLT, kõik-ühes käsurea arendustööriistade komplekt koodi koostamise, plaadi programmeerimise ja silumisfunktsioonidega
    • STM32CubeProgrammer (STM32CubeProg), programmeerimistööriist, mis on saadaval graafilises ja käsurea versioonis
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), võimsad jälgimistööriistad STM32 rakenduste käitumise ja jõudluse reaalajas viimistlemiseks
  • STM32Cube MCU ja MPU paketid, iga mikrokontrolleri ja mikroprotsessori seeria jaoks spetsiifilised terviklikud manustatud tarkvaraplatvormid (nt STM32CubeWL3 tootesarja STM32WL3x jaoks), mis hõlmavad järgmist:
    • STM32Cube'i riistvara abstraktsioonikiht (HAL), mis tagab maksimaalse kaasaskantavuse kogu STM32 portfellis
    • STM32Cube'i madala kihi API-d, mis tagavad parima jõudluse ja jalajälje ning kasutajal on suur kontroll] riistvara üle
    • Järjepidev vahevara komponentide komplekt, nagu FreeRTOS™ kernel, FatFS ja Sigfox™
    • Kõik manustatud tarkvara utiliidid koos välisseadmete ja rakenduste täielike komplektidega, ntamples
  • STM32Cube'i laienduspaketid, mis sisaldavad manustatud tarkvarakomponente, mis täiendavad STM32Cube'i MCU- ja MPU-pakettide funktsioone:
    • Vahevara laiendused ja rakenduskihid
    • Examples töötab mõnel konkreetsel STMicroelectronics arendusplaadil

See kasutusjuhend kirjeldab, kuidas alustada STM32CubeWL3 MCU paketi kasutamist.
Jaotis 2 kirjeldab STM32CubeWL3 põhifunktsioone ja jaotis 3 pakub üleview selle arhitektuurist ja MCU paketi struktuurist.

Üldine teave

STM32CubeWL3 käitab Arm® Cortex®-M32+ protsessoril põhinevatel STM3WL0x tootesarja mikrokontrolleritel alamGHz näidisrakendusi, sealhulgas Sigfox™ kahendfaile.
Mikrokontrolleritesse STM32WL3x on integreeritud STMicroelectronicsi tipptasemel alamGHz-ühilduv RF-raadiovälisseade, mis on optimeeritud ülimadala energiatarbimise ja suurepärase raadiojõudluse jaoks, mis tagab aku võrratu tööea.
Märkus: Arm on ettevõtte Arm Limited (või selle tütarettevõtete) registreeritud kaubamärk USA-s ja/või mujal.

STM32CubeWL3 peamised omadused

  • STM32CubeWL3 MCU pakett töötab STM32 32-bitistel mikrokontrolleritel, mis põhinevad Arm® Cortex®-M0+ protsessoril. See koondab ühte paketti kõik üldised manustatud tarkvarakomponendid, mis on vajalikud tootesarja STM32WL3x mikrokontrollerite rakenduse arendamiseks.
  • Pakett sisaldab madala kihi (LL) ja riistvara abstraktsioonikihi (HAL) API-sid, mis katavad mikrokontrolleri riistvara, koos ulatusliku komplektigaamples töötab STMicroelectronics plaatidel. HAL ja LL API-d on kasutaja mugavuse huvides saadaval avatud lähtekoodiga BSD litsentsina. See sisaldab ka Sigfox™, FatFS ja FreeRTOS™ kerneli vahevara komponente.
  • STM32CubeWL3 MCU pakett pakub ka mitmeid rakendusi ja esitlusi, mis rakendavad kõiki selle vahevara komponente.
  • STM32CubeWL3 MCU paketi komponentide paigutus on näidatud joonisel 1.

Joonis 1. STM32CubeWL3 MCU paketi komponendid 

STM32WL3x-tarkvarapakett (2)

STM32CubeWL3 arhitektuur läbiview

STM32CubeWL3 MCU paketi lahendus on üles ehitatud kolmele sõltumatule tasemele, mis on hõlpsasti interakteeruvad, nagu on kirjeldatud joonisel 2. STM32WL3x-tarkvarapakett (3)0. tase
See tase on jagatud kolmeks alamkihiks:

  • Juhatuse tugipakett (BSP).
  • Riistvara abstraktsioonikiht (HAL):
    • HAL välisseadmete draiverid
    • Madala kihi draiverid
  • Välisseadmete põhikasutus, ntampvähem.

Tahvli tugipakett (BSP)
See kiht pakub komplekti API-sid, mis on seotud riistvaraplaatide riistvarakomponentidega (nt LED-id, nupud ja COM-draiverid). See koosneb kahest osast:

  • Komponent:
    See on pardal oleva välisseadme, mitte STM32 draiver. Komponendi draiver pakub BSP draiveri väliskomponentidele spetsiifilisi API-sid ja seda saab kaasas kanda mis tahes muule plaadile.
  • BSP draiver:

See võimaldab linkida komponentide draiverid kindla tahvliga ja pakub kasutajasõbralikke API-sid. API nimetamise reegel on BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP põhineb modulaarsel arhitektuuril, mis võimaldab hõlpsat portimist mis tahes riistvarale, rakendades lihtsalt madala taseme rutiinid.

Riistvara abstraktsioonikiht (HAL) ja madalkiht (LL)
STM32CubeWL3 HAL ja LL täiendavad üksteist ja katavad laia valikut rakendusnõudeid:

  • HAL-draiverid pakuvad kõrgetasemelisi funktsioonidele orienteeritud väga kaasaskantavaid API-sid. Need peidavad lõppkasutaja ees MCU ja välisseadmete keerukuse.
    HAL-draiverid pakuvad üldisi mitme eksemplari funktsioonidele orienteeritud API-sid, mis lihtsustavad kasutajarakenduse juurutamist, pakkudes kasutusvalmis protsesse. Näiteksample, sidevälisseadmete (I2C, UART jt) jaoks pakub see API-sid, mis võimaldavad välisseadme lähtestada ja konfigureerida, hallata andmeedastust pollimise, katkestamise või DMA protsessi alusel ning käsitleda side ajal tekkida võivaid sidevigu. HAL-draiveri API-d on jagatud kahte kategooriasse:
  1. Üldised API-d, mis pakuvad ühiseid ja üldisi funktsioone kõigile STM32 seeria mikrokontrolleritele.
  2. Laiendusliidesed, mis pakuvad spetsiifilisi ja kohandatud funktsioone konkreetse perekonna või konkreetse osanumbri jaoks.
  • Madala kihi API-d pakuvad madala taseme API-sid registri tasemel parema optimeerimisega, kuid väiksema teisaldatavusega. Need nõuavad sügavaid teadmisi MCU ja välisseadmete spetsifikatsioonidest.
    LL-draiverid on loodud pakkuma kiiret ja kerget eksperdile orienteeritud kihti, mis on riistvarale lähemal kui HAL. Vastupidiselt HAL-ile ei pakuta LL API-sid välisseadmetele, mille jaoks optimeeritud juurdepääs ei ole põhifunktsioon, või neile, mis nõuavad rasket tarkvarakonfiguratsiooni või keerukat kõrgema taseme pinu.

LL-draiverite funktsioonid:

  • Funktsioonide komplekt välisseadmete põhifunktsioonide lähtestamiseks vastavalt andmestruktuurides määratud parameetritele.
  • Funktsioonide komplekt lähtestamisandmete struktuuride täitmiseks igale väljale vastavate lähtestusväärtustega.
  • Välisseadmete deinitsialiseerimise funktsioon (välisseadmete registrid taastatakse vaikeväärtustele).
  • Sisseehitatud funktsioonide komplekt otseseks ja aatomiregistri juurdepääsuks.
  • Täielik sõltumatus HAL-ist ja võimalus kasutada eraldiseisvas režiimis (ilma HAL-draiveriteta).
  • Toetatud välisseadmete täielik katvus.

Välisseadmete põhikasutus, ntamples
See kiht ümbritseb exampehitatud üle STM32 välisseadmete, kasutades ainult HAL- ja BSP-ressursse.
Demonstratsioon eksamples on saadaval ka keerukamate eksample stsenaariumid konkreetsete välisseadmetega, nagu MRSUBG ja LPAWUR.

1. tase
See tase on jagatud kaheks alamkihiks:

  • Vahevara komponendid
  • Examppõhinevad vahevara komponentidel

Vahevara komponendid
Vahevara on teekide komplekt, mis hõlmab FreeRTOS™-i tuuma, FatFS-i ja Sigfox™-i protokolliteeki. Selle kihi komponentide horisontaalne interaktsioon toimub esiletoodud API-de kutsumisega.
Vertikaalne suhtlus madala kihi draiveritega toimub spetsiifiliste tagasihelistamiste ja staatiliste makrode kaudu, mis on rakendatud raamatukogu süsteemi kõneliideses.
Iga vahevara komponendi põhifunktsioonid on järgmised:

  • FreeRTOS™ kernel: rakendab reaalajas operatsioonisüsteemi (RTOS), mis on loodud manustatud süsteemide jaoks.
  • Sigfox™: rakendab Sigfox™-i protokolliteeki, mis ühildub Sigfox™-i protokollivõrguga, ja sisaldab RF-testiprotokolli teeki, et testida RF-i Sigfox™-i tööriistade vastu.
  • FatFS: rakendab üldist FAT-i file süsteemi moodul.

Examppõhinevad vahevara komponentidel
Iga vahevara komponendiga on kaasas üks või mitu eksamples, mida nimetatakse ka rakendusteks, mis näitab, kuidas seda kasutada. Integratsioon ntampPakutakse ka mitut vahevara komponenti kasutavaid tooteid.

STM32CubeWL3 püsivara pakett läbiview

Toetatud STM32WL3x seadmed ja riistvara
STM32Cube pakub suurel määral kaasaskantavat riistvara abstraktsioonikihti (HAL), mis on ehitatud üldise arhitektuuri ümber. See võimaldab ülesehituskihtide põhimõtet, näiteks vahevara kihi kasutamist nende funktsioonide rakendamiseks, teadmata põhjalikult, mida MCU-d kasutatakse. See parandab teegi koodi korduvkasutatavust ja tagab hõlpsa teisaldatavuse teistesse seadmetesse.

  • Lisaks pakub STM32CubeWL3 oma kihilise arhitektuuriga täielikku tuge kogu STM32WL3x tootesarjale.
  • Kasutaja peab failis stm32wl3x.h määratlema ainult õige makro.

Tabelis 1 on näidatud makro, mis tuleb määrata sõltuvalt kasutatavast tootesarja STM32WL3x seadmest. See makro peab olema määratletud ka kompilaatori eelprotsessoris.
Tabel 1. Tootesarja STM32WL3x makrod

Makro on määratletud aastal stm32wl3x.h STM32WL3x tootesarja seadmed
stm32wl33 STM32WL33xx mikrokontrollerid

STM32CubeWL3 sisaldab rikkalikku examplesid ja rakendusi kõigil tasanditel, muutes mis tahes HAL-draiveri või vahevara komponentide mõistmise ja kasutamise lihtsaks. Need examples töötavad tabelis 2 loetletud STMicroelectronics plaatidel.

juhatus STM32WL3x plaadiga toetatud seadmed
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

STM32CubeWL3 MCU pakett võib töötada mis tahes ühilduva riistvaraga. Kasutajad värskendavad lihtsalt BSP-draivereid, et pordida pakutud exampnende tahvlitel, kui neil on samad riistvarafunktsioonid (nt LED-id või nupud).

Püsivarapakett läbiview
STM32CubeWL3 MCU paketi lahendus on saadaval ühes zip-pakendis, mille struktuur on näidatud joonisel 3.
Joonis 3. STM32CubeWL3 püsivara paketi struktuur

STM32WL3x-tarkvarapakett (4)

Ettevaatust:

Kasutaja ei tohi komponente muuta files. Kasutaja saab redigeerida ainult allikaid \Projects.
Iga tahvli jaoks komplekt examples on varustatud EWARM-i, MDK-ARM-i ja STM32CubeIDE-tööriistaahelate eelkonfigureeritud projektidega.
Joonisel 4 on näidatud NUCLEO-WL33CCx plaatide projekti struktuur. STM32WL3x-tarkvarapakett (5)

EndineampNeed liigitatakse sõltuvalt STM32CubeWL3 tasemest, millele need kehtivad. Neid nimetatakse järgmiselt:

  • Tase 0, ntamplesid nimetatakse Examples, ntamples_LL ja Examples_MIX. Nad kasutavad vastavalt HAL-draivereid, LL-draivereid ning HAL- ja LL-draiverite segu ilma vahevarakomponendita. Demonstratsioon eksamples on ka saadaval.
  • Tase 1, ntamplesid nimetatakse rakendusteks. Need pakuvad iga vahevara komponendi tüüpilisi kasutusjuhtumeid.

Iga konkreetse tahvli püsivararakendust saab kiiresti luua, kasutades malliprojekte, mis on saadaval kataloogides Templ ates ja Templates_LL.

Examples, ntamples_LL ja Examples_MIX-il on sama struktuur:

  • \Inc kaust, mis sisaldab kogu päist files.
  • \Src kaust, mis sisaldab lähtekoodi.
  • \EWARM, \MDK-ARM ja \STM32CubeIDE kaustad, mis sisaldavad iga tööriistaahela eelkonfigureeritud projekti.
  • readme.md ja readme.html, mis kirjeldavad endistampkäitumist ja selle toimimiseks vajalikku keskkonda.

STM32CubeWL3-ga alustamine

Juhtib esimest endistample
See jaotis selgitab, kui lihtne on esimese endise käivitamineample STM32CubeWL3 sees. See kasutab näitena lihtsa LED-lüliti genereerimist, mis töötab NUCLEO-WL33CC1 plaadil:

  1. Laadige alla STM32CubeWL3 MCU pakett.
  2. Pakkige see lahti või käivitage installiprogramm, kui see on olemas, teie valitud kataloogi.
  3. Ärge muutke joonisel 3 näidatud paketi struktuuri. STM32CubeWL3 püsivara paketi struktuur. Pange tähele, et pakett on soovitatav kopeerida ka juurköite lähedale (see tähendab C:\ST või G:\Tests), kuna mõnel IDE-l tekib probleeme, kui tee on liiga pikk.

Kuidas juhtida HAL example
Enne endise laadimist ja käivitamistample, on tungivalt soovitatav lugeda eksample loe mind file mis tahes konkreetse konfiguratsiooni jaoks.

  1. Sirvige jaotist \Projects\NUCLEO-WL33CC\Exampvähem.
  2. Avage kaustad \GPIO ja seejärel \GPIO_EXTI.
  3. Avage projekt eelistatud tööriistaahelaga. Kiire lõppview kuidas endist avada, ehitada ja juhtidaample koos toetatud tööriistakettidega on toodud allpool.
  4. Ehitage kõik uuesti files ja laadige pilt sihtmällu.
  5. Käivitage endineample. Lisateabe saamiseks vaadake endistample loe mind file.

Endise avamiseks, ehitamiseks ja käitamiseksampiga toetatud tööriistaahelaga, järgige alltoodud samme.

  • EWARM:
  1. Examples kaustas, avage alamkaust \EWARM.
  2. Käivitage tööruum Project.eww (tööruumi nimi võib muutuda ühe ntample teisele).
  3. Ehitage kõik uuesti files: [Projekt]> [Ehita kõik uuesti].
  4. Laadige projekti pilt: [Projekt]>[Silumine].
  5. Käivitage programm: [Silumine]> [Mine (F5)].
  • MDK-ARM:
  1. Examples kaustas, avage alamkaust \MDK-ARM.
  2. Avage tööruum Project.uvproj (tööruumi nimi võib muutuda ühe ntample teisele).
  3. Ehitage kõik uuesti files: [Projekt]>[Ehita kõik sihtmärgid uuesti files].
  4. Laadige projekti pilt: [Silumine]> [Start/Stop Silumisseanss].
  5. Käivitage programm: [Silumine]> [Käivita (F5)].
  • STM32CubeIDE:
  1. Avage STM32CubeIDE tööriistakett.
  2. Kliki [File]>[Vaheta tööruumi]>[Muu] ja sirvige STM32CubeIDE tööruumi kataloogi.
  3. Kliki [File]> [Import], valige [Üldine]> [Olemasolevad projektid tööruumi] ja seejärel klõpsake [Järgmine].
  4. Sirvige STM32CubeIDE tööruumi kataloogi ja valige projekt.
  5. Ehitage kogu projekt uuesti files: valige Project Exploreri aknas projekt, seejärel klõpsake nuppu
    Menüü [Projekt]>[Ehita projekt].
  6.  Käivitage programm: [Käivita]>[Silumine (F11)].

Kohandatud rakenduse arendamine

STM32CubeMX kasutamine rakenduse arendamiseks või värskendamiseks
STM32Cube MCU paketis on peaaegu kõik projektid, ntamples genereeritakse STM32CubeMX tööriistaga süsteemi, välisseadmete ja vahevara lähtestamiseks.

Olemasoleva projekti otsene kasutamine ntampSTM32CubeMX tööriista jaoks on vaja STM32CubeMX 6.12.0 või uuemat versiooni:

  • Pärast STM32CubeMX installimist avage ja vajadusel värskendage pakutud projekt.
    Lihtsaim viis olemasoleva projekti avamiseks on topeltklõps *.ioc file nii et STM32CubeMX avab automaatselt projekti ja selle allika files. STM32CubeMX genereerib selliste projektide lähtekoodi.
  • Peamise rakenduse lähtekoodi sisaldavad kommentaarid "KASUTAJAKOODI ALGUS" ja "KASUTAJAKOODI LÕPP". Kui välisseadmete valikut ja sätteid muudetakse, värskendab STM32CubeMX koodi lähtestamisosa, säilitades samal ajal põhirakenduse lähtekoodi.

Kohandatud projekti arendamiseks STM32CubeMX-iga järgige samm-sammult:

  1. Konfigureerige kogu nõutav manustatud tarkvara, kasutades pinout-konfliktide lahendajat, kellapuu seadistusabi, energiatarbimise kalkulaatorit ja MCU välisseadmete konfiguratsiooni teostavat utiliiti (nt GPIO või USART).
  2. Valitud konfiguratsiooni põhjal genereerige lähtestamiskood C. See kood on kasutamiseks valmis mitmes arenduskeskkonnas. Kasutajakoodi säilitatakse järgmisel koodi genereerimisel.
    Lisateavet STM32CubeMX kohta leiate kasutusjuhendist STM32CubeMX STM32 konfigureerimise ja lähtestamise C-koodi genereerimiseks (UM1718).

Draiveri rakendused

HAL rakendus
Selles jaotises kirjeldatakse samme, mis on vajalikud kohandatud HAL-rakenduse loomiseks, kasutades STM32CubeWL3.

  1. Loo projekt
    Uue projekti loomiseks alustage iga plaadi malliprojektist, mis on jaotises \Projects\< STM32xxx_yyy>\Templates või mis tahes saadaolevast projektist jaotises \Projects\ \Ntampl es või \Projects\ \Rakendused (kus viitab tahvli nimele). Mallprojekt pakub tühja põhitsükli funktsiooni. Siiski on see hea lähtepunkt STM32CubeWL32 projekti sätete mõistmiseks. Mallil on järgmised omadused:
    • See sisaldab HAL-i lähtekoodi, CMSIS-i ja BSP-draivereid, mis on minimaalne komponentide komplekt, mis on vajalik antud plaadil koodi väljatöötamiseks.
    • See sisaldab kõigi püsivara komponentide kaasatud teid.
    • See määratleb toetatud STM32WL3x tootesarja seadmed, võimaldades CMSIS- ja HAL-draivereid õigesti konfigureerida.
    • See pakub kasutusvalmis kasutajat fileon eelkonfigureeritud, nagu allpool näidatud:
    • HAL lähtestati vaikeaja baasiga Arm®-i tuuma SysTicki abil.
    • SysTicki ISR ​​on rakendatud HAL_Delay() eesmärgil.
      Märkus. Olemasoleva projekti teise asukohta kopeerimisel veenduge, et kõik kaasatud teed oleksid värskendatud.
  2. Konfigureerige püsivara komponendid
    HAL ja vahevara komponendid pakuvad komplekti ehitusaja konfiguratsioonivalikuid, kasutades päises deklareeritud #define makrosid file. Malli konfiguratsioon file on igas komponendis, mis tuleb kopeerida projekti kausta (tavaliselt konfiguratsioon file kannab nime xxx_conf_template.h, tuleb fragment _template selle projekti kausta kopeerimisel eemaldada). Konfiguratsioon file annab piisavalt teavet, et mõista iga konfiguratsioonivaliku mõju. Üksikasjalikum teave on saadaval iga komponendi dokumentatsioonis.
  3. Käivitage HAL-i raamatukogu
    Pärast põhiprogrammi hüppamist peab rakenduse kood kutsuma HAL_Init() API-d, et lähtestada HAL teegi, mis täidab järgmisi ülesandeid:
    • Välkmälu eellaadimise ja SysTicki katkestuse prioriteedi konfigureerimine (stm3 2wl3x_hal_conf.h määratletud makrode kaudu).
    •  SysTicki konfiguratsioon, et genereerida katkestus iga millisekundi SysTicki katkestuse prioriteediga TICK_INT_PRIO, mis on määratletud failis stm32wl3x_hal_conf.h.
    • NVIC-grupi prioriteediks on seatud 0.
    • Kasutajas stm32wl3x_hal_msp.c määratud tagasihelistamisfunktsiooni HAL_MspInit() väljakutse file globaalsete madala taseme riistvara initsialiseerimiseks.
  4. Konfigureerige süsteemi kell
    Süsteemi kella konfigureerimiseks helistatakse kahele allpool kirjeldatud API-le:
    • HAL_RCC_OscConfig(): see API konfigureerib sisemised ja välised ostsillaatorid. Kasutaja valib, kas konfigureerida ühe või kõik ostsillaatorid.
    • HAL_RCC_ClockConfig(): see API konfigureerib süsteemi kella allika, välkmälu latentsuse ning AHB ja APB eelskaalajad.
  5. Initsialiseerige välisseade
    •  Esmalt kirjutage perifeerse lähtestamise funktsioon. Toimige järgmiselt.
    • Luba välisseadmete kell.
    • Välisseadmete GPIO-de konfigureerimine.
    • Konfigureerige DMA kanal ja lubage DMA katkestus (vajadusel).
    • Luba välisseadmete katkestus (vajadusel).
    • Vajadusel redigeerige faili stm32xxx_it.c, et kutsuda välja vajalikud katkestuste töötlejad (välisseadmed ja DMA).
    •  Kirjutage protsessi täielikud tagasihelistamise funktsioonid, kui on ette nähtud välisseadme katkestus või DMA.
    •  Kasutajas main.c file, lähtestage välisseadme käepideme struktuur ja seejärel kutsuge välisseadme lähtestamiseks välja välisseadme lähtestamisfunktsioon.
  6. Arendage rakendus
    Sellel stage, süsteem on valmis ja kasutajarakenduse koodi arendamine võib alata.
    HAL pakub välisseadmete konfigureerimiseks intuitiivseid ja kasutusvalmis API-sid. See toetab küsitlust, katkestusi ja DMA programmeerimismudelit, et rahuldada kõiki rakenduse nõudeid. Iga välisseadme kasutamise kohta lisateabe saamiseks vaadake rikkalikku endistampSTM32CubeWL3 MCU paketis sisalduv komplekt.

Ettevaatust:
HAL-i vaikerakenduses kasutatakse ajabaasina SysTicki taimerit: see genereerib katkestused regulaarsete ajavahemike järel. Kui HAL_Delay() kutsutakse perifeerse ISR-i protsessist, veenduge, et SysTicki katkestuse prioriteet on kõrgem (arvuliselt madalam) kui välisseadme katkestusel. Vastasel juhul on helistaja ISR-protsess
blokeeritud. Funktsioonid, mis mõjutavad ajabaasi konfiguratsioone, on kuulutatud kui __nõrgad, et muuta kasutaja muude rakenduste korral alistamine võimalikuks file (kasutades üldotstarbelist taimerit, ntample või mõni muu ajaallikas).
Lisateabe saamiseks vaadake HAL_TimeBase example.

LL rakendus
Selles jaotises kirjeldatakse samme, mis on vajalikud kohandatud LL-rakenduse loomiseks, kasutades STM32CubeWL3.

  1. Loo projekt
    Uue projekti loomiseks alustage iga tahvli jaoks jaotises \Projects\ pakutavast projektist Templates_LL \Templates_LL või mis tahes saadaolevast projektist jaotises \Projects\ \E xamples_LL ( viitab tahvli nimele, näiteks NUCLEO-WL32CC33).
    Mallprojekt pakub tühja põhisilmuse funktsiooni, mis on hea lähtepunkt STM32CubeWL3 projekti sätete mõistmiseks. Malli peamised omadused on järgmised:
    • See sisaldab LL- ja CMSIS-draiverite lähtekoode, mis on minimaalne komponentide komplekt, mis on vajalik koodi arendamiseks antud plaadil.
    • See sisaldab kõigi vajalike püsivara komponentide kaasasolevaid teid.
    • See valib toetatud STM32WL3x tootesarja seadme ja võimaldab CMSIS- ja LL-draiverite õiget konfigureerimist.
    • See pakub kasutusvalmis kasutajat files, mis on eelkonfigureeritud järgmiselt:
    • main.h: LED ja USER_BUTTON määratlusega abstraktsioonikiht.
    • main.c: süsteemi kella konfiguratsioon maksimaalse sageduse jaoks.
  2. Port LL example:
    • Kopeerige/kleepige kaust Templates_LL – et säilitada algallikas – või värskendage otse olemasolevat Templa tes_LL projekti.
    • Seejärel seisneb teisaldamine peamiselt Templates_LL asendamises files eksamples_LL suunatud projekt.
    • Hoidke kõik plaadi spetsiifilised osad alles. Selguse huvides on plaadi spetsiifilised osad tähistatud konkreetsega tags:
      STM32WL3x-tarkvarapakett (1)

Seega on peamised teisaldamise etapid järgmised:

  • Asendage fail stm32wl3x_it.h file.
  • Asendage fail stm32wl3x_it.c file.
  • Vahetage pea.h file ja värskendage seda: hoidke LL-malli LED-i ja kasutajanupu definitsiooni jaotises PLAADI SPECIFIC CONFIGURATION tags.
  • Vahetage põhi.c file ja värskendage seda:
  • Hoidke mallifunktsiooni SystemClock_Config() LL kella konfiguratsioon jaotises PLAADI SPECIFIKA CONFIGURATION tags.
  • Sõltuvalt LED-i definitsioonist asendage iga LDx-i esinemine mõne muu LDy-ga, mis on saadaval file põhi.h.

Nende muudatustega on endineample jookseb sihitud pardal.

RF-rakendused, esitlused ja ntamples
Erinevat tüüpi RF-rakendused, esitlused ja ntamples on saadaval STM32CubeWL3 paketis. Need on loetletud kahes allolevas jaotises.

Sub-GHz ntamples ja meeleavaldused
Need examples demonstreerivad MRSUBG ja LPAWUR raadiovälisseadmete põhifunktsioone. Need examples on saadaval all:

  • Projektid\NUCLEO-WL33CC\Examples\MRSUBG
  • Projektid\NUCLEO-WL33CC\Examples\LPAWUR
  • Projektid\NUCLEO-WL33CC\Demonstratsioonid\MRSUBG
  • Projektid\NUCLEO-WL33CC\Demonstratsioonid\LPAWUR

Iga eksample või demonstratsioon koosneb üldiselt kahest programmist nimega Tx ja Rx, mis toimivad vastavalt saatja ja vastuvõtjana:

  • Examples/MRSUBG
    • MRSUBG_802_15_4: standardiga 802.15.4 määratletud füüsilise kihi teostus. See näitab, kuidas konfigureerida raadio 802.15.4 pakette saatma või vastu võtma.
    • MRSUBG_BasicGeneric: STM32WL3x MR_SUBG põhipakettide vahetus.
    • MRSUBG_Chat: lihtne rakendus, mis näitab, kuidas kasutada Tx ja Rx samas seadmes.
    • MRSUBG_DatabufferHandler: eksample, mis näitab, kuidas vahetada andmepuhvrist 0 ja 1.
    • MRSUBG_Sequencer AutoAck: eksample, mis saadab ja võtab vastu automaatselt pakettkinnitusi (ACK-id).
    • MRSUBG_WMBusSTD: WM-Busi sõnumite vahetus.
    • WakeupRadio: endineampLPAWUR raadio välisseadme testimiseks.
  • Meeleavaldused/MRSUBG
    • MRSUBG_RTC_Button_TX: see ntample näitab, kuidas seada SoC sügavpeatusrežiimi ja konfigureerida MRSUBG SoC-i äratama, vajutades kaadri saatmiseks nuppu PB2 või pärast RTC-taimeri aegumist.
    • MRSUBG_Sequencer_Sniff: see eksample näitab, kuidas seadistada MRSUBG sekvenser töötama nuusutamisrežiimis. See eksample demonstreerib vastuvõtja poolt ja nõuab saatjaks teist seadet.
    • MRSUBG_Timer: rakendus ajastab mitu MRSUBG-taimeri eksemplari (koos automaatse taaslaadimisega) erinevate ajavahemike järel.
    • MRSUBG_WakeupRadio_Tx: see eksample selgitab, kuidas seada SoC sügavasse seiskamisrežiimi ja konfigureerida MRSUBG SoC-i äratama, vajutades kaadri saatmiseks nuppu PB2. See eksample demonstreerib saatja poolt ja nõuab LPAWUR-vastuvõtjana teist seadet. Vastuvõtja ntample asub kausta NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx all.
  • Meeleavaldused/LPAWUR
    • LPAWUR_WakeupRadio_Rx: see eksample selgitab, kuidas seada SoC sügavpeatusrežiimi ja konfigureerida LPAWUR SoC-d äratama, kui kaader saabub ja on õigesti vastu võetud. See eksample demonstreerib vastuvõtja poolt ja nõuab saatjaks teist seadet. Saatja ntample asub kausta NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx all.

Sigfox™ rakendus
Need rakendused näitavad, kuidas rakendada Sigfoxi™ stsenaariumi ja kasutada saadaolevaid Sigfox™ API-sid. Need on saadaval projekti teel Projects\NUCLEO-WL33CC\Applications\Sigfox\:

  • Sigfox_CLI: see rakendus näitab, kuidas kasutada käsurea liidest (CLI), et saata käske, mis kasutavad Sigfox™-i protokolli sõnumite saatmiseks ja eelsertifitseerimistestide tegemiseks.
  • Sigfox_PushButton: see rakendus võimaldab hinnata seadme STM32WL33xx Sigfox™ raadiovõimalusi. PB1 vajutamine edastab Sigfoxi™ testkaadri.

KKK

  1. Millal peaksin kasutama LL-draiverite asemel HAL-i?
    HAL-draiverid pakuvad kõrgetasemelisi ja funktsioonidele orienteeritud API-sid, millel on kõrge kaasaskantavus. Toote või välisseadmete keerukus on lõppkasutajate jaoks peidetud.
    LL-draiverid pakuvad madala kihi registritaseme API-sid, parema optimeerimisega, kuid vähem kaasaskantavad. Need nõuavad põhjalikke teadmisi toote või IP spetsifikatsioonide kohta.
  2. Kas HAL- ja LL-draivereid saab koos kasutada? Kui jah, siis millised on piirangud?
    Võimalik on kasutada nii HAL kui LL draivereid. Kasutage HAL-i välisseadmete lähtestamisetapi jaoks ja seejärel hallake I/O-toiminguid LL-draiverite abil.
    Peamine erinevus HAL-i ja LL-i vahel seisneb selles, et HAL-draiverid nõuavad tööhalduseks käepidemete loomist ja kasutamist, samas kui LL-draiverid töötavad otse välisseadmete registrites. HAL-i ja LL-i segamist illustreerib näideamples_MIX exampvähem.
  3. Kuidas on LL-i lähtestamise API-d lubatud?
    LL-i lähtestamise API-de ja nendega seotud ressursside (struktuurid, literaalid ja prototüübid) definitsiooni määrab kompileerimislüliti USE_FULL_LL_DRIVER.
    LL-i lähtestamise API-de kasutamiseks lisage see lüliti tööriistaahela kompilaatori eelprotsessorisse.
  4. Kas MRSUBG/LPAWUR välisseadmete ex jaoks on mõni malliprojekt?ampvähem?
    Uue MRSUBG või LPAWUR exampprojekti, alustage kas \Pr ojects\NUCLEO-WL33CC\Ex olevast skeletiprojektistamples\MRSUBG või \Projects\NUCLEO-WL33CC\Examples\LPAWUR või mis tahes saadaolevast projektist samades kataloogides.
  5. Kuidas saab STM32CubeMX sisseehitatud tarkvaral põhinevat koodi genereerida?
    STM32CubeMX-l on sisseehitatud teadmised STM32 mikrokontrolleritest, sealhulgas nende välisseadmetest ja tarkvarast, mis võimaldab pakkuda kasutajale graafilist esitust ja genereerida *.h või *.c files põhineb kasutaja konfiguratsioonil.

Läbivaatamise ajalugu

Tabel 3. Dokumendi redaktsioonide ajalugu

Kuupäev Läbivaatamine Muudatused
29. märts 2024 1 Esialgne vabastamine.
30.-2024. oktoober 2 Täielik integreerimine STM32CubeWL3 in STM32 Cube. Värskendatud:

Eemaldatud:

  • PC tööriistad, sealhulgas Navigaator, STM32WL3 GUI, ja MR-SUBG järjestuse GUI
  • Kuidas saab WiSE-Studio IOMapper manustatud tarkvaral põhinevat koodi genereerida?
  • Kas Navigator võimaldab juurdepääsu tarkvarapaketi ressurssidele?

Dokumendid / Ressursid

ST STM32WL3x tarkvarapakett [pdfJuhised
Tarkvarapakett STM32WL3x, STM32WL3x, tarkvarapakett, pakett

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *