STM32WL3x-loigo

Pakkett tas-Software STM32WL3x

STM32WL3x-Pakkett tas-Software -PRODCUCT

Speċifikazzjonijiet

  • Isem tal-Prodott: Pakkett tas-softwer STM32CubeWL3
  • Kompatibbiltà: mikrokontrolluri STM32WL3x
  • Karatteristiċi ewlenin:
    • APIs b'saff baxx (LL) u saff ta' estrazzjoni tal-ħardwer (HAL).
    • Komponenti middleware tal-qalba SigfoxTM, FatFS, u FreeRTOSTM
    • Applikazzjonijiet u dimostrazzjonijiet

Istruzzjonijiet għall-Użu tal-Prodott

Nibdew
Biex tibda tuża l-pakkett tas-softwer STM32CubeWL3, segwi dawn il-passi:

  1. Niżżel il-pakkett tas-softwer mill-uffiċjal websit.
  2. Installa l-ambjent ta 'żvilupp meħtieġ (eż., STM32CubeIDE, EWARM, MDK-ARM).
  3. Irreferi għall-examples u applikazzjonijiet ipprovduti għal gwida.

STM32CubeWL3 Arkitettura Overview
Il-pakkett tas-software STM32CubeWL3 huwa mibni madwar tliet livelli ewlenin

  • Livell 0: Saff ta' astrazzjoni tal-ħardwer (HAL) u sewwieqa BSP.
  • Livell 1: Applikazzjonijiet, libreriji, u komponenti bbażati fuq protokoll.

Mistoqsijiet Frekwenti (FAQ)

Q: X'inhuma l-karatteristiċi ewlenin tal-pakkett tas-softwer STM32CubeWL3?
A: Il-karatteristiċi ewlenin jinkludu APIs ta 'saff baxx u HAL, komponenti middleware bħal SigfoxTM, FatFS, kernel FreeRTOSTM, applikazzjonijiet, u dimostrazzjonijiet.

Introduzzjoni

STM32Cube hija inizjattiva oriġinali ta 'STMicroelectronics biex ittejjeb il-produttività tad-disinjatur b'mod sinifikanti billi tnaqqas l-isforz, il-ħin u l-ispiża tal-iżvilupp. STM32Cube ikopri l-portafoll STM32 kollu.

STM32Cube jinkludi:

  • Sett ta’ għodod ta’ żvilupp ta’ softwer faċli għall-utent biex ikopru l-iżvilupp tal-proġett mill-konċepiment sat-twettiq, fost] li huma:
    • STM32CubeMX, għodda ta 'konfigurazzjoni ta' softwer grafiku li tippermetti l-ġenerazzjoni awtomatika ta 'kodiċi ta' inizjalizzazzjoni C bl-użu ta 'wizards grafiċi
    • STM32CubeIDE, għodda ta 'żvilupp all-in-one b'konfigurazzjoni periferali, ġenerazzjoni ta' kodiċi, kumpilazzjoni ta 'kodiċi, u karatteristiċi ta' debug
    • STM32CubeCLT, sett ta' għodod għall-iżvilupp tal-linja tal-kmand kollha f'wieħed b'kumpilazzjoni ta' kodiċi, programmar tal-bord, u karatteristiċi ta' debug
    • STM32CubeProgrammer (STM32CubeProg), għodda ta' programmar disponibbli f'verżjonijiet grafiċi u tal-linja tal-kmand
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), għodod ta' monitoraġġ b'saħħithom biex jirfinaw l-imġiba u l-prestazzjoni tal-applikazzjonijiet STM32 f'ħin reali
  • Pakketti STM32Cube MCU u MPU, pjattaformi komprensivi ta' softwer inkorporat speċifiċi għal kull serje ta' mikrokontrolluri u mikroproċessuri (bħal STM32CubeWL3 għal-linja ta' prodotti STM32WL3x), li jinkludu:
    • Saff ta' estrazzjoni tal-ħardwer STM32Cube (HAL), li jiżgura portabbiltà massimizzata fil-portafoll STM32
    • STM32Cube APIs b'saff baxx, li jiżguraw l-aħjar prestazzjoni u footprints bi grad għoli ta 'kontroll tal-utent fuq] hardware
    • Sett konsistenti ta' komponenti middleware bħall-qalba ta' FreeRTOS™, FatFS, u Sigfox™
    • L-utilitajiet kollha tas-softwer inkorporati b'settijiet sħaħ ta' periferali u applikattivi examples
  • Pakketti ta' Espansjoni STM32Cube, li fihom komponenti tas-softwer inkorporati li jikkumplimentaw il-funzjonalitajiet tal-Pakketti MCU u MPU STM32Cube bi:
    • Estensjonijiet ta' middleware u saffi applikattivi
    • Examples li jaħdmu fuq xi bordijiet speċifiċi għall-iżvilupp STMicroelectronics

Dan il-manwal tal-utent jiddeskrivi kif tibda bil-Pakkett MCU STM32CubeWL3.
Taqsima 2 tiddeskrivi l-karatteristiċi ewlenin ta 'STM32CubeWL3 u Taqsima 3 tipprovdi overview tal-arkitettura tiegħu u tal-istruttura tal-Pakkett tal-MCU.

Informazzjoni ġenerali

