STMicroelectronics-logoa

STMicroelectronics STM32WBA seriea Hasteko

STMicroelectronics-STM32WBA-Series-Hasteko-irudia-1

Produktuaren informazioa

Zehaztapenak:

  • Produktuaren izena: STM32CubeWBA MCU paketea
  • Fabrikatzailea: STMicroelectronics
  • Bateragarritasuna: STM32WBA serieko mikrokontrolagailuak
  • Lizentzia: Kode irekiko BSD lizentzia

Produktuak erabiltzeko jarraibideak

STM32CubeWBA MCU paketearen ezaugarri nagusiak:
STM32CubeWBA MCU Paketeak STM32WBA serieko mikrokontrolagailuetan aplikazioak garatzeko beharrezkoak diren software osagai guztiak eskaintzen ditu. Oso eramangarria da STM32 seriearen barruan eta HAL eta LL APIekin dator, adibidezamples, eta middleware osagaiak.

Arkitektura Amaituview:
STM32CubeWBA MCU paketearen arkitekturak hiru maila ditu: Aplikazioak, Liburutegia eta protokoloan oinarritutako osagaiak, Hardwarearen abstrakzio-geruza, BSP kontrolatzaileak, Core kontrolatzaileak eta Behe-geruzako APIak.

Ohiko galderak

  • Zer sartzen da STM32CubeWBA MCU paketean?
    Paketeak behe-geruza (LL) eta hardware-abstrakzio-geruza (HAL) APIak ditu, adibidezampfitxategiak, aplikazioak, middleware osagaiak bezalakoak FileX/LevelX, NetX Duo, mbed-crypto liburutegiak eta gehiago.
  • STM32CubeWBA MCU paketea STM32CubeMX kode-sorgailuarekin bateragarria al da?
    Bai, paketea guztiz bateragarria da STM32CubeMX kode-sorgailuarekin hasierako kodea sortzeko.

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 tresna erabilerrazak diren proiektuen garapena sorreratik gauzatu arte estaltzeko, besteak beste:
      • 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, STM32CubeWBA STM32WBA serierako), besteak beste:
      • STM32Cube hardware abstrakzio geruza (HAL), STM32 zorroan eramangarritasun handiena bermatuz
      • STM32Cube geruza baxuko APIak, errendimendu eta aztarna onena bermatuz erabiltzaileak hardwarearen gaineko kontrol maila altuarekin
      • ThreadX bezalako middleware osagaien multzo koherentea, FileX / LevelX, NetX Duo, USBX, ukipen liburutegia, mbed-crypto, TFM, MCUboot, OpenBL eta STM32_WPAN (Bluetooth® Low Energy pro barnefileeta zerbitzuak, Mesh, Zigbee®, OpenThread, Matter eta 802.15.4 MAC geruza)
      • 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 STM32CubeWBA MCU paketearekin nola hasi deskribatzen du.
    • 2. atalean STM32CubeWBA ezaugarri nagusiak STM32CubeWBA MCU paketearen ezaugarri nagusiak deskribatzen ditu.
    • 3. atala STM32CubeWBA arkitektura baino gehiagoview gaina ematen duview STM32CubeWBA arkitektura eta MCU paketearen egitura.

Informazio orokorra

STM32CubeWBA MCU paketea STM32 32 biteko mikrokontrolagailuetan exekutatzen da Arm® Cortex®-M33 prozesadorean oinarrituta, Arm® TrustZone® eta FPUrekin.
Oharra: Arm eta TrustZone Arm Limited-en (edo bere filialen) marka erregistratuak dira AEBetan eta/edo beste leku batzuetan.

