Fillimi i serive STMicroelectronics STM32WBA
Informacioni i produktit
Specifikimet:
- Emri i produktit: Paketa STM32CubeWBA MCU
- Prodhuesi: STMikroelektronikë
- Përputhshmëria: Mikrokontrolluesit e serisë STM32WBA
- Licencimi: Licenca BSD me burim të hapur
Udhëzimet e përdorimit të produktit
Karakteristikat kryesore të paketës STM32CubeWBA MCU:
Paketa STM32CubeWBA MCU ofron të gjithë komponentët e nevojshëm të softuerit të integruar për zhvillimin e aplikacioneve në mikrokontrolluesit e serisë STM32WBA. Është shumë i lëvizshëm brenda serisë STM32 dhe vjen me API HAL dhe LL, p.shamples, dhe komponentët e programit të mesëm.
Arkitektura ka përfunduarview:
Arkitektura e Paketës MCU STM32CubeWBA përbëhet nga tre nivele - Aplikimet, Biblioteka dhe komponentët e bazuar në protokoll, shtresa e abstraksionit të harduerit, drejtuesit BSP, drejtuesit kryesorë dhe API-të me shtresa të ulëta.
FAQ
- Çfarë përfshihet në paketën STM32CubeWBA MCU?
Paketa përfshin API të shtresave të ulëta (LL) dhe shtresave të abstraksionit të harduerit (HAL), p.shamples, aplikacionet, komponentët e programeve të mesme si FileX/LevelX, NetX Duo, bibliotekat mbed-crypto dhe më shumë. - A është paketa STM32CubeWBA MCU e pajtueshme me gjeneratorin e kodit STM32CubeMX?
Po, paketa është plotësisht e pajtueshme me gjeneratorin e kodit STM32CubeMX për gjenerimin e kodit të inicializimit.
Hyrje
- STM32Cube është një nismë origjinale e STMicroelectronics për të përmirësuar ndjeshëm produktivitetin e projektuesit duke reduktuar përpjekjet e zhvillimit, kohën dhe koston. STM32Cube mbulon të gjithë portofolin STM32.
STM32Cube përfshin:- Një grup mjetesh për zhvillimin e softuerit miqësorë për përdoruesit për të mbuluar zhvillimin e projektit nga konceptimi deri në realizim, ndër të cilat janë:
- STM32CubeMX, një mjet konfigurimi grafik i softuerit që lejon gjenerimin automatik të kodit të inicializimit C duke përdorur magjistarët grafikë
- STM32CubeIDE, një mjet zhvillimi gjithëpërfshirës me konfigurimin periferik, gjenerimin e kodit, përpilimin e kodit dhe veçoritë e korrigjimit
- STM32CubeCLT, një grup mjetesh zhvillimi të linjës së komandës gjithëpërfshirëse me përpilim kodi, programim të bordit dhe veçori të korrigjimit
- STM32CubeProgrammer (STM32CubeProg), një mjet programimi i disponueshëm në versionet grafike dhe të linjës së komandës
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), mjete të fuqishme monitorimi për të rregulluar mirë sjelljen dhe performancën e aplikacioneve STM32 në kohë reale
- Paketat STM32Cube MCU dhe MPU, platforma gjithëpërfshirëse softuerike të integruara specifike për çdo seri mikrokontrollues dhe mikroprocesor (siç është STM32CubeWBA për serinë STM32WBA), të cilat përfshijnë:
- Shtresa e abstraksionit të harduerit STM32Cube (HAL), duke siguruar transportueshmëri maksimale në të gjithë portofolin STM32
- API-të me shtresa të ulëta STM32Cube, duke siguruar performancën dhe gjurmët më të mira me një shkallë të lartë të kontrollit të përdoruesit mbi harduerin
- Një grup i qëndrueshëm i komponentëve të programit të mesëm si ThreadX, FileX / LevelX, NetX Duo, USBX, bibliotekë me prekje, mbed-crypto, TFM, MCUboot, OpenBL dhe STM32_WPAN (përfshirë Bluetooth® Low Energy profiles dhe shërbimet, Mesh, Zigbee®, OpenThread, Matter dhe shtresa 802.15.4 MAC)
- Të gjitha programet e integruara të programeve kompjuterike me grupe të plota të pajisjeve periferike dhe aplikative p.shamples
- Paketat e zgjerimit STM32Cube, të cilat përmbajnë komponentë softuerësh të integruar që plotësojnë funksionalitetet e paketave STM32Cube MCU dhe MPU me:
- Zgjatjet e programit të mesëm dhe shtresat aplikative
- Exampato funksionojnë në disa borde specifike të zhvillimit STMicroelectronics
- Një grup mjetesh për zhvillimin e softuerit miqësorë për përdoruesit për të mbuluar zhvillimin e projektit nga konceptimi deri në realizim, ndër të cilat janë:
- Ky manual përdorimi përshkruan se si të filloni me paketën STM32CubeWBA MCU.
- Seksioni 2 Veçoritë kryesore STM32CubeWBA përshkruan veçoritë kryesore të Paketës MCU STM32CubeWBA.
- Seksioni 3 Arkitektura STM32CubeWBA ka përfunduarview ofron një mbiview të arkitekturës STM32CubeWBA dhe strukturës së Paketës MCU.
Informacione të përgjithshme
Paketa STM32CubeWBA MCU funksionon në mikrokontrolluesit 32-bit STM32 bazuar në procesorin Arm® Cortex®-M33 me Arm® TrustZone® dhe FPU.
Shënim: Arm dhe TrustZone janë marka tregtare të regjistruara të Arm Limited (ose filialeve të saj) në SHBA dhe/ose gjetkë.
Karakteristikat kryesore të STM32CubeWBA
- Paketa STM32CubeWBA MCU funksionon në mikrokontrolluesit 32-bit STM32 bazuar në procesorin Arm® Cortex®-M33 me TrustZone® dhe FPU.
- STM32CubeWBA mbledh, në një paketë të vetme, të gjithë komponentët e integruar të softuerit të përgjithshëm të nevojshëm për të zhvilluar një aplikacion për mikrokontrolluesit e serisë STM32WBA. Në përputhje me nismën STM32Cube, ky grup komponentësh është shumë i lëvizshëm, jo vetëm brenda mikrokontrolluesve të serisë STM32WBA, por edhe në seritë e tjera STM32.
- STM32CubeWBA është plotësisht i pajtueshëm me gjeneratorin e kodit STM32CubeMX, për të gjeneruar kodin e inicializimit. Paketa përfshin API të shtresave të ulëta (LL) dhe shtresave të abstraksionit të harduerit (HAL) që mbulojnë harduerin e mikrokontrolluesit, së bashku me një grup të gjerë tëamples running në bordet STMicroelectronics. API-të HAL dhe LL janë të disponueshme në një licencë BSD me burim të hapur për lehtësinë e përdoruesit.
- Paketa STM32CubeWBA MCU përmban gjithashtu një komponent gjithëpërfshirës të softuerit të mesëm të ndërtuar rreth softuerit të ndërmjetëm Microsoft® Azure® RTOS, dhe grupe të tjera të brendshme dhe me burim të hapur, me ish-në përkatëseamples.
- Ato vijnë me kushte licence falas, miqësore për përdoruesit:
- Azure® RTOS i integruar dhe me funksione të plota: Azure® RTOS ThreadX
- Zbatimi i CMSIS-RTOS me Azure® RTOS ThreadX
- Grupet e pritësit dhe pajisjeve USB vijnë me shumë klasa: Azure® RTOS USBX
- E avancuar file sistemi dhe shtresa e përkthimit flash: FileX / NiveliX
- Stafi i rrjeteve të klasës industriale: i optimizuar për performancën që vjen me shumë protokolle IoT: NetX Duo
- OpenBootloader
- Zgjidhje integruese Arm® Trusted Firmware-M (TF‑M).
- bibliotekat mbed-kripto
- Biblioteka ST Netwok
- Zgjidhja e bibliotekës STMTtouch sensoring
- Disa aplikacione dhe demonstrime që zbatojnë të gjithë këta përbërës të programit të mesëm janë dhënë gjithashtu në Paketën MCU STM32CubeWBA.
- Paraqitja e komponentit të Paketës MCU STM32CubeWBA është ilustruar në Figurën 1. Komponentët e Paketës MCU STM32CubeWBA .
Arkitektura STM32CubeWBA ka përfunduarview
Zgjidhja e paketës STM32CubeWBA MCU është ndërtuar rreth tre niveleve të pavarura që ndërveprojnë lehtësisht siç përshkruhet në Figurën 2. Arkitektura e paketës STM32CubeWBA MCU.
Niveli 0
Ky nivel është i ndarë në tre nënshtresa:
- Paketa mbështetëse e bordit (BSP).
- Shtresa e abstraksionit të harduerit (HAL):
- Drejtues periferik HAL
- Drejtues me shtresa të ulëta
- Përdorimi bazë periferik p.shamples.
Paketa e mbështetjes së bordit (BSP)
Kjo shtresë ofron një grup API-sh në lidhje me komponentët e harduerit në bordet e harduerit (si p.sh. drejtuesit LCD, Audio,\ microSD™ dhe MEMS). Ai përbëhet nga dy pjesë:
- Drejtuesi i komponentit:
Ky drejtues lidhet me pajisjen e jashtme në tabelë dhe jo me pajisjen STM32. Drejtuesi i komponentit ofron API specifike për komponentët e jashtëm të drejtuesit BSP dhe mund të jetë i lëvizshëm në çdo tabelë tjetër. - Shoferi i BSP:
Drejtuesi BSP lejon lidhjen e drejtuesve të komponentëve me një bord specifik dhe ofron një grup të përshtatshëm për përdoruesit
API-të. Rregulli i emërtimit të API është BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP bazohet në një arkitekturë modulare që lejon transportim të lehtë në çdo harduer duke zbatuar thjesht rutinat e nivelit të ulët.
Shtresa e abstraksionit të harduerit (HAL) dhe shtresa e ulët (LL)
STM32CubeWBA HAL dhe LL janë plotësuese dhe mbulojnë një gamë të gjerë kërkesash aplikimi:
- Drejtuesit HAL ofrojnë API shumë portative të orientuara drejt funksioneve të nivelit të lartë. Ata fshehin MCU-në dhe kompleksitetin periferik tek përdoruesi fundor.
Drejtuesit HAL ofrojnë API gjenerike të orientuara nga veçoritë me shumë instanca, të cilat thjeshtojnë zbatimin e aplikacionit të përdoruesit duke ofruar procese të gatshme për t'u përdorur. Për shembullample, për pajisjet periferike të komunikimit (I2S, UART dhe të tjera), ai ofron API që lejojnë inicializimin dhe konfigurimin e pajisjes periferike, menaxhimin e transferimit të të dhënave bazuar në procesin e votimit, ndërprerjes ose DMA, dhe trajtimin e gabimeve të komunikimit që mund të lindin gjatë komunikimit. API-të e drejtuesve HAL ndahen në dy kategori:- API gjenerike, të cilat ofrojnë funksione të zakonshme dhe gjenerike për të gjithë mikrokontrolluesit e serisë STM32.
- API-të e zgjerimit, të cilat ofrojnë funksione specifike dhe të personalizuara për një familje specifike ose një numër të caktuar pjesësh.
- API-të e nivelit të ulët ofrojnë API të nivelit të ulët në nivelin e regjistrit, me optimizim më të mirë, por më pak transportueshmëri.
- Ata kërkojnë një njohuri të thellë të MCU dhe specifikimeve periferike.
- Drejtuesit LL janë krijuar për të ofruar një shtresë të shpejtë të lehtë të orientuar nga ekspertët që është më afër harduerit sesa HAL. Ndryshe nga HAL, API-të LL nuk ofrohen për pajisjet periferike ku aksesi i optimizuar nuk është një veçori kryesore, ose për ato që kërkojnë konfigurim të rëndë softuerësh ose grup kompleks të nivelit të lartë.
- Karakteristika e drejtuesve LL:
- Një grup funksionesh për të inicializuar tiparet kryesore periferike sipas parametrave të specifikuar në strukturat e të dhënave.
- Një grup funksionesh për të mbushur strukturat e të dhënave të inicializimit me vlerat e rivendosjes që korrespondojnë me secilën fushë.
- Funksioni për deinitializimin periferik (regjistrat periferikë të rikthyer në vlerat e tyre të paracaktuara).
- Një grup funksionesh inline për qasje direkte dhe atomike të regjistrit.
- Pavarësi e plotë nga HAL dhe aftësi për t'u përdorur në modalitetin e pavarur (pa drejtues HAL).
- Mbulim i plotë i veçorive periferike të mbështetura.
Përdorimi bazë periferik p.shamples
Kjo shtresë mbyll ishamples të ndërtuara mbi pajisjet periferike STM32 duke përdorur vetëm burimet HAL dhe BSP.
Niveli 1
Ky nivel ndahet në dy nënshtresa:
- Komponentët e programit të mesëm
- Examples bazuar në komponentët e programit të mesëm
Komponentët e programit të mesëm
- Softueri i mesëm është një grup bibliotekash që mbulojnë Bluetooth® me energji të ulët (Linklayer, HCI, Stack), Thread®, Zigbee®,
- Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot dhe mbed-crypto.
- Ndërveprimi horizontal ndërmjet komponentëve të kësaj shtrese bëhet duke thirrur API-të e paraqitura.
- Ndërveprimi vertikal me drejtuesit e nivelit të ulët bëhet përmes thirrjeve specifike dhe makrove statike të implementuara në ndërfaqen e thirrjeve të sistemit të bibliotekës.
- Karakteristikat kryesore të secilit komponent të programit të mesëm janë si më poshtë:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: Një sistem operativ në kohë reale (RTOS), i krijuar për sisteme të integruara me dy mënyra funksionale.
- Modaliteti i përbashkët: Funksionalitete të zakonshme RTOS si menaxhimi dhe sinkronizimi i temave, menaxhimi i grupit të kujtesës, mesazhet dhe trajtimi i ngjarjeve.
- Modaliteti i modulit: Një modalitet i avancuar i përdoruesit që lejon ngarkimin dhe shkarkimin e moduleve të paralidhura ThreadX në fluturim nëpërmjet një menaxheri të modulit.
- NetX Duo
- FileX
- USBX
- Azure® RTOS ThreadX: Një sistem operativ në kohë reale (RTOS), i krijuar për sisteme të integruara me dy mënyra funksionale.
- Bluetooth® Low Energy (BLE): Zbaton protokollin Bluetooth® Low Energy për shtresat Link dhe Stack.
- MCUboot (softuer me burim të hapur)
- Protokollet Zigbee® për grumbullin dhe grupimet e lidhura me to.
- Stafi i protokollit Thread® dhe shtresa e lidhjes.
- Firmware i besuar Arm®-M, TF‑M (softuer me burim të hapur): Zbatimi referues i arkitekturës së sigurisë së platformës Arm® (PSA) për TrustZone® me shërbimet e lidhura të sigurta.
- mbed-crypto (softuer me burim të hapur): Programi i mesëm mbed-crypto ofron një zbatim të API-së për kriptografinë PSA.
- Biblioteka e sensorëve të prekjes STM32: Zgjidhje e fuqishme e sensorëve kapacitiv të prekjes STMTouch, mbështet sensorë të afërsisë, prekjes, lineare dhe rrotulluese të prekjes. Ai bazohet në një parim të provuar të përvetësimit të transferimit të ngarkesës sipërfaqësore.
- Microsoft® Azure® RTOS
Examples bazuar në komponentët e programit të mesëm
Çdo komponent i programit të mesëm vjen me një ose më shumë ishamples (të quajtura edhe aplikacione) që tregojnë se si të përdoret. Integrimi p.shampOfrohen gjithashtu edhe elementë që përdorin disa komponentë të ndërmjetëm.
Paketa e firmuerit STM32CubeWBA ka përfunduarview
Pajisjet dhe pajisjet e mbështetura të serisë STM32WBA
- STM32Cube ofron një shtresë abstraksioni harduerësh shumë të lëvizshëm (HAL) të ndërtuar rreth një arkitekture të përgjithshme. Ai lejon parimin e shtresave të ndërtuara, të tilla si përdorimi i shtresës së softuerit të mesëm për të zbatuar funksionet e tyre pa e ditur, në thellësi, se çfarë përdoret MCU. Kjo përmirëson ripërdorimin e kodit të bibliotekës dhe siguron një transportueshmëri të lehtë në pajisjet e tjera.
- Përveç kësaj, falë arkitekturës së tij me shtresa, STM32CubeWBA ofron mbështetje të plotë për të gjitha seritë STM32WBA.
- Përdoruesi duhet vetëm të përcaktojë makronë e duhur në stm32wbaxx.h.
- Tabela 1 tregon makro që duhet përcaktuar në varësi të pajisjes së përdorur të serisë STM32WBA. Kjo makro gjithashtu duhet të përcaktohet në paraprocesorin e kompajlerit.
Tabela 1. Makrot për serinë STM32WBAMakro e përcaktuar në stm32wbaxx.h Pajisjet e serisë STM32WBA stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6 stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7 - STM32CubeWBA përmban një grup të pasur të ishamples dhe aplikacionet në të gjitha nivelet duke e bërë të lehtë për të kuptuar dhe përdorur çdo drejtues HAL ose komponentë të programit të mesëm. Këto ishamples ekzekutohen në bordet STMicroelectronics të listuara në Tabelën 2.
Tabela 2. Pllakat për serinë STM32WBABordi Montoni pajisjet e mbështetura nga STM32WBA NUCLEO-WBA52CG STM32WBA52CGU6 NUCLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - Paketa STM32CubeWBA MCU mund të funksionojë në çdo pajisje të pajtueshme. Përdoruesi thjesht përditëson drejtuesit e BSP për të portuar ish-në e dhënëamples në tabelë, nëse kjo e fundit ka të njëjtat veçori harduerike (si LED, ekran LCD dhe butona).
Paketa e firmuerit përfundoiview
- Zgjidhja e paketës STM32CubeWBA ofrohet në një paketë të vetme zip që ka strukturën e treguar në Figurën 3. Struktura e paketës së firmuerit STM32CubeWBA.
- Për çdo tabelë, një grup i p.shamples ofrohet me projekte të parakonfiguruara për zinxhirët e veglave EWARM, MDK-ARM dhe STM32CubeIDE.
- Figura 4. STM32CubeWBA exampmë pakview tregon strukturën e projektit për bordet NUCLEO-WBA52CG, NUCLEO-WBA55CG dhe STM32WBA55G-DK1.
- Ishamples klasifikohen në varësi të nivelit STM32Cube për të cilin aplikohen dhe emërtohen si më poshtë:
- Niveli 0 p.shamples quhen Shembullamples, p.shamples_LL, dhe Examples_MIX. Ata përdorin përkatësisht drejtuesit HAL, drejtuesit LL dhe një përzierje të drejtuesve HAL dhe LL pa asnjë komponent ndërmjetësues.
- Niveli 1 p.shamples quhen Aplikacione. Ato ofrojnë raste tipike të përdorimit të secilit komponent të programit të mesëm. Çdo aplikacion firmware për një tabelë të caktuar mund të ndërtohet shpejt falë projekteve shabllone të disponueshme në drejtoritë Templ ates dhe Templates_LL.
Projektet e aktivizuara TrustZone®
- TrustZone® i aktivizuar P.shamples emrat përmbajnë prefiksin _TrustZone. Rregulli zbatohet gjithashtu për Aplikacionet (me përjashtim të TFM dhe SBSFU, të cilat janë origjinale për TrustZone®).
- TrustZone®-aktivizuar P.shamples dhe Aplikacionet pajisen me një strukturë shumëprojekti të përbërë nga nënprojekte të sigurta dhe jo të sigurta siç paraqitet në Figurën 5. Struktura e sigurt dhe jo e sigurt e projektit me shumë projekte.
- Projektet e aktivizuara nga TrustZone® janë zhvilluar sipas modelit të pajisjes CMSIS-5, të zgjeruara për të përfshirë kokën e ndarjes së sistemit file ndarje_ .h, i cili është kryesisht përgjegjës për konfigurimin e njësisë së atributit të sigurt (SAU), FPU dhe caktimin e ndërprerjeve të sigurta/jo të sigurta në gjendjen e ekzekutimit të sigurt.
- Ky konfigurim kryhet në funksionin e sigurt CMSIS SystemInit(), i cili thirret në fillim përpara se të hyjë në funksionin main() të aplikacionit të sigurt. Referojuni dokumentacionit Arm® TrustZone®-M të udhëzimeve të softuerit.
- Paketa e firmuerit të paketës STM32CubeWBA ofron ndarje të paracaktuar të memories në ndarje _ .h filejanë të disponueshme nën: modele \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T
- Në këto ndarje files, SAU është i çaktivizuar si parazgjedhje. Rrjedhimisht, hartëzimi i kujtesës IDAU përdoret për atribuimin e sigurisë. Referojuni figurës Ndarja e sigurt/jo e sigurt duke përdorur teknologjinë TrustZone® në manualin e referencës RM0495.
- Nëse përdoruesi aktivizon SAU, një konfigurim i paracaktuar i rajoneve SAU është i paracaktuar në ndarje files si më poshtë:
- Rajoni SAU 0: 0x08080000 – 0x081FFFFF (gjysma e sigurt e pasigurt e memories flash (512 Kbajt))
- Rajoni SAU 1: 0x0BF88000 – 0x0BF97FFF (memorie e sistemit jo të sigurt)
- Rajoni SAU 2: 0x0C07E000 – 0x0C07FFFF (i sigurt, i pasigurt i thirrshëm)
- Rajoni SAU 3: 0x20010000 – 0x2001FFFF (SRAM2 jo i sigurt (64 Kbajt))
- Rajoni SAU 4: 0x40000000 – 0x4FFFFFFF (memorie e pasigurt e hartës periferike)
- Për të përputhur ndarjen e paracaktuar, pajisjet e serisë STM32WBAxx duhet të kenë të vendosur bajtet e mëposhtme të opsioneve të përdoruesit:
- TZEN = 1 (pajisje e aktivizuar me TrustZone®)
- SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (64 nga 128 faqet e memories së brendshme flash të vendosura si të sigurta) Shënim: Memoria e brendshme flash është plotësisht e sigurt si parazgjedhje në TZEN = 1. Bajtet e opsionit të përdoruesit SECWM1_PSTRT/ SECWM1_PEND duhet të vendosen sipas aplikacionit konfigurimi i memories (rajonet SAU, nëse SAU është i aktivizuar). Lidhës projekti i aplikacioneve të sigurta/jo të sigurta files gjithashtu duhet të përafrohet.
- Të gjithë ishampato kanë të njëjtën strukturë:
- Dosja \Inc që përmban të gjithë kokën files.
- Dosja Src që përmban kodin burimor.
- Dosjet \EWARM, \MDK-ARM dhe \STM32CubeIDE që përmbajnë projektin e parakonfiguruar për çdo zinxhir veglash.
- readme.md dhe readme.html duke përshkruar ishampsjelljen dhe mjedisin e nevojshëm për ta bërë atë të funksionojë.
- ioc file që i lejon përdoruesit të hapin shumicën e firmuerit p.shamples brenda STM32CubeMX.
Fillimi me STM32CubeWBA
Drejtimi i një ish HAL të parëample
Ky seksion shpjegon se sa e thjeshtë është të ekzekutosh ish-in e parëample brenda STM32CubeWBA. Ai përdor si ilustrim gjenerimin e një ndërruesi të thjeshtë LED që funksionon në tabelën NUCLEO-WBA52CG:
- Shkarkoni paketën STM32CubeWBA MCU.
- Zhbllojeni atë në një drejtori sipas zgjedhjes suaj.
- Sigurohuni që të mos modifikoni strukturën e paketës së treguar në Figurën 1. Gjithashtu rekomandohet të kopjoni paketën në një vendndodhje afër vëllimit tuaj rrënjë (që do të thotë C:\ST ose G:\Tests), pasi disa IDE hasin probleme kur shtegu gjatësia është shumë e gjatë.
Ekzekutimi i një TrustZone® të parë të aktivizuar p.shample
- Përpara ngarkimit dhe ekzekutimit të një TrustZone® të aktivizuar p.shample, është e detyrueshme të lexohet p.shample readme file për çdo konfigurim specifik, i cili siguron që siguria të aktivizohet siç përshkruhet në Seksionin 4.2.1 Projektet e aktivizuara me TrustZone® (TZEN=1 (bajti i opsionit të përdoruesit)).
- Shfleto te \Projects\NUCLEO-WBA52CG\Pshamples.
- Hapni \GPIO, më pas dosjet \GPIO_IOToggle_TrustZone.
- Hapni projektin me zinxhirin tuaj të preferuar të mjeteve. Një fund i shpejtëview se si të hapni, ndërtoni dhe drejtoni një ishample me zinxhirët e mjeteve të mbështetura është dhënë më poshtë.
- Rindërtoni në sekuencë të gjithë projektin e sigurt dhe jo të sigurt files dhe ngarkoni imazhet e sigurta dhe jo të sigurta në memorien e synuar.
- Drejtoni ish-inample: rregullisht, aplikacioni i sigurt e ndërron LD2 çdo sekondë dhe aplikacioni jo i sigurt e ndërron LD3 dy herë më shpejt. Për më shumë detaje, referojuni readme file e ishample.
- Për të hapur, ndërtuar dhe drejtuar një ishampme zinxhirët e mjeteve të mbështetura, ndiqni hapat e mëposhtëm:
- Ngrohja:
- Nën ishample dosje, hapni nënfolderin \EWARM.
- Hapni hapësirën e punës Project.eww
- Rindërtoni projektin e sigurt xxxxx_S files: [Project]>[Rindërtoni të gjitha].
- Cakto projektin e pasigurt xxxxx_NS si aplikacion aktiv (kliko me të djathtën mbi projektin xxxxx_NS [Set si Active])
- Rindërtoni projektin e pasigurt xxxxx_NS files: [Project]>[Rindërtoni të gjitha].
- Flash binarin jo të sigurt me [Project]>[Shkarko]>[Shkarko aplikacionin aktiv] .
- Vendosni aplikacionin xxxxx_S si aplikacion aktiv (kliko me të djathtën mbi projektin xxxxx_S [Set as Active].
- Flash binarin e sigurt me [Shkarkim dhe korrigjimin] (Ctrl+D).
- Ekzekutoni programin: [Debug]>[Shko(F5)]
- MDK-ARM:
- Hapni zinxhirin e veglave \MDK-ARM.
- Hapni hapësirën e punës Multiprojects file Projekti.uvmpw.
- Zgjidhni projektin xxxxx_s si aplikacion aktiv ([Set si Active Project]).
- Ndërtoni projektin xxxxx_s.
- Zgjidhni projektin xxxxx_ns si projekt aktiv ([Set si Active Project]).
- Ndërtoni projektin xxxxx_ns.
- Ngarko binarin jo të sigurt ([F8]). Kjo shkarkon \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf në memorie flash)
- Zgjidhni projektin Project_s si projekt aktiv ([Set as Active Project]).
- Ngarko binarin e sigurt ([F8]). Kjo shkarkon \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf në memorie flash).
- Drejtoni ish-inample.
- STM32CubeIDE:
- Hapni zinxhirin e veglave STM32CubeIDE.
- Hapni hapësirën e punës Multiprojects file .projekt.
- Rindërtoni projektin xxxxx_Secure.
- Rindërtoni projektin xxxxx_NonSecure.
- Hapni aplikacionin [Debug as STM32 Cortex-M C/C++] për projektin e sigurt.
- Në dritaren [Edit configuration], zgjidhni panelin [Startup] dhe shtoni ngarkesën imazhin dhe simbolet e projektit jo të sigurt.
E rëndësishme: Projekti jo i sigurt duhet të ngarkohet përpara projektit të sigurt. - Klikoni [Ok].
- Drejtoni ish-inample mbi perspektivën e korrigjimit.
- Ngrohja:
Ekzekutimi i një TrustZone® të parë me aftësi të kufizuara p.shample
- Përpara se të ngarkoni dhe përdorni një TrustZone® të çaktivizuar p.shample, është e detyrueshme të lexohet p.shample readme file për çdo konfigurim specifik. Nëse nuk ka përmendje specifike, sigurohuni që pajisja e bordit të ketë të çaktivizuar sigurinë (TZEN=0 (bajt opsioni i përdoruesit)). Shihni FAQ për kryerjen e regresionit opsional në TZEN = 0
- Shfleto te \Projects\NUCLEO-WBA52CG\Pshamples.
- Hapni \GPIO, më pas dosjet \GPIO_EXTI.
- Hapni projektin me zinxhirin tuaj të preferuar të mjeteve. Një fund i shpejtëview se si të hapni, ndërtoni dhe drejtoni një ishample me zinxhirët e mjeteve të mbështetura është dhënë më poshtë.
- Rindërtoni të gjitha files dhe ngarkoni imazhin tuaj në memorien e synuar.
- Drejtoni ish-inample: Sa herë që shtypet butoni [USER], LED LD1 ndërrohet. Për më shumë detaje, referojuni readme file e ishample.
- Për të hapur, ndërtuar dhe drejtuar një ishampme zinxhirët e mjeteve të mbështetura, ndiqni hapat e mëposhtëm:
- Ngrohja:
- Nën ishample dosje, hapni nënfolderin \EWARM.
- Hapni hapësirën e punës Project.eww (emri i hapësirës së punës mund të ndryshojë nga një shembullample te tjetri).
- Rindërtoni të gjitha files: [Project]>[Rindërtoni të gjitha].
- Ngarko imazhin e projektit: [Project]>[Debug].
- Ekzekutoni programin: [Debug]>[Shko (F5)].
- MDK-ARM:
- Nën ishample dosje, hapni nënfolderin \MDK-ARM.
- Hapni hapësirën e punës Project.uvproj (emri i hapësirës së punës mund të ndryshojë nga një ishample te tjetri).
- Rindërtoni të gjitha files:[Project]>[Rindërtoni të gjithë objektivin files].
- Ngarko imazhin e projektit: [Debug]>[Start/Stop Debug Session].
- Ekzekutoni programin: [Debug]>[Run (F5)].
- STM32CubeIDE:
- Hapni zinxhirin e veglave STM32CubeIDE.
- Klikoni [File]>[Ndërroni hapësirën e punës]>[Të tjera] dhe shfletoni në drejtorinë e hapësirës së punës STM32CubeIDE.
- Klikoni [File]>[Import] , zgjidhni [General]>[Existing Projects into Workspace] dhe më pas klikoni [Next].
- Shfletoni në drejtorinë e hapësirës së punës STM32CubeIDE dhe zgjidhni projektin.
- Rindërtoni të gjithë projektin files: Zgjidhni projektin në dritaren [Project Explorer] dhe më pas klikoni në menunë [Project]>[Build project].
- Ekzekutoni programin: [Run]>[Debug (F11)]
- Ngrohja:
Zhvillimi i një aplikacioni të personalizuar
Shënim: Softueri duhet të mundësojë cache-in e instruksioneve (ICACHE) të marrë një ekzekutim të gjendjes së pritjes 0 nga memoria flash dhe të arrijë performancën maksimale dhe një konsum më të mirë të energjisë.
Përdorimi i STM32CubeMX për të zhvilluar ose përditësuar një aplikacion
- Në paketën STM32CubeWBA MCU, pothuajse i gjithë projekti p.shamples gjenerohen me mjetin STM32CubeMX për të inicializuar sistemin, pajisjet periferike dhe programin e mesëm.
- Përdorimi i drejtpërdrejtë i një projekti ekzistues p.shample nga mjeti STM32CubeMX kërkon STM32CubeMX 6.10.0 ose më të lartë:
- Pas instalimit të STM32CubeMX, hapni dhe nëse është e nevojshme përditësoni një projekt të propozuar. Mënyra më e thjeshtë për të hapur një projekt ekzistues është të klikoni dy herë në *.ioc file në mënyrë që STM32CubeMX të hapë automatikisht projektin dhe burimin e tij files.
- STM32CubeMX gjeneron kodin burimor të inicializimit të projekteve të tilla. Kodi burimor kryesor i aplikacionit përmbahet nga komentet "KODI I PERDORIMIT FILLIM" dhe "KODI I PËRDORIMIT FUND". Në rast se zgjedhja dhe cilësimi i IP-së modifikohen, STM32CubeMX përditëson pjesën e inicializimit të kodit, por ruan kodin burimor të aplikacionit kryesor.
- Për zhvillimin e një projekti të personalizuar në STM32CubeMX, ndiqni procesin hap pas hapi:
- Zgjidhni mikrokontrolluesin STM32 që përputhet me grupin e kërkuar të pajisjeve periferike.
- Konfiguro të gjithë softuerin e integruar të kërkuar duke përdorur një zgjidhës të konfliktit të pikave, një ndihmës për vendosjen e pemës së orës, një kalkulator të konsumit të energjisë dhe mjetin që kryen konfigurimin periferik të MCU (si GPIO ose USART) dhe stendat e programeve të mesme (siç është USB).
- Gjeneroni kodin e inicializimit C bazuar në konfigurimin e zgjedhur. Ky kod është gati për t'u përdorur në disa mjedise zhvillimi. Kodi i përdoruesit ruhet në gjenerimin e kodit të ardhshëm.
- Për më shumë informacion rreth STM32CubeMX, referojuni manualit të përdorimit STM32CubeMX për konfigurimin dhe inicializimin e STM32 gjenerimin e kodit C (UM1718).
- Për një listë të projekteve të disponueshme p.shamppër STM32CubeWBA, referojuni shënimit të aplikacionit firmware STM32Cube examples për serinë STM32WBA (AN5929).
Aplikacionet e shoferit
Aplikimi HAL
Ky seksion përshkruan hapat e kërkuar për të krijuar një aplikacion të personalizuar HAL duke përdorur STM32CubeWBA:
- Krijo një projekt
- Për të krijuar një projekt të ri, filloni ose nga projekti Template i ofruar për çdo bord nën \Projects\ \Modele ose nga ndonjë projekt i disponueshëm nën \Projects\ \Plotë provimi ose \Projekte\ \Aplikacionet (ku i referohet emrit të bordit, siç është STM32CubeWBA).
- Projekti Template ofron një funksion të ciklit kryesor bosh. Sidoqoftë, është një pikënisje e mirë për të kuptuar cilësimet e projektit STM32CubeWBA. Modeli ka karakteristikat e mëposhtme:
- Ai përmban kodin burimor HAL, CMSIS dhe drejtuesit BSP, të cilët janë grupi minimal i komponentëve të kërkuar për të zhvilluar një kod në një tabelë të caktuar.
- Ai përmban shtigjet e përfshira për të gjithë komponentët e firmuerit.
- Ai përcakton pajisjet e mbështetura të serisë STM32WBA, duke lejuar që drejtuesit CMSIS dhe HAL të konfigurohen saktë.
- Ai siguron përdorues të gatshëm për t'u përdorur files parakonfiguruar siç tregohet më poshtë:
HAL u inicializua me bazën kohore të paracaktuar me Arm® core SysTick. SysTick ISR zbatohet për qëllimin HAL_Delay().
Shënim: Kur kopjoni një projekt ekzistues në një vend tjetër, sigurohuni që të gjitha shtigjet e përfshira të jenë përditësuar.
- Shtoni programin e nevojshëm ndërmjetës në projektin e përdoruesit (opsionale)
Për të identifikuar burimin files që do t'i shtohen projektit file lista, referojuni dokumentacionit të ofruar për çdo program të mesëm. Referojuni aplikacioneve nën \Projects\STM32xxx_yyyy\Applications\ (ku i referohet stakut të softuerit të mesëm, siç është ThreadX) për të ditur se cilin burim files dhe përfshijnë shtigjet duhet të shtohen. - Konfiguro komponentët e firmuerit
Komponentët HAL dhe Middleware ofrojnë një sërë opsionesh të konfigurimit të kohës së ndërtimit duke përdorur makro #define të deklaruara në një kokë file. Një konfigurim shabllon file ofrohet brenda secilit komponent, i cili duhet të kopjohet në dosjen e projektit (zakonisht konfigurimi file është quajtur xxx_conf_template.h, fjala _template duhet të hiqet kur e kopjoni atë në dosjen e projektit). Konfigurimi file ofron informacion të mjaftueshëm për të kuptuar ndikimin e secilit opsion konfigurimi. Informacion më të detajuar është i disponueshëm në dokumentacionin e dhënë për secilin komponent. - Filloni bibliotekën HAL
Pas kalimit te programi kryesor, kodi i aplikacionit duhet të thërrasë HAL_Init() API për të inicializuar bibliotekën HAL, e cila kryen detyrat e mëposhtme:- Konfigurimi i marrjes paraprake të memories flash dhe prioriteti i ndërprerjes SysTick (nëpërmjet makrove të përcaktuara në st m32wbaxx_hal_conf.h).
- Konfigurimi i SysTick për të gjeneruar një ndërprerje çdo milisekonda në prioritetin e ndërprerjes SysTick TICK_INT_PRIO të përcaktuar në stm32wbaxx_hal_conf.h.
- Vendosja e prioritetit të grupit NVIC në 0.
- Thirrja e funksionit të kthimit të thirrjes HAL_MspInit() e përcaktuar në përdoruesin stm32wbaxx_hal_msp.c file për të kryer inicializimet globale të harduerit të nivelit të ulët.
- Konfiguro orën e sistemit
Konfigurimi i orës së sistemit bëhet duke thirrur dy API-të e përshkruara më poshtë:- HAL_RCC_OscConfig(): ky API konfiguron oshilatorët e brendshëm dhe të jashtëm. Përdoruesi zgjedh të konfigurojë një ose të gjithë oshilatorët.
- HAL_RCC_ClockConfig(): kjo API konfiguron burimin e orës së sistemit, vonesën e memories flash dhe parakaluesit AHB dhe APB.
- Inicializoni pajisjen periferike
- Fillimisht shkruani funksionin periferik HAL_PPP_MspInit. Veproni si më poshtë:
- Aktivizo orën periferike.
- Konfiguro GPIO-të periferike.
- Konfiguro kanalin DMA dhe aktivizo ndërprerjen DMA (nëse nevojitet).
- Aktivizo ndërprerjen periferike (nëse nevojitet).
- Redaktoni stm32xxx_it.c për të thirrur mbajtësit e kërkuar të ndërprerjeve (periferike dhe DMA), nëse është e nevojshme.
- Shkruani funksionet e kthimit të plotë të procesit, nëse planifikohet të përdoret një ndërprerje periferike ose DMA.
- Në përdoruesit kryesor.c file, inicializoni strukturën e dorezës periferike dhe më pas thirrni funksionin HAL_PPP_Init() për të inicializuar pajisjen periferike.
- Fillimisht shkruani funksionin periferik HAL_PPP_MspInit. Veproni si më poshtë:
- Zhvilloni një aplikacion
- Në këtë stage, sistemi është gati dhe mund të fillojë zhvillimi i kodit të aplikacionit të përdoruesit.
- HAL ofron API intuitive dhe të gatshme për përdorim për të konfiguruar pajisjen periferike. Ai mbështet sondazhet, ndërprerjet dhe një model programimi DMA, për të përshtatur çdo kërkesë aplikimi. Për më shumë detaje se si të përdorni çdo pajisje periferike, referojuni ish të pasuritampSeti i ofruar në paketën STM32CubeWBA MCU.
Kujdes: Në zbatimin e parazgjedhur HAL, kohëmatësi SysTick përdoret si bazë kohore: ai gjeneron ndërprerje në intervale të rregullta kohore. Nëse HAL_Delay() thirret nga procesi ISR periferik, sigurohuni që ndërprerja SysTick të ketë një përparësi më të lartë (numerikisht më të ulët) se ndërprerja periferike. Përndryshe, procesi ISR i thirrësit është i bllokuar. Funksionet që ndikojnë në konfigurimet e bazës kohore deklarohen si __dobëta për të bërë të mundur tejkalimin në rast të zbatimeve të tjera në përdorues file (duke përdorur një kohëmatës për qëllime të përgjithshme, p.shample, ose një burim tjetër kohor). Për më shumë detaje, referojuni HAL_TimeBase ishample.
Aplikimi LL
Ky seksion përshkruan hapat e nevojshëm për të krijuar një aplikacion të personalizuar LL duke përdorur STM32CubeWBA.
- Krijo një projekt
- Për të krijuar një projekt të ri, ose filloni nga projekti Templates_LL i ofruar për çdo bord nën \Projects\ \Templates_LL, ose nga ndonjë projekt i disponueshëm nën \Projects\ \Pshamples_LL ( i referohet emrit të tabelës, siç është NUCLEO-WBA32CG).
- Projekti i shabllonit ofron një funksion të ciklit kryesor bosh, i cili është një pikënisje e mirë për të kuptuar cilësimet e projektit për STM32CubeWBA. Karakteristikat kryesore të shabllonit janë si më poshtë:
- Ai përmban kodet burimore të drejtuesve LL dhe CMSIS, të cilët janë grupi minimal i komponentëve të nevojshëm për të zhvilluar kodin në një tabelë të caktuar.
- Ai përmban shtigjet e përfshira për të gjithë komponentët e kërkuar të firmuerit.
- Ai zgjedh pajisjen e mbështetur të serisë STM32WBA dhe lejon konfigurimin e saktë të drejtuesve CMSIS dhe LL.
- Ai siguron përdorues të gatshëm për përdorim files që janë parakonfiguruar si më poshtë:
◦ main.h: Shtresa e abstraksionit me definicion LED dhe USER_BUTTON.
◦ main.c: Konfigurimi i orës së sistemit për frekuencë maksimale.
- Transferoni një projekt ekzistues në një bord tjetër
Për të mbështetur një projekt ekzistues në një bord tjetër të synuar, filloni nga projekti Templates_LL i ofruar për çdo bord dhe i disponueshëm nën \Projects\ \ Shabllonet_LL.- Zgjidhni një LL example: Për të gjetur tabelën në të cilën LL examples janë vendosur, referojuni listës së LL examples STM32CubeProjectsList.html.
- Port LL exampe:
- Kopjo/ngjit dosjen Templates_LL – për të mbajtur burimin fillestar – ose përditëso drejtpërdrejt projektin ekzistues Temp lates_LL.
- Pastaj transferimi konsiston kryesisht në zëvendësimin e Templates_LL files nga Exampprojekti i synuar les_LL.
- Mbani të gjitha pjesët specifike të bordit. Për arsye të qartësisë, pjesët specifike të tabelës janë shënuar me specifikë tags:
- Kështu, hapat kryesorë të bartjes janë si më poshtë:
- Zëvendësoni stm32wbaxx_it.h file
- Zëvendësoni stm32wbaxx_it.c file
- Zëvendësoni kryesoren.h file dhe përditësojeni: Mbajeni përkufizimin LED dhe butonin e përdoruesit të shabllonit LL nën KONFIGURIMI SPECIFIC BOARD tags.
- Zëvendësoni kryesoren.c file dhe përditësojeni atë:
- Mbajeni konfigurimin e orës së funksionit të shabllonit SystemClock_Config() LL nën KONFIGURIMI SPECIFIC BOARD tags.
- Në varësi të përkufizimit LED, zëvendësoni çdo dukuri LDx me një tjetër LDy të disponueshme në main.h file.
- Me këto modifikime, ishample tani shkon në bordin e synuar
Aplikacionet e sigurisë
Kjo paketë ofrohet me aplikacione sigurie.
Aplikacionet SBSFU
- SBSFU ofron një zgjidhje Root of Trust, duke përfshirë funksionet Secure Boot dhe Secure Firmware Update (bazuar në MCUboot).
- Zgjidhja përdoret para ekzekutimit të aplikacionit.
- Zgjidhja ofron një ishamptë një shërbimi të sigurt (ndërrimi GPIO), që është i izoluar nga aplikacioni jo i sigurt. Aplikacioni jo i sigurt në kohën e ekzekutimit mund ta përdorë akoma këtë zgjidhje.
Aplikacionet TFM
TFM ofron një zgjidhje Root of Trust duke përfshirë funksionet Secure Boot dhe Secure Firmware Update
(bazuar në MCUboot). Zgjidhja përdoret para ekzekutimit të aplikacionit. Zgjidhja ofron shërbime të sigurta TFM që janë të izoluara nga aplikacioni jo i sigurt. Aplikacioni jo i sigurt në kohën e ekzekutimit mund ta përdorë akoma këtë zgjidhje.
Aplikacionet RF
Aplikacioni RF përshkruhet në këtë shënim aplikacioni: Ndërtimi i aplikacioneve me valë me mikrokontrolluesit e serisë STM32WBA (AN5928).
Marrja e përditësimeve të versionit STM32CubeWBA
Publikimet dhe arnimet më të fundit të paketës STM32CubeWBA MCU janë të disponueshme nga Seria STM32WBA. Ato mund të merren nga butoni CHECK FOR UPDATE në STM32CubeMX. Për më shumë detaje, referojuni seksionit 3 të manualit të përdorimit STM32CubeMX për konfigurimin dhe inicializimin e STM32 gjenerimin e kodit C (UM1718).
FAQ
- Kur duhet të përdor HAL në vend të drejtuesve LL?
- Drejtuesit HAL ofrojnë API të nivelit të lartë dhe të orientuar drejt funksionit, me një nivel të lartë transportueshmërie. Kompleksiteti i produktit ose periferik është i fshehur për përdoruesit fundorë.
- Drejtuesit LL ofrojnë API të nivelit të regjistrit të nivelit të ulët, me optimizim më të mirë, por më pak të lëvizshëm. Ato kërkojnë njohuri të thella të specifikimeve të produktit ose IP.
- A mund të përdor drejtuesit HAL dhe LL së bashku? Nëse mundem, cilat janë kufizimet?
- Është e mundur të përdoren të dy drejtuesit HAL dhe LL. Përdorni HAL për fazën e inicializimit të IP-së dhe më pas menaxhoni operacionet I/O me drejtuesit LL.
- Dallimi kryesor midis HAL dhe LL është se drejtuesit HAL kërkojnë të krijojnë dhe përdorin doreza për menaxhimin e funksionimit ndërsa drejtuesit LL veprojnë drejtpërdrejt në regjistrat periferikë. Ishamples_MIX example ilustron se si të përzihen HAL dhe LL.
- Si aktivizohen API-të e inicializimit LL?
- Përkufizimi i API-ve të inicializimit të LL dhe burimeve të lidhura (Strukturat, literalet dhe prototipet) kushtëzohet nga çelësi i përpilimit USE_FULL_LL_DRIVER.
- Për të qenë në gjendje të përdorni API-të e inicializimit LL, shtoni këtë ndërprerës në paraprocesorin e përpiluesit të zinxhirit të veglave.
- Si mund të gjenerojë STM32CubeMX kod bazuar në softuer të integruar?
STM32CubeMX ka njohuri të integruara për mikrokontrolluesit STM32, duke përfshirë pajisjet periferike dhe softuerin e tyre që lejon ofrimin e një paraqitje grafike për përdoruesit dhe gjenerimin *.h ose *.c files bazuar në konfigurimin e përdoruesit.
NJOFTIM I RËNDËSISHËM – LEXO ME KUJDES
- STMicroelectronics NV dhe filialet e saj ("ST") rezervojnë të drejtën për të bërë ndryshime, korrigjime, përmirësime, modifikime dhe përmirësime në produktet ST dhe/ose në këtë dokument në çdo kohë pa paralajmërim. Blerësit duhet të marrin informacionin më të fundit përkatës mbi produktet ST përpara se të bëjnë porosi. Produktet ST shiten në përputhje me termat dhe kushtet e shitjes të ST në fuqi në momentin e njohjes së porosisë.
- Blerësit janë vetëm përgjegjës për zgjedhjen, përzgjedhjen dhe përdorimin e produkteve ST dhe ST nuk merr asnjë përgjegjësi për asistencën e aplikimit ose dizajnimin e produkteve të blerësve.
- Asnjë licencë, e shprehur apo e nënkuptuar, për ndonjë të drejtë të pronësisë intelektuale nuk jepet nga ST këtu.
- Rishitja e produkteve ST me dispozita të ndryshme nga informacioni i përcaktuar këtu do të anulojë çdo garanci të dhënë nga ST për këtë produkt.
- ST dhe logoja ST janë marka tregtare të ST. Për informacion shtesë rreth markave ST, referojuni www.st.com/trademarks. Të gjithë emrat e tjerë të produkteve ose shërbimeve janë pronë e pronarëve të tyre përkatës.
- Informacioni në këtë dokument zëvendëson dhe zëvendëson informacionin e dhënë më parë në çdo version të mëparshëm të këtij dokumenti.
- © 2023 STMicroelectronics – Të gjitha të drejtat e rezervuara
Dokumentet / Burimet
![]() |
Fillimi i serive STMicroelectronics STM32WBA [pdf] Manuali i Përdoruesit Seria STM32WBA Fillimi, Fillimi, Fillimi |