STMicroelectronics-merki

STMicroelectronics STM32WBA Series Byrjað

STMicroelectronics-STM32WBA-Series-Getting Started-mynd-1

Upplýsingar um vöru

Tæknilýsing:

  • Vöruheiti: STM32CubeWBA MCU pakki
  • Framleiðandi: STMicroelectronics
  • Samhæfni: STM32WBA röð örstýringar
  • Leyfi: Opinn uppspretta BSD leyfi

Notkunarleiðbeiningar fyrir vöru

Helstu eiginleikar STM32CubeWBA MCU pakkans:
STM32CubeWBA MCU pakkinn veitir alla nauðsynlega innbyggða hugbúnaðaríhluti til að þróa forrit á STM32WBA röð örstýringa. Það er mjög flytjanlegt innan STM32 seríunnar og kemur með HAL og LL API, tdamples, og millivöruíhluti.

Arkitektúr lokiðview:
Arkitektúr STM32CubeWBA MCU pakkans samanstendur af þremur stigum - forritum, íhlutum sem byggjast á bókasafni og samskiptareglum, útdráttslagi vélbúnaðar, BSP rekla, kjarnarekla og láglaga API.

Algengar spurningar

  • Hvað er innifalið í STM32CubeWBA MCU pakkanum?
    Pakkinn inniheldur láglags (LL) og vélbúnaðarabstraktlags (HAL) API, tdamples, forrit, millihugbúnað eins og FileX/LevelX, NetX Duo, mbed-crypto bókasöfn og fleira.
  • Er STM32CubeWBA MCU pakkinn samhæfur við STM32CubeMX kóðarafall?
    Já, pakkinn er fullkomlega samhæfður við STM32CubeMX kóðarafallið til að búa til upphafskóða.

Inngangur

  • STM32Cube er frumlegt frumkvæði STMicroelectronics til að bæta framleiðni hönnuða verulega með því að draga úr þróunarátaki, tíma og kostnaði. STM32Cube nær yfir allt STM32 safnið.
    STM32Cube inniheldur:
    • Sett af notendavænum hugbúnaðarþróunarverkfærum til að ná yfir þróun verkefna frá getnaði til framkvæmdar, þar á meðal eru:
      • STM32CubeMX, grafískt hugbúnaðarstillingartæki sem gerir sjálfvirka myndun C frumstillingarkóða með myndrænum hjálp
      • STM32CubeIDE, allt-í-einn þróunarverkfæri með jaðarstillingar, kóðagerð, kóðasamsetningu og villuleitaraðgerðir
      • STM32CubeCLT, allt-í-einn skipanalínuþróunarverkfæri með kóðasöfnun, borðforritun og kembiforrit
      • STM32CubeProgrammer (STM32CubeProg), forritunartól fáanlegt í grafískum útgáfum og skipanalínuútgáfum
      • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), öflug eftirlitstæki til að fínstilla hegðun og afköst STM32 forrita í rauntíma
    • STM32Cube MCU og MPU pakkar, alhliða innbyggður hugbúnaðarvettvangur sem er sérstakur fyrir hverja örstýringu og örgjörva röð (eins og STM32CubeWBA fyrir STM32WBA röðina), sem innihalda:
      • STM32Cube vélbúnaðarabstraktlag (HAL), sem tryggir hámarks flytjanleika yfir STM32 eignasafnið
      • STM32Cube láglaga API, sem tryggir bestu frammistöðu og fótspor með mikilli stjórn notenda yfir vélbúnaði
      • Samræmt sett af millihugbúnaðaríhlutum eins og ThreadX, FileX / LevelX, NetX Duo, USBX, snertisafn, mbed-crypto, TFM, MCUboot, OpenBL og STM32_WPAN (þar á meðal Bluetooth® Low Energy profiles og þjónustu, Mesh, Zigbee®, OpenThread, Matter og 802.15.4 MAC lag)
      • Öll innbyggð hugbúnaðarforrit með fullum settum af jaðartækjum og tdamples
    • STM32Cube stækkunarpakkar, sem innihalda innbyggða hugbúnaðarhluta sem bæta við virkni STM32Cube MCU og MPU pakka með:
      • Millibúnaðarviðbætur og forritalög
      • Examples sem keyra á sumum tilteknum STMicroelectronics þróunartöflum
  • Þessi notendahandbók lýsir því hvernig á að byrja með STM32CubeWBA MCU pakkanum.
    • Hluti 2 STM32CubeWBA helstu eiginleikar lýsir helstu eiginleikum STM32CubeWBA MCU pakkans.
    • Kafla 3 STM32CubeWBA arkitektúr lokiðview veitir yfirview af STM32CubeWBA arkitektúr og MCU pakka uppbyggingu.

Almennar upplýsingar

STM32CubeWBA MCU pakkinn keyrir á STM32 32 bita örstýringum sem byggja á Arm® Cortex®-M33 örgjörva með Arm® TrustZone® og FPU.
Athugið: Arm og TrustZone eru skráð vörumerki Arm Limited (eða dótturfélaga þess) í Bandaríkjunum og/eða annars staðar.