STM32CubeWBA ezaugarri nagusiak

  • STM32CubeWBA MCU paketea STM32 32 biteko mikrokontrolagailuetan exekutatzen da Arm® Cortex®-M33 prozesadorean oinarrituta, TrustZone® eta FPUrekin.
  • STM32CubeWBA-k pakete bakarrean biltzen ditu STM32WBA serieko mikrokontrolagailuetarako aplikazio bat garatzeko beharrezkoak diren kapsulatutako software osagai generiko guztiak. STM32Cube ekimenaren ildotik, osagai multzo hau oso eramangarria da, ez bakarrik STM32WBA serieko mikrokontrolagailuetan, baita STM32 serie batzuetarako ere.
  • STM32CubeWBA guztiz bateragarria da STM32CubeMX kode-sorgailuarekin, hasierako kodea sortzeko. 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.
  • STM32CubeWBA MCU Paketeak Microsoft® Azure® RTOS middleware-ren eta beste barneko eta kode irekiko beste pila batzuen inguruan eraikitako middleware osagai integral bat ere badu, dagozkion exekin.amples.
  • Doako eta erabilerrazak diren lizentzia-baldintzekin datoz:
    • Azure® RTOS integratua eta ezaugarri osoak: Azure® RTOS ThreadX
    • CMSIS-RTOS inplementazioa Azure® RTOS ThreadX-rekin
    • USB ostalari eta gailu pilak klase askorekin: Azure® RTOS USBX
    • Aurreratua file sistema eta flash itzulpen geruza: FileX / MailaX
    • Maila industrialeko sareko pila: IoT protokolo askorekin datozen errendimendurako optimizatua: NetX Duo
    • OpenBootloader
    • Arm® Trusted Firmware-M (TF-M) integrazio irtenbidea
    • mbed-crypto liburutegiak
    • ST Netwok liburutegia
    • STMTouch ukipen-sentsorerako liburutegiko irtenbidea
  • Middleware osagai horiek guztiak inplementatzen dituzten hainbat aplikazio eta erakustaldi ere eskaintzen dira STM32CubeWBA MCU paketean.
  • STM32CubeWBA MCU paketearen osagaien diseinua 1. irudian azaltzen da. STM32CubeWBA MCU paketearen osagaiak.

    STMicroelectronics-STM32WBA-Series-Hasteko-irudia-2

STM32CubeWBA arkitektura amaitu daview

STM32CubeWBA MCU paketeen irtenbidea 2. Irudian deskribatzen den moduan elkarreragiten duten hiru maila independenteren inguruan eraikita dago. STM32CubeWBA MCU paketeen arkitektura.

STMicroelectronics-STM32WBA-Series-Hasteko-irudia-3

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, LCD, Audio,\microSD™ eta MEMS kontrolatzaileak). Bi zatiz osatuta dago:

  • Osagaien kontrolatzailea:
    Kontrolatzaile hau plakako kanpoko gailuarekin erlazionatuta dago, eta ez STM32 gailuarekin. Osagaien kontrolatzaileak API zehatzak eskaintzen dizkie BSP kontrolatzailearen kanpoko osagaiei eta eramangarria izan daiteke beste edozein plakatan.
  • BSP kontrolatzailea:
    BSP kontrolatzaileak osagaien kontrolatzaileak plaka zehatz batekin lotzen ditu eta erabilerraza den multzo bat eskaintzen du
    APIak. 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)
STM32CubeWBA 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 gidariek instantzia anitzeko funtzioetara bideratutako API generikoak eskaintzen dituzte, erabiltzailearen aplikazioen ezarpena errazten dutenak erabiltzeko prest dauden prozesuak eskainiz. Adibidezample, komunikazio periferikoetarako (I2S, UART eta beste), APIak eskaintzen ditu periferikoa hasieratzeko eta konfiguratzeko, datu-transferentziak inkesta, eten edo DMA prozesuetan oinarrituta kudeatzeko eta komunikazioan zehar sor daitezkeen komunikazio-erroreak kudeatzeko. HAL kontrolatzaileen APIak bi kategoriatan banatzen dira:
    1. API generikoak, STM32 serieko mikrokontrolagailu guztiei funtzio komunak eta generikoak ematen dizkietenak.
    2. 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.
    • MCU 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.

1 maila

Maila hau bi azpigeruzatan banatzen da:

  • Middleware osagaiak
  • Exampmiddleware osagaietan oinarritutako fitxategiak

Middleware osagaiak

  • Middlewarea Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee® eta Zigbee® biltzen dituen liburutegi multzo bat da.
  • Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot eta mbed-crypto.
  • 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:
    • Microsoft® Azure® RTOS
      • Azure® RTOS ThreadX: denbora errealeko sistema eragilea (RTOS), bi modu funtzional dituzten sistema txertatuetarako diseinatua.
        • Modu arrunta: RTOS funtzionalitate arruntak, hala nola hariak kudeatzea eta sinkronizatzea, memoria multzoen kudeaketa, mezularitza eta gertaeren kudeaketa.
        • Modulu modua: Erabiltzaile-modu aurreratua, modulu-kudeatzaile baten bidez aurrez loturiko ThreadX moduluak kargatu eta deskargatzea ahalbidetzen duena.
      • NetX Duo
      • FileX
      • USBX
    • Bluetooth® Low Energy (BLE): Bluetooth® Low Energy protokoloa ezartzen du Link eta Stack geruzetarako.
    • MCUboot (kode irekiko softwarea)
    • Zigbee® protokoloak pilarako eta erlazionatutako klusterrak.
    • Thread® protokolo pila eta esteka geruza.
    • Arm® fidagarria den firmware-M, TF-M (kode irekiko softwarea): TrustZone®-rako Arm® plataformako segurtasun arkitekturaren (PSA) inplementazioa erreferentziazko zerbitzu seguruekin.
    • mbed-crypto (kode irekiko softwarea): mbed-crypto middleware-ak PSA kriptografiako APIaren ezarpena eskaintzen du.
    • STM32 Ukipen-sentsoreen liburutegia: STMTouch ukipen-sentsore kapazitiboaren irtenbide sendoa, hurbiltasuna, ukipen-tekla, ukipen-sentsore linealak eta birakaria onartzen ditu. Gainazaleko karga transferentziaren eskuratze printzipio frogatu batean oinarritzen da.

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.