STM32CubeWL3 iħaddem applikazzjonijiet ta 'dimostrazzjoni taħt il-GHz, inklużi Sigfox™ binaries, fuq mikrokontrolluri tal-linja ta' prodotti STM32WL3x ibbażati fuq il-proċessur Arm® Cortex®-M0+.
Il-mikrokontrolluri STM32WL3x jintegraw il-periferali tar-radju RF konformi sub-GHz ta 'l-aħħar ta' STMicroelectronics, ottimizzati għal konsum ta 'enerġija ultra-baxxa u prestazzjoni tar-radju eċċellenti, għal ħajja ta' batterija mingħajr paragun.
Nota: Arm hija trademark reġistrata ta' Arm Limited (jew is-sussidjarji tagħha) fl-Istati Uniti u/jew xi mkien ieħor.

STM32CubeWL3 karatteristiċi ewlenin

  • Il-Pakkett MCU STM32CubeWL3 jaħdem fuq mikrokontrolluri STM32 32-bit ibbażati fuq il-proċessur Arm® Cortex®-M0+. Jiġbor, f'pakkett wieħed, il-komponenti kollha tas-softwer integrati ġeneriċi meħtieġa biex tiġi żviluppata applikazzjoni għall-mikrokontrolluri tal-linja tal-prodotti STM32WL3x.
  • Il-pakkett jinkludi APIs b'saff baxx (LL) u saff ta' estrazzjoni tal-ħardwer (HAL) li jkopru l-ħardwer tal-mikrokontrollur, flimkien ma' sett estensiv ta' examples li jaħdmu fuq bordijiet STMicroelectronics. L-APIs HAL u LL huma disponibbli f'liċenzja BSD open-source għall-konvenjenza tal-utent. Jinkludi wkoll il-komponenti middleware tal-qalba Sigfox™, FatFS, u FreeRTOS™.
  • Il-Pakkett MCU STM32CubeWL3 jipprovdi wkoll diversi applikazzjonijiet u dimostrazzjonijiet li jimplimentaw il-komponenti tal-middleware kollha tiegħu.
  • It-tqassim tal-komponenti tal-Pakkett STM32CubeWL3 MCU huwa illustrat fil-Figura 1.

Figura 1. Komponenti tal-Pakkett STM32CubeWL3 MCU 

STM32WL3x-Pakkett tas-Software (2)

STM32CubeWL3 arkitettura fuqview

Is-soluzzjoni tal-Pakkett STM32CubeWL3 MCU hija mibnija madwar tliet livelli indipendenti li jinteraġixxu faċilment kif deskritt fil-Figura 2. STM32WL3x-Pakkett tas-Software (3)Livell 0
Dan il-livell huwa maqsum fi tliet sottosaffi:

  • Pakkett ta' appoġġ tal-Bord (BSP).
  • Saff ta' estrazzjoni tal-ħardwer (HAL):
    • Sewwieqa periferali HAL
    • Sewwieqa b'saff baxx
  • Użu periferali bażiku examples.

Pakkett ta' appoġġ għall-Bord (BSP)
Dan is-saff joffri sett ta 'APIs relattivi għall-komponenti tal-ħardwer fil-bordijiet tal-ħardwer (bħal LEDs, buttuni, u sewwieqa COM). Huwa magħmul minn żewġ partijiet:

  • Komponent:
    Dan huwa s-sewwieq relattiv għall-apparat estern fuq il-bord u mhux għall-STM32. Is-sewwieq tal-komponent jipprovdi APIs speċifiċi lill-komponenti esterni tas-sewwieq BSP u jista 'jinġarr fuq kwalunkwe bord ieħor.
  • Sewwieq BSP:

Jippermetti li jgħaqqad is-sewwieqa tal-komponenti ma 'bord speċifiku u jipprovdi sett ta' APIs faċli għall-utent. Ir-regola tal-ismijiet tal-API hija BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP huwa bbażat fuq arkitettura modulari li tippermetti porting faċli fuq kwalunkwe ħardwer billi timplimenta biss ir-rutini ta 'livell baxx.

Saff ta' estrazzjoni tal-ħardwer (HAL) u saff baxx (LL)
L-STM32CubeWL3 HAL u LL huma komplementari u jkopru firxa wiesgħa ta 'rekwiżiti ta' applikazzjoni:

  • Is-sewwieqa HAL joffru APIs ta 'livell għoli orjentati lejn il-funzjoni li jinġarru ħafna. Huma jaħbu l-MCU u l-kumplessità periferali lill-utent aħħari.
    Is-sewwieqa HAL jipprovdu APIs ġeneriċi multi-istanzi orjentati lejn il-karatteristiċi, li jissimplifikaw l-implimentazzjoni tal-applikazzjoni tal-utent billi jipprovdu proċessi lesti għall-użu. Per example, għall-periferali tal-komunikazzjoni (I2C, UART, u oħrajn), jipprovdi APIs li jippermettu l-inizjalizzazzjoni u l-konfigurazzjoni tal-periferali, il-ġestjoni tat-trasferiment tad-dejta abbażi tal-votazzjoni, l-interruzzjoni jew il-proċess tad-DMA, u l-immaniġġjar ta 'żbalji ta' komunikazzjoni li jistgħu jinqalgħu waqt il-komunikazzjoni. L-APIs tas-sewwieq HAL huma maqsuma f'żewġ kategoriji:
  1. APIs ġeneriċi, li jipprovdu funzjonijiet komuni u ġeneriċi għall-mikrokontrolluri kollha tas-serje STM32.
  2. APIs ta 'estensjoni, li jipprovdu funzjonijiet speċifiċi u personalizzati għal familja speċifika jew numru ta' parti speċifiku.
  • L-APIs ta 'saff baxx jipprovdu APIs ta' livell baxx fil-livell tar-reġistru, b'ottimizzazzjoni aħjar iżda inqas portabilità. Huma jeħtieġu għarfien profond tal-MCU u l-ispeċifikazzjonijiet periferali.
    Is-sewwieqa LL huma ddisinjati biex joffru saff veloċi ħafif orjentat lejn l-esperti li huwa eqreb lejn il-ħardwer mill-HAL. Kuntrarjament għall-HAL, LL APIs mhumiex ipprovduti għall-periferali fejn l-aċċess ottimizzat mhuwiex karatteristika ewlenija, jew għal dawk li jeħtieġu konfigurazzjoni ta 'softwer tqil jew munzell kumpless ta' livell ta 'fuq.