STM32CubeWBA helstu eiginleikar

  • STM32CubeWBA MCU pakkinn keyrir á STM32 32 bita örstýringum sem byggja á Arm® Cortex®-M33 örgjörva með TrustZone® og FPU.
  • STM32CubeWBA safnar saman, í einum pakka, öllum almennum innbyggðum hugbúnaðarhlutum sem þarf til að þróa forrit fyrir STM32WBA röð örstýringa. Í samræmi við STM32Cube frumkvæði er þetta sett af íhlutum mjög flytjanlegt, ekki aðeins innan STM32WBA röð örstýringanna heldur einnig til annarra STM32 röð.
  • STM32CubeWBA er fullkomlega samhæft við STM32CubeMX kóða rafall, til að búa til upphafskóða. Pakkinn inniheldur láglags (LL) og vélbúnaðarabstraktlags (HAL) API sem ná yfir örstýringarvélbúnaðinn, ásamt miklu safni af fyrrverandiamples í gangi á STMicroelectronics borðum. HAL og LL API eru fáanleg í opnu BSD leyfi fyrir notendaþægindi.
  • STM32CubeWBA MCU pakkinn inniheldur einnig alhliða millihugbúnað sem er smíðaður í kringum Microsoft® Azure® RTOS millihugbúnað, og aðra innbyggða og opna uppspretta stafla, með samsvarandi fyrrverandiamples.
  • Þeir koma með ókeypis, notendavænum leyfisskilmálum:
    • Innbyggt og fullkomið Azure® RTOS: Azure® RTOS ThreadX
    • CMSIS-RTOS útfærsla með Azure® RTOS ThreadX
    • USB gestgjafi og tækjastafla koma með mörgum flokkum: Azure® RTOS USBX
    • Ítarlegri file kerfi og flassþýðingarlag: FileX / LevelX
    • Netstafla í iðnaðarflokki: fínstilltur fyrir frammistöðu með mörgum IoT samskiptareglum: NetX Duo
    • OpenBootloader
    • Arm® Trusted Firmware-M (TF‑M) samþættingarlausn
    • mbed-crypto bókasöfn
    • ST netbókasafn
    • STMTouch snertiskynjun bókasafnslausn
  • Nokkur forrit og sýnikennsla sem útfæra alla þessa millihugbúnaðaríhluti eru einnig í STM32CubeWBA MCU pakkanum.
  • Útlit STM32CubeWBA MCU pakkans íhluta er sýnt á mynd 1. STM32CubeWBA MCU pakkans íhlutir.

    STMicroelectronics-STM32WBA-Series-Getting Started-mynd-2

STM32CubeWBA arkitektúr lokiðview

STM32CubeWBA MCU pakkalausnin er byggð í kringum þrjú sjálfstæð stig sem eiga auðvelt með að hafa samskipti eins og lýst er á mynd 2. STM32CubeWBA MCU pakkaarkitektúr.

STMicroelectronics-STM32WBA-Series-Getting Started-mynd-3

Stig 0

Þetta stig er skipt í þrjú undirlög:

  • Stjórnarstuðningspakki (BSP).
  • Vélbúnaðaruppdráttarlag (HAL):
    • HAL jaðartæki
    • Láglaga ökumenn
  • Grunnnotkun útlægra tdamples.

Stjórnarstuðningspakki (BSP)
Þetta lag býður upp á sett af API miðað við vélbúnaðarhlutana í vélbúnaðarborðunum (svo sem LCD, Audio, \ microSD™ og MEMS rekla). Það er samsett úr tveimur hlutum:

  • Bílstjóri íhluta:
    Þessi bílstjóri er tengdur ytra tækinu á borðinu en ekki STM32 tækinu. Íhlutarekillinn veitir sérstök API fyrir ytri íhluti BSP ökumanns og gæti verið flytjanlegur á hvaða öðru borði sem er.
  • BSP bílstjóri:
    BSP driverinn gerir kleift að tengja íhluta rekla við tiltekið borð og býður upp á notendavænt sett
    API. Nafnunarreglan fyrir API er BSP_FUNCT_Action().
    Example: BSP_LED_Init(), BSP_LED_On()
    BSP er byggt á mát arkitektúr sem gerir kleift að flytja á hvaða vélbúnað sem er með því að innleiða aðeins lágþreps venjur.

Vélbúnaðaruppdráttarlag (HAL) og lágt lag (LL)
STM32CubeWBA HAL og LL eru viðbót og ná yfir margs konar notkunarkröfur:

  • HAL reklarnir bjóða upp á virknimiðuð mjög flytjanleg API á háu stigi. Þeir fela MCU og útlæga flókið fyrir endanotanda.
    HAL reklarnir bjóða upp á almenn fjöltilvik eiginleikamiðuð API, sem einfalda innleiðingu notendaforrita með því að bjóða upp á ferla sem eru tilbúnir til notkunar. Til dæmisample, fyrir samskiptajaðartækin (I2S, UART og fleiri), býður það upp á API sem gerir kleift að frumstilla og stilla jaðartækin, stjórna gagnaflutningi á grundvelli könnunar, truflana eða DMA ferli og meðhöndla samskiptavillur sem geta komið upp í samskiptum. HAL bílstjóri API er skipt í tvo flokka:
    1. Almenn API, sem veita sameiginlegar og almennar aðgerðir fyrir alla STM32 röð örstýringa.
    2. Framlengingarforritaskil, sem veita sérstakar og sérsniðnar aðgerðir fyrir tiltekna fjölskyldu eða tiltekið hlutanúmer.
  • Láglaga API-skilin bjóða upp á lág-stig API á skráarstigi, með betri hagræðingu en minni færanleika.
    • Þeir þurfa djúpa þekkingu á MCU og jaðarforskriftum.
    • LL reklarnir eru hannaðir til að bjóða upp á hraðvirkt og létt sérfræðimiðað lag sem er nær vélbúnaðinum en HAL. Öfugt við HAL eru LL API ekki til staðar fyrir jaðartæki þar sem bjartsýni aðgangur er ekki lykileiginleiki, eða fyrir þá sem krefjast mikillar hugbúnaðarstillingar eða flókins efri stigs stafla.
    • LL reklarnir eru með:
      • Safn aðgerða til að frumstilla jaðareiginleika í samræmi við færibreyturnar sem tilgreindar eru í gagnaskipulagi.
      • Set af aðgerðum til að fylla frumstillingargagnakerfi með endurstillingargildum sem samsvara hverjum reit.
      • Virkni fyrir útlæga afinitialization (jaðarskrár endurheimtar í sjálfgefna gildi).
      • Sett af innbyggðum aðgerðum fyrir beinan aðgang og atómskráraðgang.
      • Fullt sjálfstæði frá HAL og getu til að nota í sjálfstæðum ham (án HAL rekla).
      • Full umfjöllun um studda jaðareiginleika.