STM32CubeWBA firmware paketea amaitu daview

Onartutako STM32WBA serieko 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. Horrek liburutegiko kodea berrerabilgarritasuna hobetzen du eta beste gailu batzuetarako eramangarritasun erraza bermatzen du.
  • Horrez gain, bere geruzadun arkitekturari esker, STM32CubeWBA-k STM32WBA serie guztien laguntza osoa eskaintzen du.
  • Erabiltzaileak makro egokia definitu besterik ez du stm32wbaxx.h-n.
  • 1. taulak definitzeko makroa erakusten du erabilitako STM32WBA serieko gailuaren arabera. Makro hau konpiladorearen aurreprozesadorean ere definitu behar da.
    1. taula STM32WBA serierako makroak
    Stm32wbaxx.h-n definitutako makroa STM32WBA serieko gailuak
    stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6
    stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7

     

  • STM32CubeWBA-k adibide multzo aberatsa duampfitxategiak eta aplikazioak maila guztietako HAL kontrolatzaile edo middleware osagaiak erraz ulertu eta erabiltzea errazten dute. Hauek adibidezamp2. taulan zerrendatutako STMicroelectronics plaketan exekutatzen dira.
    2. taula. STM32WBA serierako plakak
    Kontseilua Board STM32WBA onartzen dituen gailuak
    NUKLEO-WBA52CG STM32WBA52CGU6
    NUKLEO-WBA55CG STM32WBA55CGU6
    STM32WBA55-DK1 STM32WBA55CGU7
  • STM32CubeWBA MCU paketea edozein hardware bateragarritan exekutatu daiteke. Erabiltzaileak BSP kontrolatzaileak eguneratzen ditu, emandako examparbelean, azken honek hardwarearen ezaugarri berdinak baditu (esaterako, LED, LCD pantaila eta botoiak).
Firmware paketea amaitu daview
  • STM32CubeWBA paketeen irtenbidea zip pakete bakarrean eskaintzen da 3. Irudian agertzen den egitura duena. STM32CubeWBA firmware paketeen egitura.

    STMicroelectronics-STM32WBA-Series-Hasteko-irudia-4

  • Taula bakoitzeko, adibide multzo batamples EWARM, MDK-ARM eta STM32CubeIDE tresna-kateetarako aurrez konfiguratutako proiektuekin hornitzen da.
  • 4. irudia STM32CubeWBA adibamples amaituview NUCLEO-WBA52CG, NUCLEO-WBA55CG eta STM32WBA55G-DK1 plaken proiektuaren egitura erakusten du.

    STMicroelectronics-STM32WBA-Series-Hasteko-irudia-5

  • AdibampAplikatzen zaien STM32Cube mailaren arabera sailkatzen dira fitxategiak, eta honela izendatzen dira:
    • 0 maila adibamples deitzen dira Examples, Adibamples_LL, eta Examples_MIX. HAL kontrolatzaileak, LL kontrolatzaileak eta HAL eta LL kontrolatzaileen nahasketa bat erabiltzen dituzte, middleware osagairik gabe.
    • 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 dauden txantiloi-proiektuei esker.