Is-sewwieqa LL karatteristika:

  • Sett ta' funzjonijiet biex jinizjalizza l-karatteristiċi prinċipali periferali skont il-parametri speċifikati fl-istrutturi tad-dejta.
  • Sett ta 'funzjonijiet biex jimlew l-istrutturi tad-dejta tal-inizjalizzazzjoni bil-valuri reset li jikkorrispondu għal kull qasam.
  • Funzjoni għad-de-initialization periferali (reġistri periferali restawrati għall-valuri default tagħhom).
  • Sett ta' funzjonijiet inline għal aċċess dirett u atomiku għar-reġistru.
  • Indipendenza sħiħa minn HAL u kapaċità li tintuża f'modalità waħedha (mingħajr sewwieqa HAL).
  • Kopertura sħiħa tal-karatteristiċi periferali appoġġjati.

Użu periferali bażiku examples
Dan is-saff jagħlaq l-examples mibnija fuq il-periferali STM32 bl-użu biss tar-riżorsi HAL u BSP.
Dimostrazzjoni examples huma wkoll disponibbli biex juru ex aktar kumplessiample xenarji b'periferali speċifiċi, bħall-MRSUBG u l-LPAWUR.

Livell 1
Dan il-livell huwa maqsum f'żewġ sottosaffi:

  • Komponenti middleware
  • Examples bbażati fuq il-komponenti middleware

Komponenti middleware
Il-middleware huwa sett ta' libreriji li jkopru l-librerija tal-protokoll FreeRTOS™, FatFS, u Sigfox™. L-interazzjoni orizzontali bejn il-komponenti ta 'dan is-saff issir billi ssejjaħ l-APIs dehru.
L-interazzjoni vertikali mas-sewwieqa ta 'saff baxx issir permezz ta' callbacks speċifiċi u macros statiċi implimentati fl-interface tas-sejħa tas-sistema tal-librerija.
Il-karatteristiċi ewlenin ta 'kull komponent middleware huma kif ġej:

  • Il-qalba ta' FreeRTOS™: timplimenta sistema operattiva f'ħin reali (RTOS), iddisinjata għal sistemi inkorporati.
  • Sigfox™: timplimenta l-librerija tal-protokoll Sigfox™ konformi man-netwerk tal-protokoll Sigfox™ u tinkludi l-librerija tal-protokoll tat-test RF biex tittestja kontra l-għodod RF Sigfox™.
  • FatFS: jimplimenta l-FAT ġeneriku file modulu tas-sistema.

Examples bbażati fuq il-komponenti middleware
Kull komponent middleware jiġi ma 'wieħed jew aktar examples, imsejħa wkoll applikazzjonijiet, li juru kif tużah. Integrazzjoni examples li jużaw diversi komponenti middleware huma pprovduti wkoll.

Pakkett tal-firmware STM32CubeWL3 fuqview

Apparat u hardware STM32WL3x appoġġjati
STM32Cube joffri saff ta 'estrazzjoni ta' ħardwer li jista 'jinġarr ħafna (HAL) mibni madwar arkitettura ġenerika. Jippermetti l-prinċipju tas-saffi li jinbnew, bħall-użu tas-saff tal-middleware biex jimplimenta l-funzjonijiet tagħhom mingħajr ma jkun jaf, fil-fond, liema MCU jintuża. Dan itejjeb l-użu mill-ġdid tal-kodiċi tal-librerija u jiżgura portabbiltà faċli għal apparati oħra.

  • Barra minn hekk, bl-arkitettura f'saffi tiegħu, STM32CubeWL3 joffri appoġġ sħiħ għal-linja kollha ta 'prodotti STM32WL3x.
  • L-utent għandu jiddefinixxi biss il-makro t-tajjeb fi stm32wl3x.h.

It-Tabella 1 turi l-makro biex tiddefinixxi skont l-apparat tal-linja tal-prodotti STM32WL3x użat. Din il-makro għandha tkun definita wkoll fil-preproċessur tal-kompilatur.
Tabella 1. Makros għal-linja ta 'prodotti STM32WL3x

Makro definit fi stm32wl3x.h Apparat tal-linja tal-prodotti STM32WL3x
stm32wl33 Mikrokontrolluri STM32WL33xx

STM32CubeWL3 karatteristiċi sett għani ta 'examples u applikazzjonijiet fil-livelli kollha, li jagħmilha faċli biex tifhem u tuża kwalunkwe komponenti ta' sewwieq jew middleware HAL. Dawn examples jimxu fuq il-bordijiet STMicroelectronics elenkati fit-Tabella 2.

Bord Apparat appoġġjat bord STM32WL3x
NUKLEO-WL33CC1 STM32WL33CC
NUKLEO-WL33CC2 STM32WL33CC

Il-Pakkett MCU STM32CubeWL3 jista' jaħdem fuq kwalunkwe ħardwer kompatibbli. L-utenti sempliċement jaġġornaw is-sewwieqa tal-BSP għall-port tal-ex ipprovdutamples fuq il-bordijiet tagħhom, jekk dawn għandhom l-istess karatteristiċi tal-ħardwer (bħal LEDs jew buttuni).

Pakkett tal-firmware fuqview
Is-soluzzjoni tal-Pakkett STM32CubeWL3 MCU hija pprovduta f'pakkett wieħed zip li għandu l-istruttura murija fil-Figura 3.
Figura 3. Struttura tal-pakkett tal-firmware STM32CubeWL3

STM32WL3x-Pakkett tas-Software (4)

Attenzjoni:

L-utent m'għandux jimmodifika l-komponenti files. L-utent jista' biss jeditja s-sorsi \Projects.
Għal kull bord, sett ta examples huwa pprovdut bi proġetti kkonfigurati minn qabel għall-għodda EWARM, MDK-ARM, u STM32CubeIDE.
Il-Figura 4 turi l-istruttura tal-proġett għall-bordijiet NUCLEO-WL33CCx. STM32WL3x-Pakkett tas-Software (5)

L-examples huma kklassifikati skont il-livell STM32CubeWL3 li japplikaw għalih. Dawn jissejħu kif ġej:

  • Livell 0 examples jissejħu Eżamples, Eżamples_LL, u Eżamples_MIX. Huma jużaw rispettivament sewwieqa HAL, sewwieqa LL, u taħlita ta 'sewwieqa HAL u LL mingħajr ebda komponent ta' middleware. Dimostrazzjoni examples huma wkoll disponibbli.
  • Livell 1 examples jissejħu Applikazzjonijiet. Huma jipprovdu każijiet ta 'użu tipiċi ta' kull komponent middleware.

Kwalunkwe applikazzjoni tal-firmware għal bord partikolari tista' tinbena malajr bl-użu tal-mudelli ta' proġetti disponibbli fid-direttorji Templ ates u Templates_LL.

Examples, Eżamples_LL, u Eżamples_MIX għandhom l-istess struttura:

  • \Inc folder li fih l-header kollu files.
  • \Src folder li fih il-kodiċi tas-sors.
  • folders \EWARM, \MDK-ARM, u \STM32CubeIDE li fihom il-proġett konfigurat minn qabel għal kull toolchain.
  • readme.md u readme.html li jiddeskrivu l-exampl-imġieba u l-ambjent meħtieġ biex din taħdem.

Nibdew b'STM32CubeWL3

Tmexxi l-ewwel example
Din it-taqsima tispjega kemm huwa sempliċi li tmexxi l-ewwel example fi ħdan STM32CubeWL3. Huwa juża bħala illustrazzjoni l-ġenerazzjoni ta 'toggle LED sempliċi li jaħdem fuq il-bord NUCLEO-WL33CC1:

  1. Niżżel il-Pakkett MCU STM32CubeWL3.
  2. Unzip, jew ħaddem l-installatur jekk ipprovdut, f'direttorju tal-għażla tiegħek.
  3. Kun żgur li ma timmodifikax l-istruttura tal-pakkett murija fil-Figura 3. Struttura tal-pakkett tal-firmware STM32CubeWL3. Innota li huwa wkoll rakkomandat li tikkopja l-pakkett f'post qrib il-volum ta 'l-għeruq (li jfisser C:\ST jew G:\Tests), peress li xi IDEs jiltaqgħu ma' problemi meta l-mogħdija tkun twila wisq.

Kif tmexxi HAL example
Qabel it-tagħbija u t-tħaddim example, huwa rakkomandat ħafna li taqra l-example readme file għal kwalunkwe konfigurazzjoni speċifika.

  1. Fittex għal \Proġetti\NUCLEO-WL33CC\Eżamples.
  2. Iftaħ il-folders \GPIO, imbagħad \GPIO_EXTI.
  3. Iftaħ il-proġett bl-għodda preferuta. A malajr fuqview dwar kif tiftaħ, tibni, u tmexxi example mal-toolchains appoġġjati hija mogħtija hawn taħt.
  4. Ibni mill-ġdid kollha files u tagħbija l-immaġni fil-memorja fil-mira.
  5. Mexxi l-example. Għal aktar dettalji, irreferi għall-eżample readme file.

Biex tiftaħ, tibni, u tmexxi example ma' kull għodda appoġġjata, segwi l-passi hawn taħt:

  • EWARM:
  1. Taħt l-Eżamples folder, iftaħ is-subfolder \EWARM.
  2. Tniedi l-ispazju tax-xogħol Project.eww (l-isem tal-ispazju tax-xogħol jista’ jinbidel minn example għal ieħor).
  3. Ibni mill-ġdid kollha files: [Proġett]> [Ibni mill-ġdid kollha].
  4. Tagħbija l-immaġni tal-proġett: [Proġett]> [Debug].
  5. Mexxi l-programm: [Debug]> [Mur (F5)].
  • MDK-ARM:
  1. Taħt l-Eżamples folder, iftaħ is-subfolder \MDK-ARM.
  2. Iftaħ l-ispazju tax-xogħol Project.uvproj (l-isem tal-ispazju tax-xogħol jista’ jinbidel minn example għal ieħor).
  3. Ibni mill-ġdid kollha files: [Proġett]> [Ibni mill-ġdid il-mira kollha files].
  4. Tagħbija l-immaġni tal-proġett: [Debug]> [Ibda/Waqqaf is-Sessjoni tad-Debug].
  5. Mexxi l-programm: [Debug]> [Run (F5)].
  • STM32CubeIDE:
  1. Iftaħ il-katina tal-għodda STM32CubeIDE.
  2. Ikklikkja fuq [File]>[Aqleb l-Ispazju tax-Xogħol]>[Oħrajn] u bbrawżja għad-direttorju tal-ispazju tax-xogħol STM32CubeIDE.
  3. Ikklikkja fuq [File]>[Importa], agħżel [Ġenerali]>[Proġetti eżistenti fl-Ispazju tax-Xogħol], u mbagħad ikklikkja [Li jmiss].
  4. Fittex fid-direttorju tal-ispazju tax-xogħol STM32CubeIDE u agħżel il-proġett.
  5. Ibni mill-ġdid il-proġett kollu files: Agħżel il-proġett fit-tieqa tal-Proġett Explorer imbagħad ikklikkja fuq il-
    [Proġett]> [Bini proġett] menu.
  6.  Mexxi l-programm: [Run]>[Debug (F11)].