Grunnnotkun útlægra tdamples
Þetta lag umlykur fyrrvamples byggð yfir STM32 jaðartækin með því að nota aðeins HAL og BSP auðlindirnar.

Stig 1

Þetta stig skiptist í tvö undirlög:

  • Millibúnaðaríhlutir
  • Examples byggt á millihugbúnaðarhlutum

Millibúnaðaríhlutir

  • Millibúnaðurinn er safn bókasöfna sem ná yfir Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
  • Matter, OpenBootloader, Microsoft® Azure® RTOS, TF-M, MCUboot og mbed-crypto.
  • Lárétt víxlverkun milli íhluta þessa lags fer fram með því að hringja í valin API.
  • Lóðrétt samskipti við láglaga reklana fara fram með sérstökum svarhringingum og kyrrstæðum fjölvi sem eru útfærðar í viðmóti bókasafnskerfisins.
  • Helstu eiginleikar hvers miðvararhluta eru sem hér segir:
    • Microsoft® Azure® RTOS
      • Azure® RTOS ThreadX: Rauntímastýrikerfi (RTOS), hannað fyrir innbyggð kerfi með tveimur virknistillingum.
        • Algeng stilling: Algeng RTOS-virkni eins og þráðastjórnun og samstilling, stjórnun minnissafns, skilaboðasendingar og meðhöndlun viðburða.
        • Einingastilling: Háþróuð notendastilling sem gerir kleift að hlaða og afferma fortengdar ThreadX einingar á flugi í gegnum einingarstjóra.
      • NetX Duo
      • FileX
      • USBX
    • Bluetooth® Low Energy (BLE): Innleiðir Bluetooth® Low Energy samskiptareglur fyrir Link og Stack lögin.
    • MCUboot (opinn hugbúnaður)
    • Zigbee® samskiptareglur fyrir stafla og tengda klasa.
    • Thread® samskiptareglur stafla og tenglalag.
    • Arm® traustur fastbúnaður-M, TF-M (opinn hugbúnaður): Tilvísunarútfærsla á öryggisarkitektúr Arm® pallsins (PSA) fyrir TrustZone® með tilheyrandi öruggri þjónustu.
    • mbed-crypto (opinn hugbúnaður): Mbed-crypto millihugbúnaðurinn býður upp á PSA dulmáls API útfærslu.
    • STM32 Snertiskynjunarsafn: Öflug STMTouch rafrýmd snertiskynjaralausn, sem styður nálægð, snertilykil, línulega og snúningssnertiskynjara. Það er byggt á sannaðri meginreglu um öflun yfirborðshleðslu.

Examples byggt á millihugbúnaðarhlutum
Hver miðvararhluti kemur með eitt eða fleiri tdamples (einnig kölluð forrit) sem sýnir hvernig á að nota það. Samþætting tdamples sem nota nokkra millihugbúnaðaríhluti eru einnig til staðar.

STM32CubeWBA vélbúnaðarpakka lokiðview

Stuðningur við STM32WBA röð tæki og vélbúnað

  • STM32Cube býður upp á mjög flytjanlegt vélbúnaðarabstraktlag (HAL) byggt í kringum almennan arkitektúr. Það gerir meginreglunni um uppbyggingu laganna, svo sem að nota millibúnaðarlagið til að útfæra virkni þeirra án þess að vita ítarlega hvaða MCU er notað. Þetta bætir endurnýtanleika bókasafnskóðans og tryggir auðveldan flutning til annarra tækja.
  • Að auki, þökk sé lagskiptri arkitektúr, býður STM32CubeWBA upp á fullan stuðning við allar STM32WBA seríur.
  • Notandinn þarf aðeins að skilgreina rétta fjölvi í stm32wbaxx.h.
  • Tafla 1 sýnir fjölvi sem á að skilgreina eftir því hvaða STM32WBA röð tæki er notað. Þetta fjölvi verður líka að vera skilgreint í forvinnsluforgjörvanum þýðanda.
    Tafla 1. Fjölvi fyrir STM32WBA röð
    Fjölvi skilgreint í stm32wbaxx.h STM32WBA röð tæki
    stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6
    stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7

     

  • STM32CubeWBA er með mikið sett af tdamplesum og forritum á öllum stigum sem gerir það auðvelt að skilja og nota hvaða HAL rekla eða millihugbúnað sem er. Þessir fyrrvamples keyrt á STMicroelectronics borðunum sem skráð eru í töflu 2.
    Tafla 2. Spjöld fyrir STM32WBA röð
    Stjórn Stjórn STM32WBA studd tæki
    NUCLEO-WBA52CG STM32WBA52CGU6
    NUCLEO-WBA55CG STM32WBA55CGU6
    STM32WBA55-DK1 STM32WBA55CGU7
  • STM32CubeWBA MCU pakkinn getur keyrt á hvaða samhæfu vélbúnaði sem er. Notandinn uppfærir einfaldlega BSP reklana til að flytja uppgefið examples á borðinu, ef það síðarnefnda hefur sömu vélbúnaðareiginleika (eins og LED, LCD skjá og hnappa).
Fastbúnaðarpakka lokiðview
  • STM32CubeWBA pakkalausnin er til staðar í einum zip pakka með uppbyggingunni sem sýnd er á mynd 3. STM32CubeWBA fastbúnaðarpakka uppbygging.

    STMicroelectronics-STM32WBA-Series-Getting Started-mynd-4

  • Fyrir hvert borð er sett af examples er með forstilltum verkefnum fyrir EWARM, MDK-ARM og STM32CubeIDE verkfærakeðjur.
  • Mynd 4. STM32CubeWBA examples yfirview sýnir uppbyggingu verkefna fyrir NUCLEO-WBA52CG, NUCLEO-WBA55CG og STM32WBA55G-DK1 töflurnar.

    STMicroelectronics-STM32WBA-Series-Getting Started-mynd-5

  • Fyrrverandiamplesar eru flokkaðar eftir STM32Cube-stigi sem þeir eiga við og eru nefndir sem hér segir:
    • Stig 0 examples eru kölluð Examples, Examples_LL, og Examples_MIX. Þeir nota hvor um sig HAL rekla, LL rekla, og blöndu af HAL og LL rekla án nokkurs millihugbúnaðarhluta.
    • Stig 1 exampLesin eru kölluð forrit. Þau bjóða upp á dæmigerð notkunartilvik hvers millihugbúnaðarhluta. Hægt er að smíða hvaða fastbúnaðarforrit sem er fyrir tiltekið borð á fljótlegan hátt þökk sé sniðmátsverkefnum sem eru í boði í Templ ates og Templates_LL möppunum.