TrustZone® gaitutako proiektuak

  • TrustZone® gaituta Adibampizenek _TrustZone aurrizkia dute. Araua aplikazioetarako ere aplikatzen da (TFM eta SBSFUrentzat izan ezik, zeinak berez TrustZone®-rako diren).
  • TrustZone® gaitutako AdibampFitxategiak eta Aplikazioak azpiproiektu seguru eta ez-seguruz osatutako proiektu anitzeko egitura eskaintzen dute 5. Irudian aurkezten den moduan. Proiektu anitzeko egitura segurua eta ez-segurua.
  • TrustZone® gaitutako proiektuak CMSIS-5 gailu txantiloiaren arabera garatzen dira, sistemaren partizioaren goiburua sartzeko hedatua. file partizioa_ .h, atributu unitate segurua (SAU), FPU eta eten seguru/ez-seguruen esleipenaren erantzule nagusia exekuzio egoera seguruan.
  • Konfigurazio hau CMSIS SystemInit() funtzio seguruan egiten da, abiaraztean deitzen dena aplikazio seguruaren main() funtzioan sartu aurretik. Ikusi Arm® TrustZone®-M softwarearen gidalerroen dokumentazioa.

    STMicroelectronics-STM32WBA-Series-Hasteko-irudia-6

  • STM32CubeWBA paketearen firmware-paketeak memoria-partizio lehenetsia eskaintzen du partizioan _ .h fileHemen daude eskuragarri: \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T ereduak
  • Banaketa hauetan files, SAU lehenespenez desgaituta dago. Ondorioz, IDAU memoria-mapea erabiltzen da segurtasuna egozteko. Ikusi RM0495 erreferentzia-eskuliburuan TrustZone® teknologia erabiliz zatiketa segurua/ez-segurua.
  • Erabiltzaileak SAU gaitzen badu, SAU eskualdeen konfigurazio lehenetsia aurrez definituta dago partizioan files honela:
    • SAU eskualdea 0: 0x08080000 – 0x081FFFFF (flash memoriaren erdi seguru segurua (512 Kbyte))
    • SAU eskualdea 1: 0x0BF88000 – 0x0BF97FFF (sistemaren memoria ez segurua)
    • SAU 2. eskualdea: 0x0C07E000 – 0x0C07FFFF (segurua, deigarria ez dena)
    • SAU 3. eskualdea: 0x20010000 – 0x2001FFFF (SRAM2 ez segurua (64 Kbyte))
    • SAU eskualdea 4: 0x40000000 - 0x4FFFFFFF (mapatutako memoria periferiko segurua)
  • Partizio lehenetsiarekin bat etortzeko, STM32WBAxx serieko gailuek erabiltzailearen aukera-byte hauek ezarri behar dituzte:
    • TZEN = 1 (TrustZone® gaitutako gailua)
    • SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (barneko flash memoriako 64 orrialdetik 128 seguru gisa ezarrita) Oharra: barneko flash memoria guztiz segurua da lehenespenez TZEN = 1. Erabiltzailearen aukera byteak SECWM1_PSTRT/ SECWM1_PEND aplikazioaren arabera ezarri behar dira. memoria konfigurazioa (SAU eskualdeak, SAU gaituta badago). Aplikazio seguruak/ez seguruak proiektuaren estekatzailea files ere lerrokatu behar da.
  • Guztiak exampegitura bera dute:
    • Goiburu guztiak dituen \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.
    • ioc file horri esker, erabiltzaileek firmware gehienak ireki ditzaketeampSTM32CubeMX barruan dauden fitxategiak.

STM32CubeWBA-rekin hastea

Lehenengo HAL example

Atal honek azaltzen du zein erraza den lehenengo exa exekutatzekoample STM32CubeWBA barruan. Ilustrazio gisa NUCLEO-WBA52CG plakan martxan dagoen LED etengailu soil baten sorrera erabiltzen du:

  1. Deskargatu STM32CubeWBA MCU paketea.
  2. Deskonprimitu nahi duzun direktorio batean.
  3. Ziurtatu 1. irudian agertzen den pakete-egitura ez aldatzea. Era berean, gomendagarria da paketea zure erro-bolumenetik gertu dagoen toki batean kopiatzea (C:\ST edo G:\Tests esan nahi duena), IDE batzuek arazoak izaten baitituzte bide-saioan. luzera luzeegia da.