Żvilupp ta 'applikazzjoni tad-dwana

Uża STM32CubeMX biex tiżviluppa jew taġġorna applikazzjoni
Fil-Pakkett STM32Cube MCU, kważi l-proġett kollu examples huma ġġenerati bl-għodda STM32CubeMX biex jinizjalizza s-sistema, il-periferali u l-middleware.

L-użu dirett ta’ proġett eżistenti example mill-għodda STM32CubeMX teħtieġ STM32CubeMX 6.12.0 jew ogħla:

  • Wara l-installazzjoni ta 'STM32CubeMX, iftaħ u jekk meħtieġ aġġorna proġett propost.
    L-aktar mod sempliċi biex tiftaħ proġett eżistenti huwa li tikklikkja darbtejn fuq il-*.ioc file sabiex STM32CubeMX awtomatikament tiftaħ il-proġett u s-sors tiegħu files. STM32CubeMX jiġġenera l-kodiċi tas-sors ta 'inizjalizzazzjoni ta' proġetti bħal dawn.
  • Il-kodiċi tas-sors tal-applikazzjoni prinċipali jinsab fil-kummenti "KODIĊI TAL-UTENTI BEGIN" u "TMIEM TAL-KODIĊI TAL-UTENTI". Jekk l-għażla periferali u s-settings jiġu modifikati, STM32CubeMX jaġġorna l-parti ta 'inizjalizzazzjoni tal-kodiċi filwaqt li jippreserva l-kodiċi tas-sors tal-applikazzjoni prinċipali.

Biex tiżviluppa proġett apposta ma 'STM32CubeMX, segwi l-proċess pass pass:

  1. Ikkonfigura s-softwer inkorporat kollu meħtieġ billi tuża pinout-conflict solver, helper tal-issettjar tas-siġra tal-arloġġ, kalkulatur tal-konsum tal-enerġija, u l-utilità li twettaq konfigurazzjoni periferali tal-MCU (bħal GPIO jew USART).
  2. Iġġenera l-kodiċi C inizjalizzazzjoni bbażata fuq il-konfigurazzjoni magħżula. Dan il-kodiċi huwa lest biex jintuża f'diversi ambjenti ta 'żvilupp. Il-kodiċi tal-utent jinżamm fil-ġenerazzjoni tal-kodiċi li jmiss.
    Għal aktar informazzjoni dwar STM32CubeMX, irreferi għall-manwal tal-utent STM32CubeMX għall-konfigurazzjoni STM32 u l-ġenerazzjoni tal-kodiċi C tal-inizjalizzazzjoni (UM1718).

Applikazzjonijiet tas-sewwieq

Applikazzjoni HAL
Din it-taqsima tiddeskrivi l-passi meħtieġa biex tinħoloq applikazzjoni HAL personalizzata billi tuża STM32CubeWL3:

  1. Oħloq proġett
    Biex toħloq proġett ġdid, ibda jew mill-proġett Template provdut għal kull bord taħt \Projects\< STM32xxx_yyy>\Templates jew minn kwalunkwe proġett disponibbli taħt \Projects\ \Eżampl es jew \Proġetti\ \Applikazzjonijiet (fejn tirreferi għall-isem tal-bord). Il-proġett Template jipprovdi funzjoni ta 'linja prinċipali vojta. Madankollu, huwa punt ta 'tluq tajjeb biex tifhem is-settings tal-proġett STM32CubeWL32. Il-mudell għandu l-karatteristiċi li ġejjin:
    • Fiha l-kodiċi tas-sors HAL, CMSIS, u d-drivers BSP, li huma s-sett minimu ta 'komponenti meħtieġa biex jiġi żviluppat kodiċi fuq bord partikolari.
    • Fih il-mogħdijiet inklużi għall-komponenti kollha tal-firmware.
    • Jiddefinixxi l-apparati tal-linja tal-prodotti STM32WL3x appoġġjati, li jippermetti li s-sewwieqa CMSIS u HAL jiġu kkonfigurati b'mod korrett.
    • Jipprovdi utent lest għall-użu files konfigurati minn qabel kif muri hawn taħt:
    • HAL inizjalizzat bil-bażi tal-ħin default bil-Arm® Core SysTick.
    • SysTick ISR implimentat għall-iskop HAL_Delay().
      Nota: Meta tikkopja proġett eżistenti f'post ieħor, kun żgur li l-mogħdijiet kollha inklużi huma aġġornati.
  2. Ikkonfigura l-komponenti tal-firmware
    Il-komponenti HAL u middleware joffru sett ta' għażliet ta' konfigurazzjoni fil-ħin tal-bini bl-użu ta' macros #define ddikjarati f'header file. Konfigurazzjoni tal-mudell file huwa pprovdut f'kull komponent, li għandu jiġi kkupjat fil-folder tal-proġett (ġeneralment il-konfigurazzjoni file jismu xxx_conf_template.h, il-framment _template jeħtieġ li jitneħħa meta tikkopjah fil-folder tal-proġett). Il-konfigurazzjoni file jipprovdi biżżejjed informazzjoni biex tifhem l-impatt ta 'kull għażla ta' konfigurazzjoni. Informazzjoni aktar dettaljata hija disponibbli fid-dokumentazzjoni pprovduta għal kull komponent.
  3. Ibda l-librerija HAL
    Wara li jaqbeż għall-programm prinċipali, il-kodiċi tal-applikazzjoni għandu jsejjaħ l-API HAL_Init() biex jinizjalizza l-librerija HAL, li twettaq il-kompiti li ġejjin:
    • Konfigurazzjoni tal-prefetch tal-memorja flash u l-prijorità tal-interruzzjoni SysTick (permezz ta' macros definiti fi stm3 2wl3x_hal_conf.h).
    •  Konfigurazzjoni tas-SysTick biex tiġġenera interruzzjoni kull millisekonda fil-prijorità ta' interruzzjoni SysTick TICK_INT_PRIO definita fi stm32wl3x_hal_conf.h.
    • L-issettjar tal-prijorità tal-grupp NVIC għal 0.
    • Sejħa tal-funzjoni ta' callback HAL_MspInit() definita fl-utent stm32wl3x_hal_msp.c file biex iwettqu initializations globali ta 'hardware ta' livell baxx.
  4. Ikkonfigura l-arloġġ tas-sistema
    Il-konfigurazzjoni tal-arloġġ tas-sistema ssir billi ċċempel iż-żewġ APIs deskritti hawn taħt:
    • HAL_RCC_OscConfig(): din l-API tikkonfigura l-oxxillaturi interni u esterni. L-utent jagħżel li jikkonfigura oxxillatur wieħed jew kollha.
    • HAL_RCC_ClockConfig(): din l-API tikkonfigura s-sors tal-arloġġ tas-sistema, il-latency tal-memorja flash, u l-prescalers AHB u APB.
  5. Inizjalizza l-periferali
    •  L-ewwel ikteb il-funzjoni ta 'inizjalizzazzjoni periferali. Ipproċedi kif ġej:
    • Ippermetti l-arloġġ periferali.
    • Ikkonfigura l-GPIOs periferali.
    • Ikkonfigura l-kanal DMA u ppermetti l-interruzzjoni DMA (jekk meħtieġ).
    • Ippermetti l-interruzzjoni periferali (jekk meħtieġ).
    • Editja l-stm32xxx_it.c biex iċempel lill-interrupt handlers meħtieġa (periferali u DMA), jekk meħtieġ.
    •  Ikteb il-funzjonijiet ta 'callback kompluti tal-proċess jekk ikun maħsub li jintuża interruzzjoni periferali jew DMA.
    •  Fl-utent main.c file, Inizjalizza l-istruttura tal-manku periferali imbagħad sejjaħ il-funzjoni ta 'inizjalizzazzjoni periferali biex inizjalizza l-periferali.
  6. Żviluppa applikazzjoni
    Fuq dan stage, is-sistema hija lesta u l-iżvilupp tal-kodiċi tal-applikazzjoni tal-utent jista 'jibda.
    L-HAL jipprovdi APIs intuwittivi u lesti għall-użu biex jiġi kkonfigurat il-periferali. Jappoġġja polling, interruzzjonijiet, u mudell ta 'programmazzjoni DMA, biex jakkomoda kwalunkwe rekwiżit ta' applikazzjoni. Għal aktar dettalji dwar kif tuża kull periferali, irreferi għall-ex sinjuriample sett ipprovdut fil-Pakkett MCU STM32CubeWL3.

Attenzjoni:
Fl-implimentazzjoni default HAL, it-tajmer SysTick jintuża bħala bażi tal-ħin: jiġġenera interruzzjonijiet f'intervalli ta 'ħin regolari. Jekk HAL_Delay() tissejjaħ mill-proċess ISR periferali, kun żgur li l-interruzzjoni SysTick għandha prijorità ogħla (numerikament aktar baxxa) mill-interruzzjoni periferali. Inkella, il-proċess ISR min iċempel huwa
imblukkata. Il-funzjonijiet li jaffettwaw il-konfigurazzjonijiet tal-bażi tal-ħin huma ddikjarati bħala __dgħajfa biex jagħmlu l-override possibbli f'każ ta' implimentazzjonijiet oħra fl-utent file (bl-użu ta’ tajmer għal skopijiet ġenerali, pereżempjuample, jew sors ta’ żmien ieħor).
Għal aktar dettalji, irreferi għall-HAL_TimeBase example.

applikazzjoni LL
Din it-taqsima tiddeskrivi l-passi meħtieġa biex tinħoloq applikazzjoni LL apposta bl-użu ta 'STM32CubeWL3.

  1. Oħloq proġett
    Biex toħloq proġett ġdid, jew ibda mill-proġett Templates_LL ipprovdut għal kull bord taħt \Proġetti\ \Templates_LL jew minn kwalunkwe proġett disponibbli taħt \Proġetti\ \E xamples_LL ( jirreferi għall-isem tal-bord, bħal NUCLEO-WL32CC33).
    Il-proġett tal-mudell jipprovdi funzjoni ta 'linja prinċipali vojta, li hija punt ta' tluq tajjeb biex tifhem is-settings tal-proġett għal STM32CubeWL3. Il-karatteristiċi ewlenin tal-mudell huma dawn li ġejjin:
    • Fiha l-kodiċi tas-sors tas-sewwieqa LL u CMSIS, li huma s-sett minimu ta 'komponenti meħtieġa biex jiġi żviluppat il-kodiċi fuq bord partikolari.
    • Fih il-mogħdijiet inklużi għall-komponenti kollha tal-firmware meħtieġa.
    • Jagħżel l-apparat tal-linja tal-prodotti STM32WL3x appoġġjat u jippermetti l-konfigurazzjoni korretta tas-sewwieqa CMSIS u LL.
    • Jipprovdi utent lest għall-użu files li huma prekonfigurati kif ġej:
    • main.h: saff ta' astrazzjoni tad-definizzjoni LED u USER_BUTTON.
    • main.c: Konfigurazzjoni tal-arloġġ tas-sistema għall-frekwenza massima.
  2. Port il-LL example:
    • Ikkopja/pejstja l-folder Templates_LL – biex iżżomm is-sors inizjali – jew taġġorna direttament proġett eżistenti Templa tes_LL.
    • Imbagħad, il-porting jikkonsisti prinċipalment fis-sostituzzjoni ta' Templates_LL files mill-Eżamples_LL proġett immirat.
    • Żomm il-partijiet kollha speċifiċi tal-bord. Għal raġunijiet ta' ċarezza, partijiet speċifiċi tal-bord huma mmarkati b'speċifiċi tags:
      STM32WL3x-Pakkett tas-Software (1)

Għalhekk, il-passi ewlenin tal-porting huma dawn li ġejjin:

  • Ibdel il-stm32wl3x_it.h file.
  • Ibdel il-stm32wl3x_it.c file.
  • Ibdel il-main.h file u aġġornah: Żomm id-definizzjoni tal-LED u tal-buttuna tal-utent tal-mudell LL taħt KONFIGURAZZJONI SPEĊIFIĊI TAL-BORD tags.
  • Ibdel il-main.c file u aġġornaha:
  • Żomm il-konfigurazzjoni tal-arloġġ tal-funzjoni tal-mudell SystemClock_Config() LL taħt KONFIGURAZZJONI SPEĊIFIĊI TAL-BORD tags.
  • Skont id-definizzjoni tal-LED, ibdel kull okkorrenza LDx b'LDy ieħor disponibbli fil- file prinċipali.h.

B'dawn il-modifiki, l-example timxi fuq il-bord immirat.

Applikazzjonijiet RF, dimostrazzjonijiet, u examples
Tipi differenti ta 'applikazzjonijiet RF, dimostrazzjonijiet, u examples huma disponibbli fil-pakkett STM32CubeWL3. Huma elenkati fiż-żewġ taqsimiet hawn taħt.

Sub-GHz examples u dimostrazzjonijiet
Dawn examples juru l-karatteristiċi ewlenin tal-periferali tar-radju MRSUBG u LPAWUR. Dawn exampil-lezzjonijiet huma disponibbli taħt:

  • Proġetti\NUCLEO-WL33CC\Eżamples\MRSUBG
  • Proġetti\NUCLEO-WL33CC\Eżamples\LPAWUR
  • Proġetti\NUCLEO-WL33CC\Dimostrazzjonijiet\MRSUBG
  • Proġetti\NUCLEO-WL33CC\Dimostrazzjonijiet\LPAWUR

Kull exampLe jew dimostrazzjoni ġeneralment tikkonsisti f'żewġ programmi msejħa Tx u Rx li jaġixxu bħala trasmettitur u riċevitur, rispettivament:

  • Examples/MRSUBG
    • MRSUBG_802_15_4: implimentazzjoni tas-saff fiżiku definit mill-istandard 802.15.4. Juri kif tikkonfigura r-radju biex jittrasmetti jew jirċievi pakketti 802.15.4.
    • MRSUBG_BasicGeneric: Skambju ta' pakketti bażiċi STM32WL3x MR_SUBG.
    • MRSUBG_Chat: Applikazzjoni sempliċi li turi kif tuża Tx u Rx fuq l-istess apparat.
    • MRSUBG_DatabufferHandler: Eżample li turi kif tpartit mid-Databuffer 0 u 1.
    • MRSUBG_Sequencer AutoAck: An example li jittrasmetti u jirċievi packet acknowledgments (ACKs) awtomatikament.
    • MRSUBG_WMBusSTD: Skambju ta' messaġġi WM-Bus.
    • WakeupRadio: Example biex tittestja l-periferali tar-radju LPAWUR.
  • Dimostrazzjonijiet/MRSUBG
    • MRSUBG_RTC_Button_TX: Dan example turi kif issettja s-SoC fil-modalità deep-stop u kkonfigurat l-MRSUBG biex tqum is-SoC billi tagħfas PB2 biex tibgħat qafas jew wara l-iskadenza tat-tajmer RTC.
    • MRSUBG_Sequencer_Sniff: Dan example turi kif issettja s-sekwencer MRSUBG biex jopera fil-modalità sniff. Dan example turi n-naħa tar-riċevitur u teħtieġ apparat ieħor bħala trasmettitur.
    • MRSUBG_Timer: L-applikazzjoni tiskeda diversi każijiet ta' timer MRSUBG (b'awtoload) b'intervalli ta' ħin differenti.
    • MRSUBG_WakeupRadio_Tx: Dan example jispjega kif issettja s-SoC fil-modalità ta 'waqfien fil-fond u kkonfigurat l-MRSUBG biex tqum is-SoC billi tagħfas PB2 biex tibgħat qafas. Dan example turi n-naħa tat-trasmettitur u teħtieġ apparat ieħor bħala riċevitur LPAWUR. Ir-riċevitur example tinsab taħt il-folder NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx.
  • Dimostrazzjonijiet/LPAWUR
    • LPAWUR_WakeupRadio_Rx: Dan example jispjega kif issettja s-SoC fil-modalità deep-stop u kkonfigurat l-LPAWUR biex tqum is-SoC meta jasal qafas u jiġi riċevut b'mod korrett. Dan example turi n-naħa tar-riċevitur u teħtieġ apparat ieħor bħala trasmettitur. It-trasmettitur example tinsab taħt il-folder NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx.