TrustZone® virkjuð verkefni

  • TrustZone® virkt ExampLes nöfn innihalda _TrustZone forskeytið. Reglunni er einnig beitt fyrir umsóknir (nema fyrir TFM og SBSFU, sem eru innfædd fyrir TrustZone®).
  • TrustZone®-virkt Examples og umsóknir eru með fjölverkefnauppbyggingu sem samanstendur af öruggum og óöruggum undirverkefnum eins og sýnt er á mynd 5. Örugg og óörugg verkefnauppbygging fjölverkefna.
  • TrustZone®-virk verkefni eru þróuð í samræmi við CMSIS-5 tækjasniðmátið, útvíkkað til að innihalda kerfisskiptingarhausinn file skipting_ .h, sem er aðallega ábyrgur fyrir uppsetningu á öruggu eigindaeiningunni (SAU), FPU og úthlutun öruggra/óöruggra truflana í öruggu framkvæmdarástandi.
  • Þessi uppsetning er framkvæmd í öruggu CMSIS SystemInit() aðgerðinni, sem er kallað við ræsingu áður en farið er inn í örugga forritið main() aðgerðina. Sjá Arm® TrustZone®-M skjöl um hugbúnaðarleiðbeiningar.

    STMicroelectronics-STM32WBA-Series-Getting Started-mynd-6

  • STM32CubeWBA fastbúnaðarpakkinn veitir sjálfgefna minni skiptingu í skiptingunni _ .h files fáanlegt undir: \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T sniðmát
  • Í þessum skiptingum files, SAU er sjálfgefið óvirkt. Þar af leiðandi er IDAU minniskortlagningin notuð fyrir öryggisúthlutun. Sjá mynd Örugg/óörugg skipting með TrustZone® tækni í RM0495 tilvísunarhandbókinni.
  • Ef notandinn virkjar SAU, er sjálfgefin SAU svæðisstilling forskilgreind í skiptingunni files sem hér segir:
    • SAU svæði 0: 0x08080000 – 0x081FFFFF (óöruggur öruggur helmingur flassminni (512 Kbæti))
    • SAU svæði 1: 0x0BF88000 – 0x0BF97FFF (óöruggt kerfisminni)
    • SAU svæði 2: 0x0C07E000 – 0x0C07FFFF (öruggt, óöruggt hringt)
    • SAU svæði 3: 0x20010000 – 0x2001FFFF (óöruggt SRAM2 (64 Kbæti))
    • SAU svæði 4: 0x40000000 – 0x4FFFFFFF (óöruggt útlægt kortlagt minni)
  • Til að passa við sjálfgefna skiptinguna verða tækin í STM32WBAxx röðinni að hafa eftirfarandi notendavalkostabæti stillt:
    • TZEN = 1 (TrustZone®-virkt tæki)
    • SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (64 af 128 síðum af innra flassminni stillt sem öruggt) Athugið: Innra flassminni er sjálfgefið að fullu öruggt í TZEN = 1. Notendavalsbætin SECWM1_PSTRT/ SECWM1_PEND verða að vera stillt í samræmi við forritið minnisstillingar (SAU svæði, ef SAU er virkt). Örugg/óörugg forritaverkefnatengsl files verður einnig að vera í takt.
  • Allt úramples hafa sömu uppbyggingu:
    • \Inc mappa sem inniheldur alla hausa files.
    • Src mappa sem inniheldur frumkóðann.
    • \EWARM, \MDK-ARM og \STM32CubeIDE möppur sem innihalda forstillt verkefni fyrir hverja verkfærakeðju.
    • readme.md og readme.html sem lýsa fyrrverandiamphegðun og nauðsynlegt umhverfi til að það virki.
    • ioc file sem gerir notendum kleift að opna mestan hluta vélbúnaðarins tdamples innan STM32CubeMX.

Að byrja með STM32CubeWBA

Að keyra fyrsta HAL fyrrverandiample

Þessi hluti útskýrir hversu einfalt það er að keyra fyrsta example innan STM32CubeWBA. Það notar sem skýringarmynd framleiðslu á einföldum LED rofi sem keyrir á NUCLEO-WBA52CG borðinu:

  1. Sæktu STM32CubeWBA MCU pakkann.
  2. Taktu það niður í möppu að eigin vali.
  3. Gakktu úr skugga um að breyta ekki pakkaskipulaginu sem sýnt er á mynd 1. Einnig er mælt með því að afrita pakkann á stað nálægt rótarmagninu þínu (sem þýðir C:\ST eða G:\Tests), þar sem sumar IDE-tæki lenda í vandræðum þegar slóðin lengdin er of löng.

Að keyra fyrsta TrustZone® virkt tdample

  • Áður en þú hleður og keyrir TrustZone® virkt tdample, það er skylda að lesa fyrrvamples mig file fyrir hvers kyns sérstaka uppsetningu, sem tryggir að öryggið sé virkt eins og lýst er í kafla 4.2.1 TrustZone® virkjuð verkefni (TZEN=1 (notendavalkostur bæti)).
    1. Flettu í \Projects\NUCLEO-WBA52CG\Examples.
    2. Opnaðu \GPIO, síðan \GPIO_IOToggle_TrustZone möppur.
    3. Opnaðu verkefnið með valinn verkfærakeðju. Stutt yfirview um hvernig á að opna, byggja og reka fyrrverandiampLeið með studdu verkfærakeðjunum er gefið upp hér að neðan.
    4. Endurbyggðu í röð öll örugg og óörugg verkefni files og hlaðið öruggum og óöruggum myndum inn í markminnið.
    5. Keyrðu fyrrverandiample: reglulega breytir örugga forritinu LD2 á hverri sekúndu og óörugga forritið breytir LD3 tvisvar sinnum hraðar. Fyrir frekari upplýsingar, vísa til readme file af fyrrverandiample.
  • Til að opna, smíða og keyra fyrrverandiampLeið með studdu verkfærakeðjunum skaltu fylgja skrefunum hér að neðan:
    • VARM:
      1. Undir fyrrvample mappa, opnaðu \EWARM undirmöppuna.
      2. Ræstu Project.eww vinnusvæðið
      3. Endurbyggðu xxxxx_S örugga verkefnið files: [Verkefni]>[Endurbyggja allt].
      4. Stilltu xxxxx_NS óörugga verkefnið sem Virkt forrit (hægrismelltu á xxxxx_NS verkefnið [Setja sem virkt])
      5. Endurbyggðu xxxxx_NS óörugga verkefnið files: [Verkefni]>[Endurbyggja allt].
      6. Flassaðu óörugga tvöfaldinn með [Project]>[Download]>[Download virku forriti] .
      7. Stilltu xxxxx_S sem virkt forrit (hægrismelltu á xxxxx_S verkefnið [Setja sem virkt].
      8. Flassaðu örugga tvöfaldann með [Hlaða niður og villuleit] (Ctrl+D).
      9. Keyra forritið: [Kembi]>[Go(F5)]
    • MDK-ARM:
      1. Opnaðu \MDK-ARM verkfærakeðjuna.
      2. Opnaðu Multiprojects vinnusvæðið file Project.uvmpw.
      3. Veldu xxxxx_s verkefnið sem virkt forrit ([Setja sem virkt verkefni]).
      4. Byggðu xxxxx_s verkefnið.
      5. Veldu xxxxx_ns verkefnið sem virkt verkefni ([Setja sem virkt verkefni]).
      6. Byggðu xxxxx_ns verkefnið.
      7. Hladdu óörugga tvíliðanum ([F8]). Þetta hleður niður \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf í flash-minni)
      8. Veldu Project_s verkefnið sem virkt verkefni ([Setja sem virkt verkefni]).
      9. Hladdu öruggu tvíliðanum ([F8]). Þetta hleður niður \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf í flassminni).
      10. Keyrðu fyrrverandiample.
    • STM32CubeIDE:
      1. Opnaðu STM32CubeIDE verkfærakeðjuna.
      2. Opnaðu Multiprojects vinnusvæðið file .verkefni.
      3. Endurbyggðu xxxxx_Secure verkefnið.
      4. Endurbyggðu xxxxx_NonSecure verkefnið.
      5. Ræstu [Kembiforritið sem STM32 Cortex-M C/C++] forritið fyrir örugga verkefnið.
      6. Í glugganum [Breyta stillingum] skaltu velja [Startup] spjaldið og bæta við hlaða myndinni og táknum óörugga verkefnisins.
        Mikilvægt: Óörugga verkefnið verður að vera hlaðið fyrir örugga verkefnið.
      7. Smelltu á [Í lagi].
      8. Keyrðu fyrrverandiamples um villuleitarsjónarmið.

Að keyra fyrsta TrustZone® óvirka tdample

  • Áður en þú hleður og keyrir TrustZone® óvirkt tdample, það er skylda að lesa fyrrvamples mig file fyrir sérstakar stillingar. Ef það er ekkert sérstaklega nefnt skaltu ganga úr skugga um að öryggið sé óvirkt á borðtækinu (TZEN=0 (notendavalkostur bæti)). Sjá algengar spurningar til að gera valfrjálsa afturför í TZEN = 0
    1. Flettu í \Projects\NUCLEO-WBA52CG\Examples.
    2. Opnaðu \GPIO, síðan \GPIO_EXTI möppur.
    3. Opnaðu verkefnið með valinn verkfærakeðju. Stutt yfirview um hvernig á að opna, byggja og reka fyrrverandiampLeið með studdu verkfærakeðjunum er gefið upp hér að neðan.
    4. Endurbyggja allt files og hlaðið myndinni inn í markminnið.
    5. Keyrðu fyrrverandiample: Í hvert sinn sem ýtt er á [USER] þrýstihnappinn breytist LD1 LED. Fyrir frekari upplýsingar, vísa til readme file af fyrrverandiample.
  • Til að opna, smíða og keyra fyrrverandiampLeið með studdu verkfærakeðjunum skaltu fylgja skrefunum hér að neðan:
    • VARM:
      1. Undir fyrrvample mappa, opnaðu \EWARM undirmöppuna.
      2. Ræstu Project.eww vinnusvæðið (heiti vinnusvæðisins gæti breyst úr einu tdample til annars).
      3. Endurbyggja allt files: [Verkefni]>[Endurbyggja allt].
      4. Hladdu verkefnismyndinni: [Project]>[Kembiforrit].
      5. Keyra forrit: [Kembi]>[Go (F5)].
    • MDK-ARM:
      1. Undir fyrrvampí möppunni, opnaðu \MDK-ARM undirmöppuna.
      2. Ræstu Project.uvproj vinnusvæðið (heiti vinnusvæðisins gæti breyst úr einu tdample til annars).
      3. Endurbyggja allt files:[Verkefni]>[Endurbyggja allt skotmark files].
      4. Hladdu verkefnismyndinni: [Kembiforrit]>[Byrja/stöðva villuleit].
      5. Keyra forrit: [Kembi]>[Keyra (F5)].
    • STM32CubeIDE:
      1. Opnaðu STM32CubeIDE verkfærakeðjuna.
      2. Smellur [File]>[Skipta um vinnusvæði]>[Annað] og flettu í STM32CubeIDE vinnusvæðisskrána.
      3. Smellur [File]>[Flytja inn] , veldu [Almennt]>[Núverandi verkefni í vinnusvæði] og smelltu svo á [Næsta].
      4. Skoðaðu STM32CubeIDE vinnusvæðisskrána og veldu verkefnið.
      5. Endurbyggja allt verkefni files: Veldu verkefnið í [Project Explorer] glugganum og smelltu síðan á [Project]>[Build project] valmyndina.
      6. Keyra forritið: [Run]>[Kembiforrit (F11)]
Að þróa sérsniðið forrit

Athugið: Hugbúnaður verður að virkja leiðbeiningaskyndiminni (ICACHE) til að fá 0 biðstöðu keyrslu úr flassminni og ná hámarksafköstum og betri orkunotkun.

Notkun STM32CubeMX til að þróa eða uppfæra forrit

  • Í STM32CubeWBA MCU pakkanum eru næstum öll verkefni tdampmyndir eru búnar til með STM32CubeMX tólinu til að frumstilla kerfið, jaðartæki og millibúnað.
  • Bein notkun á fyrirliggjandi verkefni tdample frá STM32CubeMX tólinu krefst STM32CubeMX 6.10.0 eða hærra:
    • Eftir uppsetningu STM32CubeMX, opnaðu og ef nauðsyn krefur uppfærðu fyrirhugað verkefni. Einfaldasta leiðin til að opna fyrirliggjandi verkefni er að tvísmella á *.ioc file þannig að STM32CubeMX opnar sjálfkrafa verkefnið og uppruna þess files.
    • STM32CubeMX býr til upphafskóða slíkra verkefna. Aðal frumkóði forritsins er að finna í athugasemdunum „USER CODE BEGIN“ og „USER CODE END“. Ef IP vali og stillingum er breytt, uppfærir STM32CubeMX frumstillingarhluta kóðans en varðveitir frumkóða aðalforritsins.
  • Til að þróa sérsniðið verkefni í STM32CubeMX, fylgdu skref-fyrir-skref ferlinu:
    1. Veldu STM32 örstýringuna sem passar við nauðsynlegt sett af jaðartækjum.
    2. Stilltu allan nauðsynlegan innbyggðan hugbúnað með því að nota pinout-átakaleysi, klukkutrésstillingarhjálp, orkunotkunarreiknivél og tólið sem framkvæmir MCU jaðarstillingar (eins og GPIO eða USART) og millihugbúnaðarstafla (eins og USB).
    3. Búðu til frumstillingar C kóða byggt á völdum uppsetningu. Þessi kóði er tilbúinn til notkunar innan nokkurra þróunarumhverfa. Notendakóði er geymdur við næstu kóða kynslóð.
  • Nánari upplýsingar um STM32CubeMX er að finna í notendahandbók STM32CubeMX fyrir STM32 uppsetningu og frumstillingu C kóða kynslóð (UM1718).
  • Fyrir lista yfir tiltæk verkefni tdamples fyrir STM32CubeWBA, sjáðu umsóknarskýrsluna STM32Cube vélbúnaðar ex.amples fyrir STM32WBA röð (AN5929).

Bílstjóri forrit

HAL umsókn
Þessi hluti lýsir skrefunum sem þarf til að búa til sérsniðið HAL forrit með STM32CubeWBA:

  1. Búðu til verkefni
    • Til að búa til nýtt verkefni, byrjaðu annaðhvort frá sniðmátsverkefninu sem gefið er upp fyrir hvert borð undir \Projects\ \Sniðmát eða úr hvaða tiltæku verkefni sem er undir \Verkefni\ \Dæmi eða \Verkefni\ \Umsóknir (hvar vísar til nafns borðs, eins og STM32CubeWBA).
    • Sniðmátsverkefnið býður upp á tóma aðallykkjuaðgerð. Hins vegar er það góður upphafspunktur til að skilja STM32CubeWBA verkefnastillingarnar. Sniðmátið hefur eftirfarandi eiginleika:
      • Það inniheldur HAL frumkóðann, CMSIS og BSP rekla, sem eru lágmarksþáttur sem þarf til að þróa kóða á tilteknu borði.
      • Það inniheldur meðfylgjandi slóðir fyrir alla vélbúnaðarhlutana.
      • Það skilgreinir studd STM32WBA röð tæki, sem gerir kleift að stilla CMSIS og HAL reklana á réttan hátt.
      • Það veitir notanda tilbúinn til notkunar fileer forstillt eins og sýnt er hér að neðan:
        HAL frumstillt með sjálfgefnum tímagrunni með Arm® kjarna SysTick. SysTick ISR útfært í HAL_Delay() tilgangi.
        Athugið: Þegar núverandi verkefni er afritað á annan stað, vertu viss um að allar slóðir sem fylgja með séu uppfærðar.
  2. Bættu nauðsynlegum millihugbúnaði við notendaverkefnið (valfrjálst)
    Til að bera kennsl á upprunann files að bætast við verkefnið file lista, sjá skjölin sem fylgja fyrir hvern millihugbúnað. Sjá umsóknir undir \Verkefni\STM32xxx_ááá\Umsóknir\ (hvar vísar til millihugbúnaðarstafla, eins og ThreadX) til að vita hvaða uppspretta files og innihalda slóðir verður að bæta við.
  3. Stilltu vélbúnaðarhlutana
    HAL og millihugbúnaðarhlutirnir bjóða upp á sett af stillingarvalkostum fyrir byggingartíma með því að nota fjölva #define sem lýst er yfir í haus file. Uppsetning sniðmáts file er að finna í hverjum hluta, sem þarf að afrita í verkefnamöppuna (venjulega stillingarnar file heitir xxx_conf_template.h, þarf að fjarlægja orðið _template þegar það er afritað í verkefnamöppuna). Stillingin file veitir nægar upplýsingar til að skilja áhrif hvers stillingarvalkosts. Nánari upplýsingar er að finna í fylgiskjölunum fyrir hvern íhlut.
  4. Ræstu HAL bókasafnið
    Eftir að hafa hoppað yfir í aðalforritið verður forritskóðinn að kalla HAL_Init() API til að frumstilla HAL bókasafnið, sem framkvæmir eftirfarandi verkefni:
    • Stilling á forsækni flassminni og SysTick truflunarforgang (með fjölvi skilgreind í st m32wbaxx_hal_conf.h).
    • Stilling SysTick til að búa til truflun á millisekúndu hverri við SysTick truflunarforganginn TICK_INT_PRIO sem er skilgreindur í stm32wbaxx_hal_conf.h.
    • Stilling á NVIC hópforgangi á 0.
    • Kalla á HAL_MspInit() svarhringingaraðgerð skilgreind í stm32wbaxx_hal_msp.c notanda file til að framkvæma alþjóðlegar frumstillingar vélbúnaðar á lágu stigi.
  5. Stilltu kerfisklukkuna
    Stilling kerfisklukkunnar er gerð með því að hringja í tvö API sem lýst er hér að neðan:
    • HAL_RCC_OscConfig(): þetta API stillir innri og ytri sveifluna. Notandinn velur að stilla einn eða alla sveifluna.
    • HAL_RCC_ClockConfig(): þetta API stillir uppsprettu kerfisklukkunnar, leynd í flassminni og AHB og APB forskala.
  6. Frumstilla jaðartæki
    • Skrifaðu fyrst útlæga HAL_PPP_MspInit aðgerðina. Haltu áfram sem hér segir:
      • Virkjaðu jaðarklukkuna.
      • Stilltu útlægu GPIOs.
      • Stilltu DMA rásina og virkjaðu DMA truflun (ef þörf krefur).
      • Virkjaðu jaðarrof (ef þörf krefur).
    • Breyttu stm32xxx_it.c til að hringja í nauðsynlega truflunarstjóra (jaðartæki og DMA), ef þörf krefur.
    • Skrifa ferli heill afturhringingaraðgerðir, ef fyrirhugað er að nota jaðartruflun eða DMA.
    • Í notanda main.c file, frumstillið uppbyggingu jaðarhandfangsins og hringdu síðan í aðgerðina HAL_PPP_Init() til að frumstilla jaðarbúnaðinn.
  7. Þróaðu forrit
    • Á þessu stage, kerfið er tilbúið og þróun notendaforritakóða getur hafist.
    • HAL veitir leiðandi og tilbúinn API til að stilla jaðartækin. Það styður skoðanakönnun, truflanir og DMA forritunarlíkan, til að mæta öllum umsóknarkröfum. Fyrir frekari upplýsingar um hvernig á að nota hvert jaðartæki, vísa til ríka fyrrverandiampsettið sem fylgir STM32CubeWBA MCU pakkanum.
      Varúð: Í sjálfgefna HAL útfærslu er SysTick tímamælirinn notaður sem tímagrunnur: hann býr til truflanir með reglulegu millibili. Ef HAL_Delay() er kallað frá útlæga ISR ferlinu, vertu viss um að SysTick truflunin hafi hærri forgang (tölulega lægri) en jaðartruflun. Annars er ISR ferli þess sem hringir læst. Aðgerðir sem hafa áhrif á tímagrunnsstillingar eru lýstar sem __veikar til að gera hnekkingu mögulega ef um er að ræða aðrar útfærslur í notandanum file (með því að nota almennan tímamæli, tdample, eða önnur tímauppspretta). Fyrir frekari upplýsingar, sjá HAL_TimeBase tdample.

LL umsókn
Þessi hluti lýsir skrefunum sem þarf til að búa til sérsniðið LL forrit með því að nota STM32CubeWBA.

  1. Búðu til verkefni
    • Til að búa til nýtt verkefni skaltu annað hvort byrja á Templates_LL verkefninu sem gefið er upp fyrir hvert borð undir \Projects\ \Templates_LL, eða úr hvaða tiltæku verkefni sem er undir \Projects\ \Tdamples_LL ( vísar til nafns stjórnar, svo sem NUCLEO-WBA32CG).
    • Sniðmátsverkefnið býður upp á tóma aðallykkjuaðgerð, sem er góður upphafspunktur til að skilja verkstillingar fyrir STM32CubeWBA. Helstu eiginleikar sniðmáts eru eftirfarandi:
      • Það inniheldur frumkóða LL og CMSIS rekla, sem eru lágmarksþáttur sem þarf til að þróa kóða á tilteknu borði.
      • Það inniheldur meðfylgjandi slóðir fyrir alla nauðsynlega fastbúnaðarhluta.
      • Það velur studd STM32WBA röð tæki og leyfir rétta stillingu CMSIS og LL rekla.
      • Það veitir notanda tilbúinn til notkunar files sem eru forstillt sem hér segir:
        ◦ main.h: LED og USER_BUTTON skilgreiningu útdráttslag.
        ◦ main.c: Kerfisklukkustilling fyrir hámarkstíðni.
  2. Flytja núverandi verkefni yfir á annað borð
    Til að styðja fyrirliggjandi verkefni á öðru markborði, byrjaðu á Templates_LL verkefninu sem gefið er upp fyrir hvert borð og er fáanlegt undir \Projects\ \Templates_LL.
    • Veldu LL example: Til að finna töfluna sem LL fyrrvamplesum er dreift, sjá lista yfir LL examples STM32CubeProjectsList.html.
  3. Port the LL example:
    • Afritaðu/límdu Templates_LL möppuna – til að halda upprunalegu upprunanum – eða uppfærðu beint núverandi Temp lates_LL verkefni.
    • Þá felst flutningur aðallega í því að skipta um Templates_LL files eftir Examples_LL markviss verkefni.
    • Geymdu alla bretti sérstaka hluta. Til glöggvunar eru tilteknir hlutar borðs merktir með sérstökum tags:

      STMicroelectronics-STM32WBA-Series-Getting Started-mynd-7

    • Þannig eru helstu flutningsskrefin eftirfarandi:
      • Skiptu um stm32wbaxx_it.h file
      • Skiptu um stm32wbaxx_it.c file
      • Skiptu um aðal.h file og uppfærðu það: Haltu LED og notandahnappaskilgreiningunni á LL sniðmátinu undir BOARD SÉRSTÖK SAMSTILLING tags.
      • Skiptu um aðal.c file og uppfærðu það:
    • Haltu klukkustillingunni á SystemClock_Config() LL sniðmátsaðgerðinni undir BOARD SPECIFIC CONFIGURATION tags.
    • Það fer eftir LED skilgreiningunni, skiptu hverju LDx tilviki út fyrir annað LDy sem er tiltækt í aðal.h file.
    • Með þessum breytingum hefur fyrrvample nú keyrir á markhópnum

Öryggisforrit
Þessi pakki er afhentur með öryggisforritum.

SBSFU umsóknir

  • SBSFU býður upp á Root of Trust lausn, þar á meðal Secure Boot og Secure Firmware Update virkni (byggt á MCUboot).
  • Lausnin er notuð áður en forritið er keyrt.
  • Lausnin veitir fyrrverandiample af öruggri þjónustu (GPIO toggle), sem er einangruð frá óörugga forritinu. Óörugga forritið á keyrslutíma getur samt notað þessa lausn.

TFM forrit
TFM býður upp á Root of Trust lausn þar á meðal Secure Boot og Secure Firmware Update virkni
(byggt á MCUboot). Lausnin er notuð áður en forritið er keyrt. Lausnin veitir TFM örugga þjónustu sem er einangruð frá óörugga forritinu. Óörugga forritið á keyrslutíma getur samt notað þessa lausn.

RF umsóknir
RF forritinu er lýst í þessari umsóknarskýringu: Byggja þráðlaus forrit með STM32WBA röð örstýringum (AN5928).

Að fá STM32CubeWBA útgáfuuppfærslur
Nýjustu útgáfur og plástrar af STM32CubeWBA MCU pakka eru fáanlegar frá STM32WBA seríunni. Hægt er að sækja þær frá hnappinum ATHÉGJA UPPFÆRSLA í STM32CubeMX. Fyrir frekari upplýsingar, sjá kafla 3 í notendahandbók STM32CubeMX fyrir STM32 stillingar og frumstillingu C kóða kynslóð (UM1718).

Algengar spurningar

  • Hvenær ætti ég að nota HAL í stað LL rekla?
    • HAL ökumenn bjóða upp á hágæða og virknimiðuð API, með háu stigi færanleika. Flækjustig vöru eða jaðar er falið fyrir endanotendur.
    • LL reklar bjóða upp á lág-lags skráarstig API, með betri hagræðingu en minna flytjanlegur. Þeir krefjast ítarlegrar þekkingar á vöru- eða IP forskriftum.
  • Get ég notað HAL og LL rekla saman? Ef ég get, hverjar eru takmarkanirnar?
    • Það er hægt að nota bæði HAL og LL rekla. Notaðu HAL fyrir IP frumstillingarstigið og stjórnaðu síðan I/O aðgerðunum með LL rekla.
    • Helsti munurinn á HAL og LL er að HAL ökumenn þurfa að búa til og nota handföng fyrir rekstrarstjórnun á meðan LL ökumenn starfa beint á jaðarskrám. Fyrrverandiamples_MIX example sýnir hvernig á að blanda HAL og LL.
  • Hvernig eru LL frumstillingarforritaskil virkjuð?
    • Skilgreining á LL frumstillingarforritaskilum og tengdum tilföngum (mannvirki, bókstafir og frumgerðir) er skilyrt af USE_FULL_LL_DRIVER safnrofanum.
    • Til að geta notað LL frumstillingarforritaskil, bættu þessum rofa við í forvinnsluforritara verkfærakeðjuþýðanda.
  • Hvernig getur STM32CubeMX búið til kóða byggt á innbyggðum hugbúnaði?
    STM32CubeMX hefur innbyggða þekkingu á STM32 örstýringum, þar með talið jaðartæki þeirra og hugbúnaði sem gerir notandanum kleift að útvega myndræna framsetningu og búa til *.h eða *.c files byggt á uppsetningu notenda.

MIKILVÆG TILKYNNING - LESIÐU VARLEGA

  • STMicroelectronics NV og dótturfélög þess („ST“) áskilja sér rétt til að gera breytingar, leiðréttingar, endurbætur, breytingar og endurbætur á ST vörum og/eða þessu skjali hvenær sem er án fyrirvara. Kaupendur ættu að fá nýjustu viðeigandi upplýsingar um ST vörur áður en þeir leggja inn pantanir. ST vörur eru seldar í samræmi við söluskilmála ST sem eru í gildi þegar pöntun er staðfest.
  • Kaupendur bera einir ábyrgð á vali, vali og notkun ST vara og ST tekur enga ábyrgð á umsóknaraðstoð eða hönnun vöru kaupenda.
  • Ekkert leyfi, óbeint eða óbeint, til nokkurs hugverkaréttar er veitt af ST hér.
  • Endursala á ST vörum með öðrum ákvæðum en upplýsingarnar sem settar eru fram hér ógilda alla ábyrgð sem ST veitir fyrir slíka vöru.
  • ST og ST merkið eru vörumerki ST. Frekari upplýsingar um ST vörumerki er að finna á www.st.com/trademarks. Öll önnur vöru- eða þjónustuheiti eru eign viðkomandi eigenda.
  • Upplýsingar í þessu skjali koma í stað og koma í stað upplýsinga sem áður hafa verið gefnar í fyrri útgáfum þessa skjals.
  • © 2023 STMicroelectronics – Allur réttur áskilinn

Skjöl / auðlindir

STMicroelectronics STM32WBA Series Byrjað [pdfNotendahandbók
STM32WBA Series Byrjað, byrjað, byrjað

Heimildir

Skildu eftir athugasemd

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru merktir *