Lehen TrustZone® gaituta exekutatzen, adibidezample

  • TrustZone® gaitutako bat kargatu eta exekutatu aurretik adibidezample, derrigorrezkoa da irakurtzea example readme file edozein konfigurazio zehatzetarako, segurtasuna gaituta dagoela ziurtatzen duena 4.2.1 TrustZone® gaitutako proiektuen atalean azaltzen den moduan (TZEN=1 (erabiltzaile-aukera byte)).
    1. Arakatu \Proiektuak\NUCLEO-WBA52CG\Examples.
    2. Ireki \GPIO, gero \GPIO_IOToggle_TrustZone karpetak.
    3. Ireki proiektua nahiago duzun tresna-katearekin. Azkar batview ex bat nola ireki, eraiki eta exekutatuampOnartutako tresna-kateekin le-a behean ematen da.
    4. Berreraiki sekuentzian proiektu seguruak eta seguruak ez direnak files eta kargatu irudi seguruak eta ez seguruak xede memorian.
    5. Exekutatu example: aldizka, aplikazio seguruak LD2 aldatzen du segundoro, eta segurua ez den aplikazioak LD3 bi aldiz azkarrago aldatzen du. Xehetasun gehiago nahi izanez gero, jo irakurgai file example.
  • Ex. bat ireki, eraiki eta exekutatzekoamponartzen diren tresna-kateekin, jarraitu urrats hauek:
    • EWARM:
      1. Example karpeta, ireki \EWARM azpikarpeta.
      2. Abiarazi Project.eww lan-eremua
      3. Berreraiki xxxxx_S proiektu segurua files: [Proiektua]> [Dena berreraiki].
      4. Ezarri xxxxx_NS proiektu segurua aplikazio aktibo gisa (egin klik eskuineko botoiarekin xxxxx_NS proiektuan [Ezarri aktibo gisa])
      5. Berreraiki xxxxx_NS proiektu segurua files: [Proiektua]> [Dena berreraiki].
      6. Flash bitar segurua [Proiektua]> [Deskargatu]> [Deskargatu aplikazio aktiboa] .
      7. Ezarri xxxxx_S aplikazio aktibo gisa (egin klik eskuineko botoiarekin xxxxx_S proiektuan [Ezarri aktibo gisa].
      8. Flash bitar segurua [Deskargatu eta Araztu] (Ktrl+D).
      9. Exekutatu programa: [Araztu]> [Joan (F5)]
    • MDK-ARM:
      1. Ireki \MDK-ARM tresna-katea.
      2. Ireki Multiprojects lan-eremua file Proiektua.uvmpw.
      3. Hautatu xxxxx_s proiektua Aplikazio aktibo gisa ([Ezarri Proiektu aktibo gisa]).
      4. Eraiki xxxxx_s proiektua.
      5. Hautatu xxxxx_ns proiektua proiektu aktibo gisa ([Ezarri Proiektu aktibo gisa]).
      6. Eraiki xxxxx_ns proiektua.
      7. Kargatu bitar segurua ([F8]). Honek \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf deskargatzen du flash memoriara)
      8. Hautatu Project_s proiektua proiektu aktibo gisa ([Ezarri Proiektu aktibo gisa]).
      9. Kargatu bitar segurua ([F8]). Honek \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf flash memoriara deskargatzen du).
      10. Exekutatu example.
    • STM32CubeIDE:
      1. Ireki STM32CubeIDE tresna-katea.
      2. Ireki Multiprojects lan-eremua file .proiektua.
      3. Berreraiki xxxxx_Secure proiektua.
      4. Berreraiki xxxxx_NonSecure proiektua.
      5. Abiarazi [Araztu STM32 Cortex-M C/C++ gisa] aplikazioa proiektu segururako.
      6. [Editatu konfigurazioa] leihoan, hautatu [Abiarazte] panela eta gehitu proiektu seguruaren irudia eta ikurrak kargatu.
        Garrantzitsua: Proiektu segurua proiektu seguruaren aurretik kargatu behar da.
      7. Sakatu [Ados].
      8. Exekutatu examparazketa-ikuspegiari buruz.