Applikazzjoni Sigfox™
Dawn l-applikazzjonijiet juru kif timplimenta xenarju Sigfox™ u tuża l-APIs Sigfox™ disponibbli. Huma disponibbli fil-mogħdija tal-proġett Projects\NUCLEO-WL33CC\Applications\Sigfox\:

  • Sigfox_CLI: Din l-applikazzjoni turi kif tuża interface tal-linja tal-kmand (CLI) biex tibgħat kmandi li jużaw il-protokoll Sigfox™ biex jibagħtu messaġġi u jwettqu testijiet ta' ċertifikazzjoni minn qabel.
  • Sigfox_PushButton: Din l-applikazzjoni tippermetti l-evalwazzjoni tal-kapaċitajiet tar-radju tal-apparat STM32WL33xx Sigfox™. Meta tagħfas PB1 tittrasmetti qafas tat-test Sigfox™.

FAQ

  1. Meta għandi nuża sewwieqa HAL minflok LL?
    Is-sewwieqa tal-HAL joffru APIs ta' livell għoli u orjentati lejn il-funzjoni, b'livell għoli ta' portabilità. Il-kumplessità tal-prodott jew periferali hija moħbija għall-utenti finali.
    Is-sewwieqa LL joffru APIs ta 'livell ta' reġistru b'saff baxx, b'ottimizzazzjoni aħjar iżda inqas portabbli. Huma jeħtieġu għarfien fil-fond tal-ispeċifikazzjonijiet tal-prodott jew tal-PI.
  2. Is-sewwieqa HAL u LL jistgħu jintużaw flimkien? Jekk iva, x'inhuma r-restrizzjonijiet?
    Huwa possibbli li tuża kemm sewwieqa HAL kif ukoll LL. Uża l-HAL għall-fażi ta 'inizjalizzazzjoni periferali u mbagħad immaniġġja l-operazzjonijiet I/O b'sewwieqa LL.
    Id-differenza ewlenija bejn HAL u LL hija li s-sewwieqa HAL jeħtieġu li joħolqu u jużaw mankijiet għall-ġestjoni tal-operat filwaqt li s-sewwieqa LL joperaw direttament fuq reġistri periferali. It-taħlit ta' HAL u LL huwa muri fl-Eżamples_MIX examples.
  3. Kif huma attivati ​​l-APIs tal-inizjalizzazzjoni LL?
    Id-definizzjoni tal-APIs tal-inizjalizzazzjoni tal-LL u r-riżorsi assoċjati (strutturi, letterali, u prototipi) hija kkundizzjonata mill-iswiċċ tal-kumpilazzjoni USE_FULL_LL_DRIVER.
    Biex tkun tista' tuża l-APIs ta' inizjalizzazzjoni LL, żid dan is-swiċċ fil-preproċessur tal-kompilatur tal-katina tal-għodda.
  4. Hemm xi proġett mudell għal MRSUBG/LPAWUR periferali examples?
    Biex toħloq MRSUBG jew LPAWUR ġdid example proġett, jew ibda mill-proġett skeletru pprovdut taħt \Pr ojects\NUCLEO-WL33CC\Examples\MRSUBG jew \Proġetti\NUCLEO-WL33CC\Eżamples\LPAWUR, jew minn kwalunkwe proġett disponibbli taħt dawn l-istess direttorji.
  5. Kif jista 'STM32CubeMX jiġġenera kodiċi bbażat fuq softwer inkorporat?
    STM32CubeMX għandu għarfien inkorporat tal-mikrokontrolluri STM32, inklużi l-periferali u s-softwer tagħhom, li jippermettilha tipprovdi rappreżentazzjoni grafika lill-utent u tiġġenera *.h jew *.c files ibbażata fuq il-konfigurazzjoni tal-utent.

Storja tar-reviżjoni

Tabella 3. Storja tar-reviżjoni tad-dokument

Data Reviżjoni Bidliet
29-Mar-2024 1 Rilaxx inizjali.
30-Ottubru-2024 2 Integrazzjoni sħiħa ta ' STM32CubeWL3 in STM32Cube. Aġġornat:

Imneħħija:

  • Għodod tal-PC, inkluż Navigatur, STM32WL3 GUI, u MR-SUBG Sequencer GUI
  • Kif jista' WiSE-Studio IOMapper jiġġenera kodiċi bbażat fuq softwer inkorporat?
  • In-Navigator jippermetti aċċess għar-riżorsi tal-pakkett tas-softwer?

Dokumenti / Riżorsi

Pakkett tas-Software ST STM32WL3x [pdf] Istruzzjonijiet
STM32WL3x Pakkett tas-Software, STM32WL3x, Pakkett tas-Software, Pakkett

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *