STM32WL3x software paketea
Zehaztapenak
- Produktuaren izena: STM32CubeWL3 software paketea
- Bateragarritasuna: STM32WL3x mikrokontrolagailuak
- Ezaugarri nagusiak:
- Behe-geruza (LL) eta hardware-abstrakzio-geruza (HAL) APIak
- SigfoxTM, FatFS eta FreeRTOSTM nukleoko middleware osagaiak
- Aplikazioak eta erakustaldiak
Produktuak erabiltzeko jarraibideak
Hasteko
STM32CubeWL3 software paketea erabiltzen hasteko, jarraitu urrats hauek:
- Deskargatu software paketea ofizialetik webgunea.
- Instalatu beharrezko garapen-ingurunea (adibidez, STM32CubeIDE, EWARM, MDK-ARM).
- Erreparatu adibamporientabiderako emandako fitxategiak eta aplikazioak.
STM32CubeWL3 Arkitektura baino gehiagoview
STM32CubeWL3 software paketea hiru maila nagusiren inguruan eraikita dago
- 0. maila: Hardwarearen abstrakzio-geruza (HAL) eta BSP kontrolatzaileak.
- 1. maila: Aplikazioak, liburutegiak eta protokoloetan oinarritutako osagaiak.
Maiz egiten diren galderak (FAQ)
G: Zein dira STM32CubeWL3 software paketearen ezaugarri nagusiak?
E: Ezaugarri nagusiak geruza baxuko eta HAL APIak, SigfoxTM, FatFS, FreeRTOSTM kernel bezalako middleware osagaiak, aplikazioak eta erakustaldiak dira.
Sarrera
STM32Cube STMicroelectronics-en jatorrizko ekimena da, diseinatzaileen produktibitatea nabarmen hobetzeko garapen-esfortzua, denbora eta kostua murriztuz. STM32Cube STM32 zorro osoa estaltzen du.
STM32Cube-k barne hartzen ditu:
- Softwarea garatzeko erreminta erabilerraza den multzoa, proiektuaren garapena sorreratik gauzatu arte, hauek dira:
- STM32CubeMX, morroi grafikoen bidez C hasierako kodea automatikoki sortzea ahalbidetzen duen software konfiguraziorako tresna grafikoa.
- STM32CubeIDE, periferikoen konfigurazio, kodea sortzea, kodea konpilatzea eta arazketa funtzioak dituen garapen-tresna bat.
- STM32CubeCLT, komando-lerroko garapen-tresna bateratu bat, kode konpilazio, plaken programazio eta arazketa eginbideekin
- STM32CubeProgrammer (STM32CubeProg), grafiko eta komando lerroko bertsioetan eskuragarri dagoen programazio tresna bat
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), monitorizazio tresna indartsuak STM32 aplikazioen portaera eta errendimendua denbora errealean doitzeko.
- STM32Cube MCU eta MPU paketeak, mikrokontrolagailu eta mikroprozesadore serie bakoitzerako txertatutako software plataforma integralak (adibidez, STM32CubeWL3 STM32WL3x produktu-lerrorako), besteak beste:
- STM32Cube hardware abstrakzio geruza (HAL), STM32 zorroan eramangarritasun handiena bermatuz
- STM32Cube geruza baxuko APIak, errendimendu eta aztarna onena bermatuz, erabiltzaileen kontrol maila handiarekin hardwarearen gainean.
- Middleware osagaien multzo koherentea, hala nola FreeRTOS™ kernel, FatFS eta Sigfox™
- Kapsulatutako software utilitate guztiak periferiko eta aplikazio multzo osoekin, adibidezamples
- STM32Cube Hedapen Paketeak, STM32Cube MCU eta MPU paketeen funtzionalitateak osatzen dituzten software osagai txertatuak dituztenak:
-
- Middleware hedapenak eta geruza aplikatiboak
- ExampSTMicroelectronics garapen-plaka espezifiko batzuetan exekutatzen diren fitxategiak
Erabiltzailearen eskuliburu honek STM32CubeWL3 MCU paketearekin nola hasi deskribatzen du.
2. atalak STM32CubeWL3-ren ezaugarri nagusiak deskribatzen ditu eta 3. atalak gaina ematen duview bere arkitekturaz eta MCU paketearen egituraz.
Informazio orokorra
STM32CubeWL3-k GHz azpiko erakustaldi-aplikazioak exekutatzen ditu, Sigfox™ bitarrak barne, Arm® Cortex®-M32+ prozesadorean oinarritutako STM3WL0x produktu-lerroko mikrokontrolagailuetan.
STM32WL3x mikrokontrolagailuek STMicroelectronics-en azken belaunaldiko RF irrati periferikoak txertatzen dituzte, potentzia oso baxuko kontsumorako eta irrati-errendimendu bikaina lortzeko, bateriaren iraupen paregaberako.
Oharra: Arm Arm Limited-en (edo bere filialen) marka erregistratua da AEBetan eta/edo beste leku batzuetan.
STM32CubeWL3 ezaugarri nagusiak
- STM32CubeWL3 MCU paketea Arm® Cortex®-M32+ prozesadorean oinarritutako STM32 0 biteko mikrokontrolagailuetan exekutatzen da. Pakete bakarrean biltzen ditu STM32WL3x produktu-lerroko mikrokontrolagailuetarako aplikazio bat garatzeko beharrezkoak diren kapsulatutako software osagai generiko guztiak.
- Paketeak mikrokontrolagailuaren hardwarea estaltzen duten geruza baxuko (LL) eta hardware-abstrakzio-geruza (HAL) APIak biltzen ditu, ex multzo zabal batekin batera.ampSTMicroelectronics plaketan exekutatzen diren fitxategiak. HAL eta LL APIak kode irekiko BSD lizentzia batean daude erabilgarri erabiltzailearen erosotasunerako. Sigfox™, FatFS eta FreeRTOS™ nukleoaren middleware osagaiak ere biltzen ditu.
- STM32CubeWL3 MCU paketeak ere hainbat aplikazio eta erakustaldi eskaintzen ditu bere middleware osagai guztiak inplementatzen dituztenak.
- STM32CubeWL3 MCU paketearen osagaien diseinua 1. irudian azaltzen da.
1. Irudia STM32CubeWL3 MCU paketearen osagaiak
STM32CubeWL3 arkitektura amaitu daview
STM32CubeWL3 MCU Package irtenbidea 2. Irudian deskribatzen den moduan elkarreragina erraz duten hiru maila independenteren inguruan eraikita dago. 0 maila
Maila hau hiru azpigeruzatan banatzen da:
- Board laguntza paketea (BSP).
- Hardwarearen abstrakzio-geruza (HAL):
- HAL kontrolatzaile periferikoak
- Behe-geruzako gidariak
- Oinarrizko erabilera periferikoa adibidezamples.
Board laguntza paketea (BSP)
Geruza honek hardware-plaketako hardware-osagaiekiko API multzo bat eskaintzen du (adibidez, LEDak, botoiak eta COM kontrolatzaileak). Bi zatiz osatuta dago:
- Osagaia:
Hau da plakako kanpoko gailuarekiko kontrolatzailea eta ez STM32-rekin. Osagaien kontrolatzaileak API zehatzak eskaintzen dizkie BSP kontrolatzailearen kanpoko osagaiei eta eramangarria izan daiteke beste edozein plakatan. - BSP kontrolatzailea:
Osagaien kontrolatzaileak plaka zehatz batekin lotzea ahalbidetzen du eta erabilerrazak diren API multzo bat eskaintzen du. API izendatzeko araua BSP_FUNCT_Action() da.
Exampfitxategia: BSP_LED_Init(), BSP_LED_On()
BSP arkitektura modular batean oinarritzen da, edozein hardwaretara erraz eraman ahal izateko, maila baxuko errutinak ezarriz.
Hardwarearen abstrakzio-geruza (HAL) eta behe-geruza (LL)
STM32CubeWL3 HAL eta LL osagarriak dira eta aplikazio-eskakizun ugari estaltzen dituzte:
- HAL kontrolatzaileek goi-mailako funtzioetara bideratutako API eramangarriak eskaintzen dituzte. MCU eta konplexutasun periferikoa ezkutatzen dizkiote azken erabiltzaileari.
HAL kontrolatzaileek instantzia anitzeko funtzioetara bideratutako API generikoak eskaintzen dituzte, erabiltzailearen aplikazioaren ezarpena errazten dutenak erabiltzeko prest dauden prozesuak eskainiz. Adibidezample, komunikazio periferikoetarako (I2C, UART eta beste), APIak eskaintzen ditu periferikoa hasieratzeko eta konfiguratzeko aukera ematen dutenak, datu-transferentziak inkesta, eten edo DMA prozesuetan oinarrituta kudeatzeko eta komunikazioan sor daitezkeen komunikazio-akatsak kudeatzeko. HAL kontrolatzaileen APIak bi kategoriatan banatzen dira:
- API generikoak, STM32 serieko mikrokontrolagailu guztiei funtzio komunak eta generikoak ematen dizkietenak.
- Luzapen APIak, familia jakin baterako edo pieza-zenbaki zehatz baterako funtzio zehatzak eta pertsonalizatuak eskaintzen dituztenak.
- Geruza baxuko APIek maila baxuko APIak eskaintzen dituzte erregistro mailan, optimizazio hobearekin baina eramangarritasun gutxiagorekin. MCUaren eta periferikoen zehaztapenen ezagutza sakona behar dute.
LL kontrolatzaileak adituei zuzendutako geruza azkar eta arin bat eskaintzeko diseinatuta daude, hardwaretik HAL baino hurbilago dagoena. HALen aurka, LL APIak ez dira eskaintzen periferikoetarako, non sarbide optimizatua funtsezko ezaugarria ez den, edo software konfigurazio astuna edo goi-mailako pila konplexua behar dutenentzat.
LL gidarien ezaugarria:
- Datu-egituretan zehaztutako parametroen arabera ezaugarri nagusiak periferikoak hasieratzeko funtzio multzoa.
- Hasierako datuen egiturak eremu bakoitzari dagozkion berrezarri balioekin betetzeko funtzio multzoa.
- Periferikoen desinicializaziorako funtzioa (erregistro periferikoak lehenetsitako balioetara berrezarri dira).
- Erregistro zuzenean eta atomikorako sarbide zuzeneko funtzio multzo bat.
- HALarekiko independentzia osoa eta modu autonomoan erabiltzeko gaitasuna (HAL kontrolatzailerik gabe).
- Onartutako funtzio periferikoen estaldura osoa.
Oinarrizko erabilera periferikoa adibidezamples
Geruza honek exampSTM32 periferikoen gainean eraikitako fitxategiak HAL eta BSP baliabideak soilik erabiliz.
Manifestazioa adibidezampex. konplexuagoak erakusteko ere eskuragarri daudeampperiferiko espezifikoak dituzten eszenatokiak, hala nola MRSUBG eta LPAWUR.
1 maila
Maila hau bi azpigeruzatan banatzen da:
- Middleware osagaiak
- Exampmiddleware osagaietan oinarritutako fitxategiak
Middleware osagaiak
Middleware FreeRTOS™ nukleoa, FatFS eta Sigfox™ protokolo liburutegia biltzen dituen liburutegi multzo bat da. Geruza honen osagaien arteko interakzio horizontala aipagarri diren APIei deituz egiten da.
Geruza baxuko kontrolatzaileekin elkarreragin bertikala liburutegi-sistemako dei-interfazean inplementatutako dei-atzera eta makro estatiko espezifikoen bidez egiten da.
Middleware osagai bakoitzaren ezaugarri nagusiak hauek dira:
- FreeRTOS™ nukleoa: denbora errealeko sistema eragilea (RTOS) ezartzen du, sistema txertatuetarako diseinatua.
- Sigfox™: Sigfox™ protokolo-sarearekin bat datorren Sigfox™ protokolo-liburutegia inplementatzen du eta RF test-protokolo-liburutegia barne hartzen du RF Sigfox™ tresnekin probatzeko.
- FatFS: FAT generikoa inplementatzen du file sistemaren modulua.
Exampmiddleware osagaietan oinarritutako fitxategiak
Middleware osagai bakoitza ex bat edo gehiagorekin datoramples, aplikazioak ere deituak, nola erabili erakusten dutenak. Integrazioa adibamphainbat middleware osagai erabiltzen dituzten fitxategiak ere eskaintzen dira.
STM32CubeWL3 firmware paketea amaitu daview
Onartutako STM32WL3x gailuak eta hardwarea
STM32Cube-k arkitektura generiko baten inguruan eraikitako hardware-abstrakzio-geruza (HAL) oso eramangarria eskaintzen du. Geruzak eraikitzeko printzipioa ahalbidetzen du, adibidez, middleware geruza erabiltzea beren funtzioak ezartzeko, sakonki, zer MCU erabiltzen den jakin gabe. Honek liburutegiko kodea berrerabilgarritasuna hobetzen du eta beste gailu batzuetarako eramangarritasun erraza bermatzen du.
- Horrez gain, bere geruzadun arkitekturarekin, STM32CubeWL3-k STM32WL3x produktu-lerro guztientzako laguntza osoa eskaintzen du.
- Erabiltzaileak makro egokia soilik definitu behar du stm32wl3x.h-n.
1. taulak definitzeko makroa erakusten du erabilitako STM32WL3x produktu-lerroaren gailuaren arabera. Makro hau konpiladorearen aurreprozesadorean ere definitu behar da.
1. taula. STM32WL3x produktu-lerrorako makroak
urtean definitutako makroa stm32wl3x.h | STM32WL3x produktu-lerroko gailuak |
stm32wl33 | STM32WL33xx mikrokontrolagailuak |
STM32CubeWL3-ek adibide multzo aberatsa duampfitxategiak eta aplikazioak maila guztietakoak, HAL kontrolatzaile edo middleware osagai guztiak ulertzea eta erabiltzea erraztuz. Hauek adibidezamp2. taulan zerrendatutako STMicroelectronics plaketan exekutatzen dira.
Kontseilua | STM32WL3x plaka onartzen duten gailuak |
NUKLEO-WL33CC1 | STM32WL33CC |
NUKLEO-WL33CC2 | STM32WL33CC |
STM32CubeWL3 MCU paketea edozein hardware bateragarritan exekutatu daiteke. Erabiltzaileek BSP kontrolatzaileak eguneratu besterik ez dute emandako exampberen plaketan, horiek hardware-ezaugarri berdinak badituzte (adibidez, LEDak edo botoiak).
Firmware paketea amaitu daview
STM32CubeWL3 MCU Package irtenbidea zip pakete bakarrean eskaintzen da 3. Irudian erakusten den egitura duena.
3. Irudia STM32CubeWL3 firmware paketearen egitura
Kontuz:
Erabiltzaileak ez ditu osagaiak aldatu behar files. Erabiltzaileak \Projects iturriak soilik edita ditzake.
Taula bakoitzeko, adibide multzo batamples EWARM, MDK-ARM eta STM32CubeIDE tresna-kateetarako aurrez konfiguratutako proiektuak eskaintzen ditu.
4. irudiak NUCLEO-WL33CCx plaken proiektuaren egitura erakusten du.
Adibampfitxategiak aplikatzen zaien STM32CubeWL3 mailaren arabera sailkatzen dira. Honela izendatzen dira:
- 0 maila adibamples deitzen dira Examples, Adibamples_LL, eta Examples_MIX. HAL kontrolatzaileak, LL kontrolatzaileak eta HAL eta LL kontrolatzaileak nahasketa bat erabiltzen dituzte, middleware osagairik gabe. Manifestazioa adibidezamplek ere eskuragarri daude.
- 1 maila adibampAplikazioak deitzen dira. Middleware osagai bakoitzaren erabilera kasu tipikoak eskaintzen dituzte.
Plaka jakin baterako edozein firmware aplikazio azkar eraiki daiteke Templ ates eta Templates_LL direktorioetan eskuragarri dauden txantiloi-proiektuak erabiliz.
Examples, Adibamples_LL, eta Examples_MIX egitura bera dute:
- Goiburu guztia duen \Inc karpeta files.
- Iturburu kodea duen \Src karpeta.
- \EWARM, \MDK-ARM eta \STM32CubeIDE erreminta-kate bakoitzeko aurrekonfiguratutako proiektua duten karpetak.
- readme.md eta readme.html example jokabidea eta behar den ingurunea funtzionatzeko.
STM32CubeWL3-rekin hastea
Lehenengo ex bat exekutatzenample
Atal honetan azaltzen da zein erraza den lehen ex bat exekutatzekoample STM32CubeWL3 barruan. Ilustrazio gisa NUCLEO-WL33CC1 plakan martxan dagoen LED etengailu soil baten sorrera erabiltzen du:
- Deskargatu STM32CubeWL3 MCU paketea.
- Deskonprimitu edo exekutatu instalatzailea zure aukeratutako direktorio batean.
- Ziurtatu 3. Irudian agertzen den paketeen egitura ez duzula aldatzen. STM32CubeWL3 firmware paketeen egitura. Kontuan izan paketea erro-bolumenetik hurbil dagoen toki batean kopiatzea ere gomendatzen dela (C:\ST edo G:\Tests alegia), IDE batzuek arazoak izaten baitituzte bidea luzeegia denean.
Nola exekutatu HAL adibidezample
Ex bat kargatu eta exekutatu aurretikample, gomendagarria da adibample readme file edozein konfigurazio zehatzetarako.
- Arakatu \Proiektuak\NUCLEO-WL33CC\Examples.
- Ireki \GPIO, gero \GPIO_EXTI karpetak.
- Ireki proiektua hobetsitako tresna-katearekin. Azkar batview ex bat nola ireki, eraiki eta exekutatuampOnartutako tresna-kateekin le-a behean ematen da.
- Guztiak berreraiki files eta kargatu irudia xede memorian.
- Exekutatu example. Xehetasun gehiagorako, ikus adibideaample readme file.
Ex. bat ireki, eraiki eta exekutatzekoamponartzen diren tresna-kate bakoitzarekin, jarraitu urrats hauek:
- EWARM:
- Adibamples karpeta, ireki \EWARM azpikarpeta.
- Abiarazi Project.eww lan-eremua (lan-eremuaren izena alda daiteke adibide batetikample beste bati).
- Guztiak berreraiki files: [Proiektua]> [Dena berreraiki].
- Kargatu proiektuaren irudia: [Proiektua]> [Araztu].
- Exekutatu programa: [Araztu]> [Joan (F5)].
- MDK-ARM:
- Adibamples karpeta, ireki \MDK-ARM azpikarpeta.
- Ireki Project.uvproj lan-eremua (lan-eremuaren izena alda daiteke adibide batetikample beste bati).
- Guztiak berreraiki files: [Proiektua]> [Helburu guztiak berreraiki files].
- Kargatu proiektuaren irudia: [Araztu]> [Hasi/Gelditu arazketa saioa].
- Exekutatu programa: [Araztu]> [Exekutatu (F5)].
- STM32CubeIDE:
- Ireki STM32CubeIDE tresna-katea.
- Sakatu [File]>[Aldatu lan-eremua]>[Beste batzuk] eta arakatu STM32CubeIDE lan-eremuaren direktorioa.
- Sakatu [File]>[Inportatu], hautatu [Orokorra]>[Existing Projects into Workspace], eta sakatu [Hurrengoa].
- Arakatu STM32CubeIDE lan-eremuaren direktoriora eta hautatu proiektua.
- Proiektu guztia berreraiki files: Hautatu proiektua Project Explorer leihoan eta egin klik gainean
[Proiektua]>[Eraiki proiektua] menua. - Exekutatu programa: [Exekutatu]> [Araztu (F11)].
Aplikazio pertsonalizatu bat garatzea
STM32CubeMX erabiltzea aplikazio bat garatzeko edo eguneratzeko
STM32Cube MCU paketean, proiektu ia guztiak adibidezampfitxategiak STM32CubeMX tresnarekin sortzen dira sistema, periferikoak eta middlewarea hasieratzeko.
Lehendik dagoen proiektu baten erabilera zuzena adibidezampSTM32CubeMX tresnaren fitxategiak STM32CubeMX 6.12.0 edo berriagoa behar du:
- STM32CubeMX instalatu ondoren, ireki eta behar izanez gero eguneratu proposatutako proiektu bat.
Lehendik dagoen proiektu bat irekitzeko modurik errazena *.ioc-en klik bikoitza egitea da file horrela, STM32CubeMX automatikoki irekiko ditu proiektua eta bere iturria files. STM32CubeMX horrelako proiektuen hasierako iturburu kodea sortzen du. - Aplikazioaren iturburu-kode nagusia "USER CODE BEGIN" eta "USER CODE END" iruzkinek jasotzen dute. Periferikoen hautaketa eta ezarpenak aldatzen badira, STM32CubeMX-ek kodearen hasierako zatia eguneratzen du aplikazioaren iturburu-kode nagusia mantenduz.
STM32CubeMX-rekin pertsonalizatutako proiektu bat garatzeko, jarraitu urratsez urrats prozesua:
- Konfiguratu behar den kapsulatutako software guztia pinout-gatazkaren konpontzailea, erloju-zuhaitz ezarpenaren laguntzailea, energia-kontsumoaren kalkulagailua eta MCU periferikoen konfigurazioa egiten duen utilitatea (adibidez, GPIO edo USART).
- Sortu hasierako C kodea hautatutako konfigurazioan oinarrituta. Kode hau hainbat garapen-ingurunetan erabiltzeko prest dago. Erabiltzaile-kodea hurrengo kode-sorkuntzan gordetzen da.
STM32CubeMX-i buruzko informazio gehiago lortzeko, ikusi STM32CubeMX erabiltzailearen eskuliburua STM32 konfiguraziorako eta hasierako C kodea sortzeko (UM1718).
Gidari aplikazioak
HAL aplikazioa
Atal honetan STM32CubeWL3 erabiliz HAL aplikazio pertsonalizatu bat sortzeko beharrezkoak diren urratsak deskribatzen dira:
- Proiektu bat sortu
Proiektu berri bat sortzeko, hasi \Proiektuak\< STM32xxx_yyy>\Tantiloiak ataleko arbel bakoitzari emandako Txantiloi proiektutik edo \Proiektuak\ atalean dagoen edozein proiektutik. \Adibampl es edo \Proiektuak\ \Aplikazioak (non taularen izenari egiten dio erreferentzia). Txantiloi proiektuak begizta funtzio nagusi huts bat eskaintzen du. Hala ere, abiapuntu ona da STM32CubeWL32 proiektuaren ezarpenak ulertzeko. Txantiloiak ezaugarri hauek ditu:- HAL iturburu-kodea, CMSIS eta BSP kontrolatzaileak ditu, hau da, plaka jakin batean kode bat garatzeko behar den gutxieneko osagai multzoa.
- Firmware osagai guztien barne dauden bideak ditu.
- Onartutako STM32WL3x produktu-lerroko gailuak definitzen ditu, CMSIS eta HAL kontrolatzaileak behar bezala konfiguratzeko aukera emanez.
- Erabiltzeko prest dagoen erabiltzailea eskaintzen du fileAurrekonfiguratuta dago behean erakusten den moduan:
- HAL hasierako denbora-base lehenetsiarekin Arm® core SysTick-rekin.
- SysTick ISR inplementatu da HAL_Delay() helburuetarako.
Oharra: lehendik dagoen proiektu bat beste kokapen batera kopiatzean, ziurtatu sartutako bide guztiak eguneratuta daudela.
- Konfiguratu firmware osagaiak
HAL eta middleware osagaiek eraikitzeko garaiko konfigurazio aukera multzo bat eskaintzen dute goiburu batean deklaratutako #define makroak erabiliz file. Txantiloiaren konfigurazioa file osagai bakoitzaren barruan ematen da, eta proiektuaren karpetara kopiatu behar da (normalean konfigurazioa file xxx_conf_template.h izena du, _template zatia kendu behar da proiektuaren karpetara kopiatzean). Konfigurazioa file informazio nahikoa ematen du konfigurazio-aukera bakoitzaren eragina ulertzeko. Informazio zehatzagoa osagai bakoitzari emandako dokumentazioan eskuragarri dago. - Hasi HAL liburutegia
Programa nagusira salto egin ondoren, aplikazio-kodeak HAL_Init() API-ra deitu behar du HAL liburutegia hasieratzeko, eta honek zeregin hauek egiten ditu:- Flash memoriaren prebetch-aren eta SysTick-en etenaren lehentasunaren konfigurazioa (stm3 2wl3x_hal_conf.h-n definitutako makroen bidez).
- SysTick-en konfigurazioa, stm32wl3x_hal_conf.h-n definitutako SysTick-en etenaldi-lehentasunezko TICK_INT_PRIO milisegundo bakoitzean eten bat sortzeko.
- NVIC taldearen lehentasuna 0-n ezartzea.
- stm32wl3x_hal_msp.c erabiltzailean definitutako HAL_MspInit() dei-itzulera funtzioaren deia file maila baxuko hardware hasierako globalak egiteko.
- Konfiguratu sistemako erlojua
Sistemaren erlojuaren konfigurazioa behean deskribatzen diren bi APIetara deituz egiten da:- HAL_RCC_OscConfig(): API honek barneko eta kanpoko osziladoreak konfiguratzen ditu. Erabiltzaileak osziladore bat edo guztiak konfiguratzea aukeratzen du.
- HAL_RCC_ClockConfig(): API honek sistemako erloju-iturburua, flash-memoriaren latentzia eta AHB eta APB aurre-eskalatzaileak konfiguratzen ditu.
- Hasieratu periferikoa
- Lehenik eta behin idatzi periferiko hasierako funtzioa. Jarraitu honela:
- Gaitu erloju periferikoa.
- Konfiguratu GPIO periferikoak.
- Konfiguratu DMA kanala eta gaitu DMA etenaldia (beharrezkoa bada).
- Gaitu eten periferikoa (beharrezkoa bada).
- Editatu stm32xxx_it.c behar diren eten kudeatzaileei (periferikoa eta DMA) deitzeko, behar izanez gero.
- Idatzi prozesu osoa itzultzeko funtzioak etenaldi periferiko bat edo DMA erabili nahi bada.
- Erabiltzaile nagusian.c file, hasieratu helduleku-egitura periferikoa eta gero deitu periferikoaren hasierako funtzioari periferikoa hasieratzeko.
- Aplikazio bat garatu
s honetantage, sistema prest dago eta erabiltzailearen aplikazio-kodearen garapena has daiteke.
HAL-ek API intuitiboak eta erabiltzeko prest eskaintzen ditu periferikoa konfiguratzeko. Galdeketak, etenak eta DMA programazio eredua onartzen ditu, edozein aplikazio eskakizun egokitzeko. Periferiko bakoitza erabiltzeko moduari buruzko xehetasun gehiago lortzeko, jo ezazu adibide aberatsaampSTM32CubeWL3 MCU paketean emandako fitxategi multzoa.
Kontuz:
HAL inplementazio lehenetsian, SysTick tenporizadorea denbora-base gisa erabiltzen da: etenaldiak sortzen ditu denbora-tarte erregularretan. HAL_Delay() ISR prozesu periferikotik deitzen bada, ziurtatu SysTick etenaldiak lehentasun handiagoa duela (zenbakiz txikiagoa) etenaldi periferikoak baino. Bestela, deitzailearen ISR prozesua da
blokeatuta. Denbora-basearen konfigurazioei eragiten dieten funtzioak __ahul gisa deklaratzen dira erabiltzailearen beste inplementazioen kasuan gainidatzi ahal izateko. file (erabilera orokorreko tenporizadore bat erabiliz, adibidezample, edo beste denbora-iturri).
Xehetasun gehiago lortzeko, ikusi HAL_TimeBase adibample.
LL aplikazioa
Atal honetan STM32CubeWL3 erabiliz LL aplikazio pertsonalizatu bat sortzeko beharrezkoak diren urratsak deskribatzen dira.
- Proiektu bat sortu
Proiektu berri bat sortzeko, hasi \Proiektuak\ arbel bakoitzari emandako Templates_LL proiektutik. \Templates_LL edo eskuragarri dagoen edozein proiektutatik \Proiektuak\ \E xamples_LL ( taularen izenari egiten dio erreferentzia, esate baterako, NUCLEO-WL32CC33).
Txantiloiaren proiektuak hutsik dagoen begizta funtzio nagusi bat eskaintzen du, STM32CubeWL3-ren proiektuaren ezarpenak ulertzeko abiapuntu ona dena. Txantiloiaren ezaugarri nagusiak hauek dira:- LL eta CMSIS kontrolatzaileen iturburu-kodeak ditu, hau da, plaka jakin batean kodea garatzeko behar den gutxieneko osagai multzoa.
- Beharrezko firmware osagai guztien barne dauden bideak ditu.
- Onartutako STM32WL3x produktu-lerroko gailua hautatzen du eta CMSIS eta LL kontrolatzaileen konfigurazio zuzena ahalbidetzen du.
- Erabiltzeko prest dagoen erabiltzailea eskaintzen du filehonela aldez aurretik konfiguratuta daudenak:
- main.h: LED eta USER_BUTTON definizio abstrakzio-geruza.
- main.c: Sistemaren erlojuaren konfigurazioa maiztasun maximorako.
- Portu LL adibidezample:
- Kopiatu/itsatsi Templates_LL karpeta – hasierako iturria mantentzeko – edo zuzenean eguneratu lehendik dagoen Templa tes_LL proiektu bat.
- Ondoren, portatzea Templates_LL ordezkatzean datza nagusiki files Adibamples_LL zuzendutako proiektua.
- Mantendu taularen zati zehatz guztiak. Argitasun arrazoiengatik, taularen zati espezifikoak espezifiko batekin markatzen dira tags:
Beraz, porturatzeko urrats nagusiak hauek dira:
- Ordeztu stm32wl3x_it.h file.
- Ordeztu stm32wl3x_it.c file.
- Nagusia ordezkatu.h file eta eguneratu: mantendu LL txantiloiaren LED eta erabiltzailearen botoiaren definizioa TAULA KONFIGURAZIO BERARIAZKO pean tags.
- Nagusia ordezkatu.c file eta eguneratu:
- Mantendu SystemClock_Config() LL txantiloiaren funtzioaren erlojuaren konfigurazioa TABLEKO KONFIGURAZIO BERARIAZKO pean tags.
- LED definizioaren arabera, ordezkatu LDx agerraldi bakoitza eskuragarri dagoen beste LDy batekin file nagusia.h.
Aldaketa hauekin, example helburuko taulan exekutatzen da.
RF aplikazioak, erakustaldiak eta adibidezamples
RF aplikazio mota desberdinak, erakustaldiak eta adibidezampfitxategiak STM32CubeWL3 paketean daude eskuragarri. Beheko bi ataletan zerrendatzen dira.
Sub-GHz adibidezamples eta erakustaldiak
Hauek adibidezampMRSUBG eta LPAWUR irrati-periferikoen ezaugarri nagusiak erakusten dituzte. Hauek adibidezampfitxategiak hemen daude eskuragarri:
- Proiektuak\NUCLEO-WL33CC\Examples\MRSUBG
- Proiektuak\NUCLEO-WL33CC\Examples\LPAWUR
- Proiektuak\NUCLEO-WL33CC\Demonstrations\MRSUBG
- Proiektuak\NUCLEO-WL33CC\Demonstrations\LPAWUR
AdibampLe edo erakustaldia, oro har, Tx eta Rx izeneko bi programak osatzen dute igorle eta hartzaile gisa jarduten dutenak, hurrenez hurren:
- Examples/MRSUBG
- MRSUBG_802_15_4: 802.15.4 estandarrak definitutako geruza fisikoaren ezarpena. Irratia nola konfiguratu 802.15.4 paketeak transmititzeko edo jasotzeko erakusten du.
- MRSUBG_BasicGeneric: STM32WL3x MR_SUBG oinarrizko paketeen trukea.
- MRSUBG_Chat: Tx eta Rx gailu berean nola erabili erakusten duen aplikazio sinplea.
- MRSUBG_DatabufferHandler: AdibampDatabuffer 0 eta 1-tik nola aldatu erakusten duen fitxategia.
- MRSUBG_Sequencer AutoAck: Adibamppaketeen aitorpenak (ACK) automatikoki transmititzen eta jasotzen dituen fitxategia.
- MRSUBG_WMBusSTD: WM-Bus mezuen trukea.
- WakeupRadio: Adibample LPAWUR irrati periferikoa probatzeko.
- Erakustaldiak/MRSUBG
- MRSUBG_RTC_Button_TX: Adibample-k SoC-a geldialdi sakonean nola ezarri eta MRSUBG-a SoC-a esnatzeko nola konfiguratu erakusten du PB2 sakatuz fotograma bat bidaltzeko edo RTC tenporizadorea iraungi ondoren.
- MRSUBG_Sequencer_Sniff: Adibample-ek MRSUBG sekuentziatzailea sniff moduan funtziona dezan nola ezarri erakusten du. Adibample hartzailearen alde erakusten du eta beste gailu bat behar du transmisore gisa.
- MRSUBG_Timer: Aplikazioak MRSUBG tenporizadorearen hainbat instantzia programatzen ditu (autokargarekin) denbora tarte ezberdinekin.
- MRSUBG_WakeupRadio_Tx: Adibample-k SoC geldialdi sakonean nola ezarri eta MRSUBG konfiguratu SoC esnatzeko azaltzen du PB2 sakatuz fotograma bat bidaltzeko. Adibample transmisorearen alde erakusten du eta beste gailu bat behar du LPAWUR hargailu gisa. Hartzaileak adibidezample NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx karpetan dago.
- Manifestazioak/LPAWUR
- LPAWUR_WakeupRadio_Rx: Adibample-k azaltzen du nola ezarri SoC deep-stop moduan eta LPAWUR konfiguratu SoC esna dezan fotograma bat iristen denean eta behar bezala jasotzen denean. Adibample hartzailearen alde erakusten du eta beste gailu bat behar du transmisore gisa. Igorlea adibidezample NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx karpetan dago.
Sigfox™ aplikazioa
Aplikazio hauek Sigfox™ eszenatoki bat nola inplementatu eta erabilgarri dauden Sigfox™ APIak nola erabili erakusten dute. Proiektuaren bidean daude eskuragarri Projects\NUCLEO-WL33CC\Applications\Sigfox\:
- Sigfox_CLI: Aplikazio honek komando-lerroko interfazea (CLI) nola erabili erakusten du Sigfox™ protokoloa erabiltzen duten komandoak bidaltzeko mezuak bidaltzeko eta aurreziurtagiri-probak egiteko.
- Sigfox_PushButton: Aplikazio honek STM32WL33xx Sigfox™ gailuaren irrati-gaitasunaren ebaluazioa ahalbidetzen du. PB1 sakatzean Sigfox™ probako fotograma transmititzen da.
Ohiko galderak
- Noiz erabili behar dut HAL LL kontrolatzaileen ordez?
HAL gidariek maila altuko eta funtzioetara bideratutako APIak eskaintzen dituzte, eramangarritasun maila altuarekin. Produktu edo periferikoen konplexutasuna ezkutatuta dago azken erabiltzaileentzat.
LL gidariek geruza baxuko erregistro-mailako APIak eskaintzen dituzte, optimizazio hobearekin baina eramangarri gutxiagorekin. Produktu edo IP zehaztapenen ezagutza sakona behar dute. - HAL eta LL kontrolatzaileak batera erabil daitezke? Baiezkoa bada, zeintzuk dira mugak?
HAL eta LL kontrolatzaileak erabil daitezke. Erabili HAL periferikoen hasierako faserako eta gero kudeatu I/O eragiketak LL kontrolatzaileekin.
HAL eta LLren arteko desberdintasun nagusia da HAL gidariek eragiketak kudeatzeko heldulekuak sortu eta erabili behar dituztela, LL kontrolatzaileek erregistro periferikoetan zuzenean funtzionatzen duten bitartean. HAL eta LL nahastea Adibamples_MIX adibamples. - Nola gaitu LL hasierako APIak?
LL hasierako APIen eta lotutako baliabideen definizioa (egiturak, literalak eta prototipoak) USE_FULL_LL_DRIVER konpilazio etengailuak baldintzatzen du.
LL hasierako APIak erabili ahal izateko, gehitu etengailu hau toolchain konpiladorearen aurreprozesadorean. - Ba al dago txantiloi proiekturik MRSUBG/LPAWUR periferikorako, adibidezamples?
MRSUBG edo LPAWUR berri bat sortzeko adibidezample proiektua, hasi \Pr ojects\NUCLEO-WL33CC\Ex atalean emandako hezurdura proiektutikamples\MRSUBG edo \Projects\NUCLEO-WL33CC\Examples\LPAWUR, edo direktorio horien azpian dagoen edozein proiektutatik. - Nola sor dezake STM32CubeMX txertatutako softwarean oinarritutako kodea?
STM32CubeMX-k STM32 mikrokontrolagailuen ezagutza barneratua du, haien periferikoak eta softwarea barne, eta horri esker, erabiltzaileari irudikapen grafikoa eskaintzeko eta *.h edo *.c sortzeko aukera ematen du. fileerabiltzailearen konfigurazioan oinarrituta.
Berrikuspen historia
3. taula. Dokumentuen berrikuspenaren historia
Data | Berrikuspena | Aldaketak |
29-mar-2024 | 1 | Hasierako kaleratzea. |
30-2024-XNUMX | 2 | Integrazio osoa STM32CubeWL3 in STM32 Kuboa. Eguneratua:
Kendua:
|
Dokumentuak / Baliabideak
ST STM32WL3x software paketea [pdf] Argibideak STM32WL3x Software Paketea, STM32WL3x, Software Paketea, Paketea |
Erreferentziak
-
Garatzaileentzako eta startupentzako software eskaintza esklusiboak - Dealsbe
- Erabiltzailearen eskuliburua