Lehen TrustZone® desgaituta exekutatzen, adibidezample

  • TrustZone® desgaituta dagoen adibidez kargatu eta exekutatu aurretikample, derrigorrezkoa da irakurtzea example readme file edozein konfigurazio zehatzetarako. Aipamen zehatzik ez badago, ziurtatu taulako gailuak segurtasuna desgaituta duela (TZEN=0 (erabiltzaile aukeraren byte)). Ikusi Ohiko erregresioa TZEN = 0 egiteko
    1. Arakatu \Proiektuak\NUCLEO-WBA52CG\Examples.
    2. Ireki \GPIO, gero \GPIO_EXTI karpetak.
    3. Ireki proiektua nahiago duzun tresna-katearekin. Azkar batview ex bat nola ireki, eraiki eta exekutatuampOnartutako tresna-kateekin le-a behean ematen da.
    4. Guztiak berreraiki files eta kargatu zure irudia xede memorian.
    5. Exekutatu example: [ERABILTZAILE] botoia sakatzen den bakoitzean, LD1 LED-a txandakatzen da. Xehetasun gehiago nahi izanez gero, jo irakurgai file example.
  • Ex. bat ireki, eraiki eta exekutatzekoamponartzen diren tresna-kateekin, jarraitu urrats hauek:
    • EWARM:
      1. Example karpeta, ireki \EWARM azpikarpeta.
      2. Abiarazi Project.eww lan-eremua (lan-eremuaren izena alda daiteke adibide batetikample beste bati).
      3. Guztiak berreraiki files: [Proiektua]> [Dena berreraiki].
      4. Kargatu proiektuaren irudia: [Proiektua]> [Araztu].
      5. Exekutatu programa: [Araztu]> [Joan (F5)].
    • MDK-ARM:
      1. Example karpeta, ireki \MDK-ARM azpikarpeta.
      2. Abiarazi Project.uvproj lan-eremua (lan-eremuaren izena alda daiteke adibide batetikample beste bati).
      3. Guztiak berreraiki files:[Proiektua]>[Helburu guztiak berreraiki files].
      4. Kargatu proiektuaren irudia: [Araztu]> [Hasi/Gelditu arazketa saioa].
      5. Exekutatu programa: [Araztu]> [Exekutatu (F5)].
    • STM32CubeIDE:
      1. Ireki STM32CubeIDE tresna-katea.
      2. Egin klik [File]>[Aldatu lan-eremua]>[Beste batzuk] eta arakatu STM32CubeIDE lan-eremuaren direktorioa.
      3. Egin klik [File]>[Inportatu] , hautatu [General]>[Existing Projects into Workspace], eta sakatu [Hurrengoa].
      4. Arakatu STM32CubeIDE lan-eremuaren direktoriora eta hautatu proiektua.
      5. Proiektu guztia berreraiki files: Hautatu proiektua [Project Explorer] leihoan eta egin klik [Proiektua]> [Eraiki proiektua] menuan.
      6. Exekutatu programa: [Exekutatu]> [Araztu (F11)]
Aplikazio pertsonalizatu bat garatzea

Oharra: Softwareak instrukzioen cachea (ICACHE) gaitu behar du flash memoriatik 0 itxaron-egoeraren exekuzioa lortzeko eta errendimendu maximoa eta energia-kontsumo hobea lortzeko.

STM32CubeMX erabiltzea aplikazio bat garatzeko edo eguneratzeko

  • STM32CubeWBA MCU paketean, ia proiektu guztiak adibidezampfitxategiak STM32CubeMX tresnarekin sortzen dira sistema, periferikoak eta middlewarea hasieratzeko.
  • Lehendik dagoen proiektu baten erabilera zuzena adibidezampSTM32CubeMX tresnaren fitxategiak STM32CubeMX 6.10.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. IP aukeraketa eta ezarpena aldatzen badira, STM32CubeMX-ek kodearen hasierako zatia eguneratzen du baina aplikazioaren iturburu-kode nagusia gordetzen du.
  • STM32CubeMX-en proiektu pertsonalizatu bat garatzeko, jarraitu urratsez urrats prozesua:
    1. Hautatu behar den periferikoen multzoarekin bat datorren STM32 mikrokontrolagailua.
    2. Konfiguratu behar den kapsulatutako software guztia pinout-gatazka konpontzailea, erloju-zuhaitza konfiguratzeko laguntzailea, energia-kontsumoaren kalkulagailua eta MCU periferikoen konfigurazioa (adibidez, GPIO edo USART) eta middleware pilak (adibidez, USB) burutzen dituen utilitatea.
    3. 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).
  • Eskuragarri dauden proiektuen zerrendarako adibidezampSTM32CubeWBArako fitxategiak, ikusi aplikazioaren oharra STM32Cube firmware adibidezampSTM32WBA serierako fitxategiak (AN5929).

Gidari aplikazioak

HAL aplikazioa
Atal honetan STM32CubeWBA erabiliz HAL aplikazio pertsonalizatu bat sortzeko beharrezkoak diren urratsak deskribatzen dira:

  1. Proiektu bat sortu
    • Proiektu berri bat sortzeko, hasi \Proiektuak\ arbel bakoitzari emandako Txantiloi proiektutik. \Tantiloiak edo eskuragarri dauden edozein proiektutatik \Proiektuak\ atalean \Adibideak edo \Proiektuak\ \Aplikazioak (non taularen izenari egiten dio erreferentzia, hala nola STM32CubeWBA).
    • Txantiloi proiektuak begizta funtzio nagusi huts bat eskaintzen du. Hala ere, abiapuntu ona da STM32CubeWBA 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 STM32WBA serieko 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-ekin. SysTick ISR inplementatu da HAL_Delay() helburuetarako.
        Oharra: Lehendik dagoen proiektu bat beste kokapen batera kopiatzean, ziurtatu sartutako bide guztiak eguneratuta daudela.
  2. Gehitu beharrezko middlewarea erabiltzailearen proiektuan (aukerakoa)
    Iturria identifikatzeko fileproiektuari gehitu beharrekoak file zerrenda, ikusi middleware bakoitzerako emandako dokumentazioa. Ikusi \Proiektuak\STM32xxx_yyy\Aplikazioak\ atalean dauden aplikazioak (non middleware pilari egiten dio erreferentzia, ThreadX adibidez) zein iturburu jakiteko files eta barne bideak gehitu behar dira.
  3. 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 eskaintzen da, eta proiektuaren karpetara kopiatu behar da (normalean konfigurazioa file xxx_conf_template.h izena du, _template hitza 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.
  4. Hasi HAL liburutegia
    Programa nagusira salto egin ondoren, aplikazio-kodeak HAL_Init() API-ra deitu behar du HAL liburutegia hasieratzeko, zeinak zeregin hauek egiten dituen:
    • Flash memoriaren prebetch-aren eta SysTick-en etenaren lehentasunaren konfigurazioa (st m32wbaxx_hal_conf.h-n definitutako makroen bidez).
    • SysTick-en konfigurazioa, stm32wbaxx_hal_conf.h-n definitutako SysTick-en etenaldi lehentasuneko TICK_INT_PRIO milisegundo bakoitzean eten bat sortzeko.
    • NVIC taldearen lehentasuna 0-n ezartzea.
    • Stm32wbaxx_hal_msp.c erabiltzailean definitutako HAL_MspInit() dei-itzulera funtzioaren deia file maila baxuko hardware hasierako globalak egiteko.
  5. 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 sistemaren erloju-iturburua, flash-memoriaren latentzia eta AHB eta APB aurre-eskalatzaileak konfiguratzen ditu.
  6. Hasieratu periferikoa
    • Lehenik eta behin idatzi HAL_PPP_MspInit funtzio periferikoa. Jarraitu honela:
      • Gaitu erloju periferikoa.
      • Konfiguratu GPIO periferikoak.
      • Konfiguratu DMA kanala eta gaitu DMA eten (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 dei-itzultzeko funtzioak, etenaldi periferikoa edo DMA erabiltzea aurreikusten bada.
    • Erabiltzaile nagusian.c file, hasieratu helduleku-egitura periferikoa, gero deitu HAL_PPP_Init() funtzioari periferikoa hasieratzeko.
  7. 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 aberatsaampSTM32CubeWBA 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, deitzen duen ISR prozesua blokeatuta dago. 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 STM32CubeWBA erabiliz LL aplikazio pertsonalizatu bat sortzeko beharrezkoak diren urratsak deskribatzen dira.

  1. Proiektu bat sortu
    • Proiektu berri bat sortzeko, hasi \Proiektuak\ arbel bakoitzari emandako Templates_LL proiektutik. \Templates_LL, edo eskuragarri dagoen edozein proiektutatik \Proiektuak\ \Adibamples_LL ( taularen izenari egiten dio erreferentzia, esate baterako, NUCLEO-WBA32CG).
    • Txantiloiaren proiektuak hutsik dagoen begizta funtzio nagusi bat eskaintzen du, STM32CubeWBA-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 STM32WBA serieko 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 definizioen abstrakzio-geruza.
        ◦ main.c: sistemaren erlojuaren konfigurazioa maiztasun maximorako.
  2. Lehendik dagoen proiektu bat beste taula batera eraman
    Lehendik dagoen proiektu bat beste helburu-taula batean laguntzeko, hasi arbel bakoitzari emandako Templates_LL proiektutik eta \Proiektuak\ atalean eskuragarri. \Txantiloiak_LL.
    • Hautatu LL adibample: LL adibampfitxategiak zabaltzen dira, ikusi LL-en zerrenda adibampSTM32CubeProjectsList.html.
  3. Portu LL adibidezample:
    • Kopiatu/itsatsi Templates_LL karpeta - hasierako iturria mantentzeko - edo zuzenean eguneratu lehendik dagoen Temp lates_LL proiektua.
    • Ondoren, portatzea, batez ere, Templates_LL ordezkatzean datza files Adibamples_LL zuzendutako proiektua.
    • Mantendu taularen zati zehatz guztiak. Argitasun arrazoiengatik, taularen zati espezifikoak espezifiko batekin markatzen dira tags:

      STMicroelectronics-STM32WBA-Series-Hasteko-irudia-7

    • Beraz, porturatzeko urrats nagusiak hauek dira:
      • Ordeztu stm32wbaxx_it.h file
      • Ordeztu stm32wbaxx_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 nagusian eskuragarri dagoen beste LDy batekin.h file.
    • Aldaketa hauekin, example orain zuzendutako taulan exekutatzen da

Segurtasun aplikazioak
Pakete hau segurtasun-aplikazioekin entregatzen da.

SBSFU aplikazioak

  • SBSFUk Root of Trust irtenbide bat eskaintzen du, Secure Boot eta Secure Firmware Update funtzionalitateak barne (MCUboot-en oinarrituta).
  • Irtenbidea aplikazioa exekutatu aurretik erabiltzen da.
  • Irtenbideak exampZerbitzu seguru baten fitxategia (GPIO txandakatzea), segurua ez den aplikaziotik isolatuta dagoena. Exekutatu orduko aplikazio seguruak oraindik erabil dezake soluzio hau.

TFM aplikazioak
TFM-k Root of Trust irtenbide bat eskaintzen du, Secure Boot eta Secure Firmware Update funtzionalitateak barne
(MCUboot-en oinarrituta). Irtenbidea aplikazioa exekutatu aurretik erabiltzen da. Irtenbideak TFM zerbitzu seguruak eskaintzen ditu, segurua ez den aplikaziotik isolatuta daudenak. Exekutatu orduko aplikazio seguruak oraindik erabil dezake soluzio hau.

RF aplikazioak
RF aplikazioa aplikazioaren ohar honetan deskribatzen da: STM32WBA serieko mikrokontrolagailuekin (AN5928) haririk gabeko aplikazioak eraikitzea.

STM32CubeWBA bertsioaren eguneratzeak eskuratzea
STM32CubeWBA MCU paketeen azken bertsioak eta adabakiak eskuragarri daude STM32WBA Series-en. STM32CubeMX-ko EGUNERATZEA EGIAZTATU botoitik berreskura daitezke. Xehetasun gehiago lortzeko, ikusi STM3CubeMX erabiltzailearen eskuliburuko 32. atala STM32 konfiguraziorako eta hasierako C kodea sortzeko (UM1718).

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.
  • Erabili al ditzaket HAL eta LL kontrolatzaileak batera? Ahal badut, zeintzuk dira mugak?
    • HAL eta LL kontrolatzaileak erabil daitezke. Erabili HAL IP 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. Adibamples_MIX adibampHAL eta LL nola nahasten diren ilustratzen du.
  • 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.
  • Nola sor dezake STM32CubeMX txertatutako softwarean oinarritutako kodea?
    STM32CubeMX-k STM32 mikrokontrolagailuen ezagutza barneratua du, erabiltzaileari irudikapen grafikoa eskaintzea eta *.h edo *.c sortzea ahalbidetzen duten periferikoak eta softwarea barne. fileerabiltzailearen konfigurazioan oinarrituta.

OHAR GARRANTZITSUA - IRAKURRI ARRETA

  • STMicroelectronics NV eta bere filialek ("ST") eskubidea dute aldaketak, zuzenketak, hobekuntzak, aldaketak eta hobekuntzak egiteko ST produktuetan eta/edo dokumentu honetan edozein unetan jakinarazi gabe. Erosleek eskaerak egin aurretik ST produktuei buruzko azken informazio garrantzitsua eskuratu behar dute. ST produktuak eskaera onartzeko unean indarrean dauden STren salmenta-baldintzen arabera saltzen dira.
  • Erosleak dira ST produktuen aukeraketa, aukeraketa eta erabileraren erantzule bakarrak eta STek ez du bere gain hartzen aplikazioen laguntzaren edo erosleen produktuen diseinuaren erantzukizunik.
  • STek ez du baimenik, espresuki edo inplizituki, jabetza intelektualeko eskubiderik ematen.
  • ST produktuen birsalmentak hemen azaltzen den informazioaz bestelako xedapenak dituztenak baliogabetuko ditu STek produktu horrengatik emandako edozein berme.
  • ST eta ST logotipoa ST-ren marka komertzialak dira. ST markei buruzko informazio gehiago lortzeko, jo www.st.com/trademarks helbidera. Gainerako produktu edo zerbitzu-izen guztiak dagozkien jabeen jabetzakoak dira.
  • Dokumentu honetako informazioak dokumentu honen aurreko edozein bertsiotan emandako informazioa ordezkatzen eta ordezkatzen du.
  • © 2023 STMicroelectronics - Eskubide guztiak erreserbatuta

Dokumentuak / Baliabideak

STMicroelectronics STM32WBA seriea Hasteko [pdfErabiltzailearen eskuliburua
STM32WBA seriea Hasteko, Hasteko, Hasteko

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *