STMicroelectronics-merki

STMicroelectronics STM32U0 Series Original Initiative Bætir framleiðni hönnuða

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-product

Tæknilýsing

  • Vöruheiti: STM32CubeU0
  • Samhæfni: STM32U0 röð örstýringar
  • Eiginleikar: RTOS, USB tækjastafla, File Kerfi, Flash Memory Translation Layer, Middleware Components
  • Leyfi: Opinn uppspretta BSD leyfi

Notkunarleiðbeiningar fyrir vöru

Yfirview af STM32CubeU0

STM32CubeU0 er alhliða pakki sem inniheldur innbyggða hugbúnaðarhluta til að þróa forrit á STM32U0 röð örstýringa. Það er mjög flytjanlegt og samhæft við aðrar STM32 seríur.

Helstu eiginleikar

Pakkinn inniheldur láglags (LL) og vélbúnaðarabstraktlags (HAL) API sem ná yfir vélbúnað örstýringar, ásamt miklu safni af fyrrverandiamples. Það er einnig með samþættan RTOS, USB-tækjastafla, file kerfisstuðningur og ýmis bókasöfn.

Arkitektúr lokiðview

Arkitektúrinn er byggður í kringum þrjú stig - Level 0 (HAL og grunn jaðartæki tdamples), 1. stig (umsóknir og bókasöfn) og 2. stig (matsnefndir og sýnikennsla).

Vélbúnaðarútdráttarlag (HAL)

  • BSP bílstjóri: Gefðu upp API fyrir vélbúnaðaríhluti á borðum eins og LCD, stýripinna osfrv.
  • Lágt lag (LL): Býður upp á grunnútlæga notkun tdamples og HAL kjarna ökumenn.

Stjórnarstuðningspakki (BSP)

Þetta lag inniheldur rekla fyrir utanaðkomandi tæki á borðinu og veitir API fyrir ytri íhluti BSP ökumanns sem geta verið færanlegir yfir mismunandi borð.

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 STM32CubeU0 fyrir STM32U0 röðina), sem innihalda:
  • STM32Cube vélbúnaðarabstraktlag (HAL), sem tryggir hámarks flytjanleika yfir STM32 eignasafnið
  • STM32Cube láglaga API, tryggja 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, USBX, snertisafn, embed-crypto, MCUboot og OpenBL
  • Ö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ð STM32CubeU0 MCU pakkanum.
Hluti 2 lýsir helstu eiginleikum STM32CubeU0 MCU pakkans.
Hluti 3 og liður 4 veita yfirview af STM32CubeU0 arkitektúr og MCU pakka uppbyggingu.

Almennar upplýsingar

Athugið

  • STM32CubeU0 forritið keyrir á STM32U0 röð 32 bita örstýringum sem byggja á Arm® Cortex®-M örgjörva.
  • Arm er skráð vörumerki Arm Limited (eða dótturfélaga þess) í Bandaríkjunum og/eða annars staðar.

STM32CubeU0 helstu eiginleikar

STM32CubeU0 safnar saman, í einum pakka, öllum almennum innbyggðum hugbúnaðarhlutum sem þarf til að þróa forrit fyrir STM32U0 röð örstýringa. Í samræmi við STM32Cube frumkvæði er þetta sett af íhlutum mjög flytjanlegt, ekki aðeins innan STM32U0 röð örstýringanna heldur einnig til annarra STM32 röð.
STM32CubeU0 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 í opnum BSD leyfi til þæginda fyrir notendur.
STM32CubeU0 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ð RTOS: ThreadX
  • CMSIS-RTOS útfærsla með FreeRTOS™ opnum uppspretta lausn
  • CMSIS-RTOS útfærsla með ThreadX
  • USB-tækjastaflar koma með mörgum flokkum: USBX
  • Ítarlegri file kerfis- og flassminni þýðingarlag: FileX/StigX
  • OpenBootloader (OpenBL)
  • MCUboot
  • mbed-crypto bókasöfn
  • STM32_Touch bókasafn

Nokkur forrit og sýnikennsla sem útfæra alla þessa miðvararíhluti eru einnig í STM32CubeU0 MCU pakkanum.
Mynd 1 sýnir útlit STM32CubeU0 MCU pakkans íhluta.

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-mynd-1

STM32CubeU0 arkitektúr lokiðview

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

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-mynd-2

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, stýripinnann og hitaskynjarann). Það er samsett úr tveimur hlutum:

  • Hluti
  • Þetta er bílstjórinn miðað við ytra tækið á borðinu en ekki STM32 tækið. Íhlutarekillinn veitir sérstök API fyrir ytri íhluti BSP ökumanns og stýrishúsi er færanlegt á hvaða annað borð sem er.
  • BSP bílstjóri
  • Það gerir kleift að tengja íhluta rekla við tiltekið borð og býður upp á sett af notendavænum 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 á hvers konar vélbúnaði með því að innleiða rútínur á lágu stigi.

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

  • HAL reklarnir bjóða upp á virknimiðaða mjög flytjanlega 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 tilbúna til notkunar. Til dæmisample, fyrir samskiptajaðartækin (I2S, UART og fleiri), býður það upp á API sem leyfa frumstillingu og stillingu jaðartækisins, stjórna gagnaflutningi byggt á könnun, truflunum eða DMA ferli og meðhöndla samskiptavillur sem geta komið upp við samskipti. HAL bílstjóri API er skipt í tvo flokka:
  • Almenn API sem veita sameiginlegar og almennar aðgerðir fyrir allar STM32 seríur.
  • 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 veita lág-stigi API á skráarstigi, með betri hagræðingu en minni flytjanleika. Þ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æðingmið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 og/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.
  • Safn aðgerða sem notuð eru til að fylla frumstillingargagnakerfi með endurstillingargildum sem samsvara hverjum reit.
  • Virkni fyrir útlæga af frumstillingu (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æðri stillingu (á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öfnum sem eru smíðaðir í kringum Microsoft® Azure® RTOS millihugbúnað og önnur innanhússsöfn (eins og OpenBL) og opinn (eins og mbed-crypto) bókasöfn. Öll eru samþætt og sérsniðin fyrir STM32 MCU tæki og auðguð með samsvarandi forriti tdamples byggt á kynningarborðum. Lárétt víxlverkun milli íhluta þessa lags er gerð með því að kalla eiginleika API á meðan lóðrétt samskipti við láglags rekla fer fram með sérstökum svarhringingum og kyrrstæðum fjölvi sem eru útfærðar í símtalaviðmóti bókasafnskerfisins.

Helstu eiginleikar hvers miðvararhluta eru sem hér segir:

  • ÞráðurX:
    Rauntímastýrikerfi (RTOS), hannað fyrir innbyggð kerfi, með tveimur virknistillingum:
    • Algeng stilling: algengar RTOS-virkni, svo sem þráðastjórnun og samstilling, stjórnun minnisafns, skilaboða og viðburðameðferð.
    • Einingahamur: háþróaður notkunarhamur sem gerir kleift að hlaða og afferma fortengdar ThreadX-einingar í gegnum einingastjóra.
  • FileX / LevelX:
    • Háþróað flass file kerfi (FS) / flassþýðingarlag (FTL): fullbúið til að styðja NAND/NOR flassminningar.
  • USBX:
    • USB-tækjastaflar koma með mörgum flokkum (USB Type-C®).
  • OpenBootloader:
    Þessi millihugbúnaðarhluti veitir opinn uppspretta ræsiforrit með nákvæmlega sömu eiginleikum og verkfærum og STM32 kerfisræsiforritið.
  • STM32 snertiskynjarasafn:
    Hugbúnaðarsafn sem notað er til að styðja við snertiskynjara með snertiskynjara stýribúnaðinum (TSC).
  • MCUboot.
  • mbed-crypto:
    Opið dulritunarsafn sem styður margs konar dulmálsaðgerðir, þar á meðal:
    • Lykilstjórnun.
    • Hashing.
    • Samhverf dulmál.
    • Ósamhverf dulmál.
    • Skilaboðaauðkenning (MAC).
    • Lyklamyndun og afleiðsla.
    • Staðfest dulkóðun með tilheyrandi gögnum (AEAD).

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.
Stig 2
Þetta stig er samsett úr einu lagi sem samanstendur af alþjóðlegri rauntíma og myndrænni sýnikennslu sem byggir á þjónustulagi millihugbúnaðar, lágstigs útdráttarlagi og grunnum jaðarnotkunarforritum fyrir borðtengda eiginleika.

Stuðningur við STM32CubeU0 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ð leyfir uppbyggingarlögreglunni, svo sem að nota millibúnaðarlagið til að útfæra virkni þeirra án þess að vita hvaða MCU er notað. Þetta bætir endurnýtanleika bókasafnskóðans og tryggir auðveldan flutning á öðrum tækjum.
  • Að auki, vegna lagskiptrar byggingarlistar, býður STM32CubeU0 upp á fullan stuðning við öll tæki í STM32U0 röð.
  • Notandinn þarf aðeins að skilgreina rétta fjölvi í stm32u0xx.h.
  • Tafla 1 sýnir hvaða fjölvi á að skilgreina, allt eftir STM32U0 röð tækisins sem notað er. Þetta fjölvi verður líka að vera skilgreint í forvinnsluforgjörvanum þýðanda.

Tafla 1. Fjölvi fyrir STM32CubeU0

Fjölvi skilgreint í stm32u0xx.h STM32U0 tæki
STM32U031x4 STM32U031F4, STM32U031K4
STM32U031x6 STM32U031F6, STM32U031K6, STM32U031C6, STM32U031R6, STM32U031G6
STM32U031x8 STM32U031F8, STM32U031K8, STM32U031C8, STM32U031R8, STM32U031G8
STM32U073x8 STM32U073K8, STM32U073H8, STM32U073C8, STM32U073R8, STM32U073M8
STM32U073xB STM32U073KB, STM32U073HB, STM32U073CB, STM32U073RB, STM32U073MB
STM32U073xC STM32U073KC, STM32U073HC, STM32U073CC, STM32U073RC, STM32U073MC
STM32U083xC STM32U083KC, STM32U083HC, STM32U083CC, STM32U083RC, STM32U083MC

STM32CubeU0 er með mikið sett af tdamplesum og forritum á öllum stigum, sem gerir það auðvelt að skilja og nota hvaða HAL rekla og/eða millihugbúnað sem er. Þessi fyrrvamples keyrt á STMicroelectronics borðunum sem skráð eru í töflu 2.
Tafla 2. Spjöld fyrir STM32CubeU0 röð

Stjórn Stuðningur STM32CubeU0 tæki
NUCLEO-U031R8 STM32U031xx
NUCLEO-U083RC STM32U073xx, STM32U083xx
STM32U083C-DK STM332U073xx, STM32U083xx

STM32CubeU0 MCU pakkinn getur keyrt á öllum samhæfum vélbúnaði. Notandinn uppfærir BSP reklana til að flytja uppgefið examples á eigið borð ef það síðarnefnda hefur sömu vélbúnaðareiginleika (eins og LED, LCD og hnappa).

MCU pakka lokiðview

STM32CubeU0 MCU pakkalausnin er veitt í einum rennilásum pakka, með uppbyggingunni sem sýnd er á mynd 3.

Mynd 3. Uppbygging STM32CubeU0 MCU pakka

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-mynd-3

Fyrir hvert borð er sett af examples er með forstilltum verkefnum fyrir EWARM, MDK-ARM og STM32CubeIDE verkfærakeðjur.
Mynd 4 sýnir uppbyggingu verkefnisins fyrir STM32U0xx_Nucleo borðið.

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-mynd-4

Fyrrverandiamplesar eru flokkaðar í samræmi við STM32Cube-stigið sem þeir eiga við og eru nefndir eins og útskýrt er hér að neðan:

  • Stig 0 examples eru kölluð „Examples", "Tdamples_LL“ og „Examples_MIX“. Þeir nota, í sömu röð, HAL rekla, LL rekla og blöndu af HAL og LL rekla án nokkurra millihugbúnaðarhluta.
  • Stig 1 examples eru kölluð forrit. Þau bjóða upp á dæmigerð notkunartilvik hvers millihugbúnaðarhluta.

Hægt er að búa til hvaða fastbúnaðarforrit sem er fyrir tiltekið borð fljótt með því að nota sniðmátsverkefnin sem eru tiltæk í Templates og Templates_LL möppunum.
Allt úramples hafa sömu uppbyggingu:

  • \Inc mappa, sem inniheldur alla hausa files.
  • \Src mappa fyrir frumkóðann.
  • \EWARM, \MDK-ARM og \STM32CubeIDE möppur, sem innihalda forstillt verkefni fyrir hverja verkfærakeðju.
  • Readme.txt file lýsir fyrrverandiamphegðun og umhverfiskröfur til að láta það virka.
  • *.ioc file, sem gerir notendum kleift að opna mestan hluta fastbúnaðarins tdamples innan STM32CubeMX (frá STM32CubeMX 6.11).

Tafla 3. Fjöldi tdamples fyrir hvert borð

Stig NUCLEO-U031R8 NUCLEO-U083RC STM32U083C-DK Samtals
Umsóknir 2 8 9 19
Sýning 0 0 1 1
Examples 28 104 30 162
Examples_LL 3 78 1 82
Examples_MIX 0 14 0 14
Sniðmát 1 1 1 3
Sniðmát_LL 1 1 1 3
Heildarverkefni 35 206 43 284

Eins og sýnt er í töflu 3 hér að ofan inniheldur STM32CubeU0 pakkinn 284 tdamplesið er sent á 3 bretti, þar af 193 einstök examples.

Að byrja með STM32CubeU0

Að keyra fyrsta fyrrverandiample
Þessi hluti útskýrir hvernig á að keyra fyrsta example á STM32U0 röð borði, kveikir á LED á NUCLEO-U083RC borðinu.

Athugið

  1. Sæktu STM32CubeU0 MCU pakkann og pakkaðu honum niður í sérstaka möppu án þess að breyta pakkaskipulaginu eins og sýnt er á mynd 3. afritaðu pakkann eins nálægt rótarmagninu og hægt er (td.ample C:\Eval eða G:\Tests) vegna þess að sumar IDE geta lent í vandræðum þegar leiðarlengdin er of löng.
  2. Flettu í \Projects\NUCLEO-U083RC\Examples.
  3. Opnaðu \GPIO, síðan \GPIO_EXTI möppurnar.
  4. 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.
  5. Endurbyggja allt files og hlaðið myndinni inn í markminnið.
  6. Keyrðu fyrrverandiample: í hvert skipti sem ýtt er á USER hnappinn breytist LED1 (fyrir frekari upplýsingar, sjá frv.amples mig file).

Til að opna, smíða og keyra fyrrverandiampLeið með studdu verkfærakeðjunum skaltu fylgja skrefunum hér að neðan.

VARM

  • Opnaðu \EWARM undirmöppuna í example mappa.
  • Ræstu Project.eww vinnusvæðið.
  • Nafn vinnusvæðis gæti verið frábrugðið einu tdample til annars.

Athugið

  • Endurbyggja allt files: [Verkefni]>[Endurbyggja allt].
  • Hlaða verkefnismynd: [Project]>[Kembiforrit].
  • Keyra forrit: [Kembi]>[Go (F5)].

MDK-ARM:

  1. Opnaðu \MDK-ARM undirmöppuna í example mappa. Ræstu verkefnið. uvprojx vinnusvæði.
  2. Nafn vinnusvæðis gæti verið frábrugðið einu tdample til annars.
  3. Endurbyggja allt files: [Verkefni]>[Endurbyggja allt skotmark files].
  4. Hlaða verkefnismynd: [Project]>[Start/Stop Debug Session].
  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 á [Næsta].
  4. Skoðaðu STM32CubeIDE vinnusvæðisskrána og veldu verkefnið.
  5. Endurbyggja allt verkefni files: veldu verkefnið í Project Explorer glugganum, smelltu síðan á [Project]>[Build project] valmyndina.
  6. Keyra forrit: [Run]>[Kembiforrit (F11)].

Að þróa sérsniðið forrit
Notkun STM32CubeMX til að þróa eða uppfæra forrit
Í STM32CubeU0 MCU pakkanum, allt tdampLe verkefni eru búin til með STM32CubeMX tólinu til að frumstilla kerfið, jaðartæki og millibúnað.
Bein notkun á núverandi frvampLe verkefni frá STM32CubeMX tólinu krefst STM32CubeMX 6.11 eða hærra.

  • Eftir uppsetningu STM32CubeMX, opnaðu og, ef nauðsyn krefur, uppfærðu fyrirhugað verkefni. Fljótlegasta leiðin til að opna fyrirliggjandi verkefni er að tvísmella á *.ioc file þannig að STM32CubeMX opnar sjálfkrafa verkefnið og uppruna þess files.
  • Frumkóði slíkra verkefna er búinn til af STM32CubeMX; 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 þessu skref-fyrir-skref ferli:

  1. Veldu STM32 örstýringuna sem passar við nauðsynlegt sett af jaðartækjum.
  2. Stilltu nauðsynlegan innbyggðan hugbúnað með því að nota pinout-átakaleysi, klukkutréstillingar, orkunotkunareiknivél og MCU jaðarstillingar sem skilar tólum (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 tdampfyrir verkefnin fyrir STM32CubeU0, sjáðu umsóknarskýrsluna STM32Cube vélbúnaðar fyrrv.amples fyrir STM32U0 seríuna (AN6063).
HAL umsókn
Þessi hluti lýsir skrefunum sem þarf til að búa til sérsniðið HAL forrit með STM32CubeU0.

  1. Búðu til verkefni
    Til að búa til nýtt verkefni skaltu annaðhvort byrja á sniðmátsverkefninu sem gefið er upp fyrir hvert borð í \Projects\ \Sniðmát, eða úr hvaða tiltæku verkefni sem er í \Projects\ \Fyrrverandiamples eða \ Verkefni\ \Umsóknir (hvar vísar til nafns stjórnar, svo sem NUCLEO-U32RC).
    Sniðmátsverkefnið býður aðeins upp á tóma aðallykkjuaðgerð, sem er góður upphafspunktur til að skilja STM32CubeU0 verkefnisstillingarnar. Sniðmátið hefur eftirfarandi eiginleika:
    • Það inniheldur HAL frumkóðann og CMSIS og BSP rekla sem mynda lágmarks sett af íhlutum sem þarf til að þróa kóða á tilteknu borði.
    • Það inniheldur slóðir fyrir alla fastbúnaðarhluta.
    • Það skilgreinir studd STM32U0 röð tæki, sem gerir kleift að stilla CMSIS og HAL rekla.
    • Það veitir notanda tilbúinn til notkunar files sem eru 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.
    • Þegar fyrirliggjandi 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 millibúnaði við verkefnið (valfrjálst)
    Tiltækir miðvararstaflar eru USBX bókasafn, Azure® RTOS, Touch Sensing. Til að bera kennsl á upprunann files að bætast við verkefnið file lista, sjá skjölin sem fylgja með hverjum miðvararhluta. Sjá forritin í \Projects\STM32xxx_yyy\Applications\ (hvar vísar til millihugbúnaðarstafla, svo sem USBX) til að vita hvaða uppspretta files og innihalda leiðir til að bæta við.
  3. Stilltu vélbúnaðarhlutana
    HAL og millihugbúnaðarhlutirnir bjóða upp á sett af stillingarvalkostum í 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, og orðið
    „_template“ þarf að fjarlægja þ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ð hringja í HAL_Init() API til að frumstilla HAL bókasafnið, sem framkvæmir eftirfarandi verkefni:
    • Stilling á forsnúningi flassminni og SysTick truflunarforgangi (með fjölvi skilgreind í stm3 2u0xx_hal_conf.h).
    • Stilling SysTick til að búa til truflun á millisekúndu hverri við SysTick truflunarforganginn TICK_INT_PRIORITY, skilgreind í stm32u0xx_hal_conf.h, sem er klukkað af MSI (á þessari s.tage, klukkan hefur ekki verið stillt enn og kerfið keyrir frá innri 16 MHz MSI).
    • Stillir forgang NVIC hópsins á 0.
    • Hringir í HAL_MspInit() svarhringingaraðgerðina sem skilgreind er í stm32u0xx_hal_msp.c notandanum 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/eða ytri sveifluna, svo og PLL uppsprettu og þætti. Notandinn velur að stilla einn eða alla sveifluna. Þeir geta sleppt PLL uppsetningunni ef ekki er þörf á að keyra kerfið á mikilli tíðni.
    – HAL_RCC_ClockConfig(): þetta API stillir uppsprettu kerfisklukkunnar, leynd í flassminni,
    AHB leikskólar, og APB leikskólarnir.
    Frumstilla jaðartæki
    • Fyrst skaltu skrifa útlægu HAL_PPP_MspInit aðgerðina með því að halda á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ðu ferlið fullkomnar svarhringingaraðgerðir ef útlæg truflun eða DMA verður notuð.
    • Í main.c, frumstilltu jaðarhandfangsbygginguna, hringdu síðan í HAL_PPP_Init() aðgerðina til að frumstilla jaðarbúnaðinn.
  6. Þ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 STM32CubeU0 MCU pakkanum.
    • Ef forritið hefur rauntímatakmarkanir, býður STM32CubeU0 upp á mikið sett af tdamplesar sem sýna hvernig á að nota FreeRTOS™ og samþætta það við alla millihugbúnaðarstafla, sem gerir það að góðum upphafspunkti til að þróa forrit

Varúð

Varúð: Í sjálfgefna HAL útfærslu er SysTick tímamælir notaður sem tímagrunnur; það myndar 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ímabasastillingar 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 eða annan tímagjafa). Fyrir frekari upplýsingar, sjá HAL_TimeBase tdample.

Umsókn

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

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ð í \Projects\ \Templates_LL eða frá hvaða tiltæku verkefni sem er í \Projects\ \Fyrrverandiample s_LL ( vísar til nafns stjórnar, svo sem NUCLEO-U32RC).
Sniðmátsverkefnið býður upp á tóma aðallykkjuaðgerð, sem er góður upphafspunktur til að skilja STM32CubeU0 verkefnastillingarnar. Sniðmátið hefur eftirfarandi eiginleika:

  • Það inniheldur frumkóða LL- og CMSIS-rekla sem mynda lágmarkssett af íhlutum sem þarf til að þróa kóða á tilteknu borði.
  • Það inniheldur slóðir fyrir alla nauðsynlega fastbúnaðarhluta.
  • Það velur studd STM32U0 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 skilgreiningarútdráttarlag.
    • main.c: kerfisklukkustilling fyrir hámarkstíðni.

Flytja núverandi verkefni yfir á annað borð

  • Byrjaðu á Templates_LL verkefninu sem gefið er upp fyrir hvert borð, fáanlegt í \Projects\ \Templates_LL mappa.
  • Veldu LL example.

Athugið: Til að finna töfluna sem LL fyrrvamplesum er dreift, sjá lista yfir LL examples í STM32CubePro jectsList.html.

Port the LL example

  • Afritaðu/límdu Templates_LL möppuna til að halda upprunalegu upprunanum, eða uppfærðu beint fyrirliggjandi Templat es_LL verkefni.
  • Skiptu út Templates_LL files með Examples_LL markvisst verkefni files.
  • Geymið alla hluta sem eru sérstakir fyrir borð. Af glöggvunarástæðum hafa borðsérstakir hlutar verið merktir með eftirfarandi sérstökum tags:

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-mynd-5

Helstu flutningsskref eru eftirfarandi:

  • Skiptu um stm32u0xx_it.h file.
  • Skiptu um stm32u0xx_it.c file.
  • Skiptu um aðal.h file og uppfærðu það. Haltu skilgreiningunni á LED og notandahnappi frá LL sniðmátinu undir „BOARD SÉRSTÖK SAMSETNING“ tags.
  • Skiptu um aðal.c file og uppfærðu það:
    • Haltu klukkustillingunni á SystemClock_Config() LL sniðmátsaðgerðinni undir
      „SÉRSTÖK STJÓÐSSETNING“ tags.
    • Það fer eftir LED skilgreiningunni, skiptu hverju LEDx tilviki út fyrir annað LEDy sem er tiltækt í aðal.h file.
      Með þessum breytingum hefur fyrrvampLe getur nú keyrt á markhópnum.

Að fá STM32CubeU0 útgáfuuppfærslur
STM32CubeU0 MCU pakkinn kemur með uppfærsluforriti, STM32CubeUpdater, einnig fáanlegt sem valmynd í STM32CubeMX kóða kynslóðarverkfæri.
Uppfærslulausnin finnur nýjar fastbúnaðarútgáfur og plástra sem eru fáanlegar frá og leggur til að þeim verði hlaðið niður á tölvu notandans.
Að setja upp og keyra STM32CubeUpdater forritið
Fylgdu skrefunum hér að neðan til að setja upp og keyra STM32CubeUpdater.

  1. Tvísmelltu á SetupSTM32CubeUpdater.exe file til að ræsa uppsetninguna.
  2. Samþykktu leyfisskilmálana og fylgdu mismunandi uppsetningarskrefum.
  3. Eftir vel heppnaða uppsetningu verður STM32CubeUpdater fáanlegur sem STMicroelectronics forrit í forritinu Files möppu og er ræst sjálfkrafa. STM32CubeUpdater táknið birtist í kerfisbakkanum.
  4. Hægrismelltu á uppfærslutáknið og veldu [Uppfærslustillingar] til að stilla uppfærslutenginguna og hvort framkvæma eigi handvirkar eða sjálfvirkar athuganir.

Nánari upplýsingar um uppfærsluuppfærslu er að finna í kafla 3 í notendahandbók STM32CubeMX fyrir STM32 stillingar og frumstillingu C kóða myndun (UM1718).

Algengar spurningar

Hvert er leyfiskerfið fyrir STM32CubeU0 MCU pakkann?

HAL er dreift undir ótakmarkandi BSD (berkeley hugbúnaðardreifingu) leyfi. Millibúnaðarstokkarnir sem STMicroelectronics gerðir (USB Device libraries, STM32_TouchSensing) koma með leyfislíkani sem gerir kleift að endurnýta auðveldlega, að því tilskildu að það keyri á STMicroelectronics tæki. Millivöruíhlutir sem byggja á þekktum opnum lausnum (FreeRTOS™ og FatFS) eru með notendavænum leyfisskilmálum. Nánari upplýsingar er að finna í viðkomandi leyfissamningi milli hugbúnaðar.

Hvaða borð eru studd af STM32CubeU0 MCU pakkanum?

STM32CubeU0 MCU pakkinn veitir BSP rekla og tilbúna til notkunar tdamples fyrir eftirfarandi töflur í STM32CubeU0 röð: • NUCLEO-U031R8 • NUCLEO-U083RC • STM32U083C-DK

Eru einhver fyrrverandiamplesið með verkfærunum sem eru tilbúin til notkunar?

Já. STM32CubeU0 býður upp á mikið sett af tdamples og umsóknir. Þeir koma með forstillt verkefni fyrir IAR Embedded Workbench®, Keil® og STM32CubeIDE.

Eru einhverjir tenglar við venjuleg jaðarsöfn?

STM32CubeU0 HAL og LL reklarnir koma í stað staðlaðs jaðarsafns: • HAL reklarnir bjóða upp á hærra útdráttarstig samanborið við venjuleg útlæga API. Þeir einbeita sér að eiginleikum sem eru sameiginlegir fyrir jaðartækin frekar en vélbúnaðinn. Set af notendavænum API leyfa hærra útdráttarstigi, sem gerir þau auðveldlega færanleg frá einni vöru til annarrar. • LL reklarnir bjóða upp á forritaskil á lágu lagi skráarstigs. Þær eru skipulagðar á einfaldari og skýrari hátt til að forðast beinan aðgang að skrám. LL ökumenn innihalda einnig útlæga frumstillingar API, sem eru fínstilltari miðað við það sem SPL býður upp á, en eru virkni svipað. Í samanburði við HAL-rekla, leyfa þessi LL frumstillingar-API einfaldan flutning frá SPL yfir í STM32CubeU0 LL-rekla, þar sem hvert SPL API hefur sitt samsvarandi LL API.

Tekur HAL lagið advantage af truflunum eða DMA? Hvernig er hægt að stjórna þessu?

Já. HAL lagið styður þrjú API forritunarlíkön: könnun, truflun og DMA (með eða án truflunarmyndunar).

Hvernig er stýrt vöru-/jaðartækjum sértækum eiginleikum?

HAL reklarnir bjóða upp á útbreidd API, sem eru sérstakar aðgerðir sem eru veittar sem viðbætur við sameiginlega API til að styðja eiginleika sem eru aðeins tiltækir á sumum vörum/línum.

Hvernig getur STM32CubeMX búið til kóða byggt á innbyggðum hugbúnaði?

STM32CubeMX hefur innbyggða þekkingu á STM32 örstýringum, þar á meðal jaðartæki þeirra og hugbúnaði. Það veitir notanda myndræna framsetningu og getur búið til *.h og *.c files með notendastillingunum.

Hvernig á að fá reglulegar uppfærslur á nýjustu STM32CubeU0 MCU pakkanum?

STM32CubeU0 MCU pakkinn kemur með uppfærsluforriti, STM32CubeUpdater, sem hægt er að stilla fyrir sjálfvirkar eða eftirspurnar athuganir á nýjum uppfærslum fyrir fastbúnaðarpakka (nýjar útgáfur og plástra). STM32CubeUpdater er samþætt í STM32CubeMX tólinu. Þegar þetta tól er notað fyrir STM32U0 stillingar og frumstillingu C kóða myndun, nýtur notandinn góðs af STM32CubeU0 sjálfvirkum uppfærslum sem og STM32CubeU0 MCU pakkauppfærslum. Fyrir frekari upplýsingar, sjá kafla 5.3: Að fá STM32CubeU0 útgáfuuppfærslur.

Hvenær á að nota HAL á móti LL rekla?

HAL ökumenn bjóða upp á hágæða og virknimiðuð API, með háu stigi færanleika. Varan/IP margbreytileiki er falinn fyrir notendum. LL reklar bjóða upp á lág-lags skráarstig API, með betri hagræðingu en minna flytjanlegur. Þeir krefjast ítarlegrar þekkingar á vöru/IP forskriftum.

Hvernig á að hafa LL rekla í núverandi umhverfi? Er til LL stillingar file, eins og fyrir HAL?

Það er engin uppsetning file. Frumkóði ætti beint að innihalda nauðsynlega stm32u0xx_ll_ppp.h file(s).

Er hægt að nota HAL og LL rekla saman? Ef svo er, hverjar eru takmarkanirnar?

Það er hægt að nota bæði HAL og LL rekla. Notaðu HAL reklana fyrir IP frumstillingarstigið og stjórnaðu I/O aðgerðunum með LL rekla. Helsti munurinn á HAL og LL er sá að HAL ökumenn þurfa að búa til og nota handföng fyrir rekstrarstjórnun, á meðan LL ökumenn starfa beint á jaðarskrám. Blöndun HAL og LL er sýnd í Examples_MIX example.

Eru einhver LL API sem eru ekki fáanleg með HAL?

Já það eru. Nokkrum Cortex® API hefur verið bætt við í stm32u0xx_ll_cortex.h, til dæmis, til að fá aðgang að SCB eða SysTick skránum.

Af hverju eru SysTick truflanir ekki virkar á LL ökumönnum?

Þegar LL reklar eru notaðir í sjálfstæðum ham er engin þörf á að virkja SysTick truflanir vegna þess að þær eru ekki notaðar í LL API, á meðan HAL aðgerðir krefjast SysTick truflana til að stjórna tímamörkum.

Hvernig eru LL frumstillingarforritaskil virkjuð?

Skilgreiningin á LL frumstillingar API og tengdum tilföngum (mannvirki, bókstafir og frumgerðir) er skilyrt af SE_FULL_LL_DRIVER safnrofanum. Til að nota LL frumstillingarforritaskil, bætið þessum rofa við forvinnsluforrita verkfærakeðjuþýðanda.

Endurskoðunarsaga

Tafla 4. Endurskoðunarferill skjala

Dagsetning Endurskoðun Breytingar
31. janúar 2024 1 Upphafleg útgáfa.

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. Fyrir frekari upplýsingar um ST vörumerki, sjá 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.
© 2024 STMicroelectronics – Allur réttur áskilinn

Skjöl / auðlindir

STMicroelectronics STM32U0 Series Original Initiative Bætir framleiðni hönnuða [pdfNotendahandbók
STM32U0 röð frumkvæðis bætir framleiðni hönnuða, frumkvæðis bætir framleiðni hönnuða, bætir framleiðni hönnuða, framleiðni hönnuða

Heimildir

Skildu eftir athugasemd

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