STMicroelectronics STM32WBA Seri Pou Kòmanse
Enfòmasyon sou pwodwi
Espesifikasyon:
- Non pwodwi: Pake MCU STM32CubeWBA
- Manifakti: STMicroelectronics
- Konpatibilite: STM32WBA seri mikrokontroleur
- Lisans: Lisans BSD sous louvri
Enstriksyon Itilizasyon Pwodwi
Karakteristik prensipal pake MCU STM32CubeWBA:
Pake MCU STM32CubeWBA bay tout konpozan lojisyèl entegre ki nesesè pou devlope aplikasyon sou mikrokontroleur seri STM32WBA. Li trè pòtab nan seri STM32 la epi li vini ak API HAL ak LL, egzanpamples, ak eleman middleware.
Achitekti souview:
Achitekti Pake MCU STM32CubeWBA a konsiste de twa nivo - Aplikasyon, bibliyotèk ak konpozan ki baze sou pwotokòl, kouch abstrè Materyèl, chofè BSP, chofè debaz, ak API ki ba.
FAQ
- Ki sa ki enkli nan pake MCU STM32CubeWBA a?
Pake a gen ladan API ki ba kouch (LL) ak kouch abstrè pyès ki nan konpitè (HAL), egzanpamples, aplikasyon, middleware konpozan tankou FileX/LevelX, NetX Duo, bibliyotèk mbed-crypto, ak plis ankò. - Èske pake STM32CubeWBA MCU a konpatib ak dèlko kòd STM32CubeMX?
Wi, pake a konplètman konpatib ak dèlko kòd STM32CubeMX pou jenere kòd inisyalizasyon.
Entwodiksyon
- STM32Cube se yon inisyativ orijinal STMicroelectronics pou amelyore pwodiktivite designer anpil nan diminye efò devlopman, tan ak pri. STM32Cube kouvri tout pòtfolyo STM32 la.
STM32Cube gen ladan:- Yon seri zouti devlopman lojisyèl ki fasil pou itilize pou kouvri devlopman pwojè soti nan konsepsyon rive nan realizasyon, pami ki se:
- STM32CubeMX, yon zouti konfigirasyon lojisyèl grafik ki pèmèt jenerasyon otomatik kòd inisyalizasyon C lè l sèvi avèk asistan grafik.
- STM32CubeIDE, yon zouti devlopman tout-an-yon ak konfigirasyon periferik, jenerasyon kòd, konpilasyon kòd, ak karakteristik debug.
- STM32CubeCLT, yon seri zouti devlopman tout-an-yon sèl ak konpilasyon kòd, pwogramasyon tablo, ak karakteristik debug.
- STM32CubeProgrammer (STM32CubeProg), yon zouti pwogramasyon ki disponib nan vèsyon grafik ak liy lòd.
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), zouti siveyans pwisan pou ajiste konpòtman ak pèfòmans aplikasyon STM32 an tan reyèl.
- Pakè STM32Cube MCU ak MPU, platfòm lojisyèl entegre espesifik pou chak seri mikwo-kontwolè ak mikropwosesè (tankou STM32CubeWBA pou seri STM32WBA), ki enkli:
- Kouch abstraksyon pyès ki nan konpitè STM32Cube (HAL), asire transparans maksimize atravè dosye STM32 la.
- STM32Cube API ba-kouch, asire pi bon pèfòmans ak anprint ak yon wo degre de kontwòl itilizatè sou pyès ki nan konpitè
- Yon seri konpozan middleware ki konsistan tankou ThreadX, FileX / LevelX, NetX Duo, USBX, touche bibliyotèk, mbed-crypto, TFM, MCUboot, OpenBL, ak STM32_WPAN (ki gen ladan Bluetooth® Low Energy profiles ak sèvis, Mesh, Zigbee®, OpenThread, Matter, ak kouch MAC 802.15.4)
- Tout sèvis piblik entegre lojisyèl ak ansanm konplè nan periferik ak aplikatif ansyenamples
- Pakè ekspansyon STM32Cube, ki genyen konpozan lojisyèl entegre ki konplete fonksyonalite pakè MCU ak MPU STM32Cube ak:
- Ekstansyon middleware ak kouch aplikasyon
- Examples ap kouri sou kèk espesifik tablo devlopman STMicroelectronics
- Yon seri zouti devlopman lojisyèl ki fasil pou itilize pou kouvri devlopman pwojè soti nan konsepsyon rive nan realizasyon, pami ki se:
- Manyèl itilizatè sa a dekri kijan pou kòmanse ak pake MCU STM32CubeWBA.
- Seksyon 2 STM32CubeWBA karakteristik prensipal yo dekri karakteristik prensipal yo nan pake MCU STM32CubeWBA.
- Seksyon 3 STM32CubeWBA achitekti souview bay yon souview nan achitekti STM32CubeWBA ak estrikti pake MCU.
Enfòmasyon jeneral
Pake MCU STM32CubeWBA a kouri sou mikrokontroleur STM32 32-bit ki baze sou processeur Arm® Cortex®-M33 ak Arm® TrustZone® ak FPU.
Nòt: Arm ak TrustZone se mak anrejistre Arm Limited (oswa filiales li yo) nan peyi Etazini ak/oswa lòt kote.
STM32CubeWBA karakteristik prensipal yo
- Pake STM32CubeWBA MCU a kouri sou mikrokontroleur STM32 32-bit ki baze sou processeur Arm® Cortex®-M33 ak TrustZone® ak FPU.
- STM32CubeWBA rasanble, nan yon sèl pake, tout konpozan lojisyèl entegre jenerik ki nesesè pou devlope yon aplikasyon pou mikrokontroleur seri STM32WBA yo. Nan liy ak inisyativ STM32Cube, seri konpozan sa a trè pòtab, pa sèlman nan seri mikro STM32WBA, men tou nan lòt seri STM32.
- STM32CubeWBA a totalman konpatib ak dèlko kòd STM32CubeMX, pou jenere kòd inisyalizasyon. Pake a gen ladan API ki ba kouch (LL) ak kouch abstrè pyès ki nan konpitè (HAL) ki kouvri pyès ki nan konpitè mikrokontwolè a, ansanm ak yon seri ekstansif.amples kouri sou tablo STMicroelectronics. API HAL ak LL yo disponib nan yon lisans BSD sous louvri pou fasilite itilizatè.
- Pake MCU STM32CubeWBA a gen ladan tou yon eleman middleware konplè ki te konstwi alantou Microsoft® Azure® RTOS middleware, ak lòt pil andedan kay la ak sous louvri, ak ansyen ki koresponn lan.amples.
- Yo vini ak kondisyon lisans gratis, ki fasil pou itilize:
- Azure® RTOS entegre ak tout karakteristik: Azure® RTOS ThreadX
- CMSIS-RTOS aplikasyon ak Azure® RTOS ThreadX
- USB Host ak Aparèy pile vini ak anpil klas: Azure® RTOS USBX
- Avanse file sistèm ak kouch tradiksyon flash: FileX / NivoX
- Pile rezo endistriyèl klas: optimize pou pèfòmans vini ak anpil pwotokòl IoT: NetX Duo
- OpenBootloader
- Solisyon entegrasyon Arm® Trusted Firmware-M (TF-M).
- mbed-crypto bibliyotèk
- Bibliyotèk ST Netwok
- STMTouch manyen deteksyon bibliyotèk solisyon
- Plizyè aplikasyon ak demonstrasyon ki aplike tout konpozan middleware sa yo bay tou nan Pake MCU STM32CubeWBA.
- Layout eleman STM32CubeWBA MCU Package ilistre nan Figi 1. Konpozan STM32CubeWBA MCU Package .
STM32CubeWBA achitekti souview
Se solisyon pake STM32CubeWBA MCU a bati alantou twa nivo endepandan ki fasil kominike jan sa dekri nan Figi 2. Achitekti pake STM32CubeWBA MCU.
Nivo 0
Nivo sa a divize an twa kouch:
- Konsèy sipò pake (BSP).
- Kouch abstrè pyès ki nan konpitè (HAL):
- Chofè periferik HAL
- Chofè ki ba yo
- Itilizasyon debaz periferik eksamples.
Pake sipò konsèy (BSP)
Kouch sa a ofri yon seri API parapò ak eleman pyès ki nan konpitè nan tablo pyès ki nan konpitè (tankou LCD, Audio,\microSD™, ak chofè MEMS). Li konpoze de de pati:
- Chofè konpozan:
Chofè sa a gen rapò ak aparèy ekstèn sou tablo a, epi li pa nan aparèy STM32 la. Chofè konpozan an bay API espesifik konpozan ekstèn chofè BSP yo epi li ka pòtab sou nenpòt lòt tablo. - chofè BSP:
Chofè a BSP pèmèt konekte chofè eleman yo nan yon tablo espesifik, epi li bay yon seri itilizatè-zanmitay
APIs. Règ non API a se BSP_FUNCT_Action().
Example: BSP_LED_Init (), BSP_LED_On ()
BSP baze sou yon achitekti modilè ki pèmèt fasil pòtaj sou nenpòt pyès ki nan konpitè pa jis aplike woutin ki ba yo.
Kouch abstrè pyès ki nan konpitè (HAL) ak kouch ba (LL)
STM32CubeWBA HAL ak LL yo konplemantè epi yo kouvri yon pakèt kondisyon aplikasyon:
- Chofè HAL yo ofri API trè pòtab oryante fonksyon wo nivo. Yo kache MCU a ak konpleksite periferik nan itilizatè final la.
Chofè HAL yo bay API jenerik ki oryante sou karakteristik plizyè enstans, ki senplifye aplikasyon aplikasyon itilizatè yo lè yo bay pwosesis ki pare pou itilize. Pou egzanpample, pou periferik kominikasyon yo (I2S, UART, ak lòt moun), li bay API ki pèmèt inisyalize ak konfigirasyon periferik la, jere transfè done ki baze sou biwo vòt, entèwonp, oswa pwosesis DMA, ak manyen erè kominikasyon ki ka leve pandan kominikasyon. API chofè HAL yo divize an de kategori:- API jenerik, ki bay fonksyon komen ak jenerik nan tout mikrokontroleur seri STM32 yo.
- API ekstansyon, ki bay fonksyon espesifik ak Customized pou yon fanmi espesifik oswa yon nimewo pati espesifik.
- API ki ba-kouch yo bay API ki ba-nivo nan nivo rejis la, ak pi bon optimize men mwens portabilite.
- Yo mande pou yon konesans pwofon nan MCU ak espesifikasyon periferik.
- Chofè LL yo fèt pou ofri yon kouch rapid ki lejè oryante ekspè ki pi pre pyès ki nan konpitè pase HAL la. Kontrèman ak HAL la, LL API yo pa bay pou periferik kote aksè optimize se pa yon karakteristik kle, oswa pou moun ki bezwen konfigirasyon lojisyèl lou oswa pile konplèks nivo siperyè.
- Chofè LL yo prezante:
- Yon seri fonksyon pou inisyalize karakteristik prensipal periferik yo dapre paramèt yo espesifye nan estrikti done yo.
- Yon seri fonksyon pou ranpli estrikti done inisyalizasyon ak valè reset ki koresponn ak chak jaden.
- Fonksyon pou deinitializasyon periferik (rejis periferik retabli nan valè default yo).
- Yon seri fonksyon inline pou aksè dirèk ak atomik rejis.
- Endepandans total de HAL ak kapasite pou itilize nan mòd otonòm (san chofè HAL).
- Kouvèti konplè sou karakteristik periferik ki sipòte yo.
Itilizasyon debaz periferik eksamples
Kouch sa a fèmen ansyen anamples bati sou periferik STM32 yo lè l sèvi avèk sèlman resous HAL ak BSP.
Nivo 1
Nivo sa a divize an de soukouch:
- Konpozan middleware
- Examples ki baze sou eleman middleware yo
Konpozan middleware
- Middleware a se yon seri bibliyotèk ki kouvri Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
- Matter, OpenBootloader, Microsoft® Azure® RTOS, TF-M, MCUboot, ak mbed-crypto.
- Se entèraksyon orizontal ant eleman yo nan kouch sa a fè lè w rele API yo prezante yo.
- Se entèraksyon vètikal ak chofè kouch ba yo fè atravè apèl espesifik ak makro estatik aplike nan koòdone apèl sistèm bibliyotèk la.
- Karakteristik prensipal yo nan chak eleman middleware yo jan sa a:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: Yon sistèm operasyon an tan reyèl (RTOS), ki fèt pou sistèm entegre ak de mòd fonksyonèl.
- Mòd komen: Fonksyonalite RTOS komen tankou jesyon fil ak senkronizasyon, jesyon pisin memwa, messagerie, ak manyen evènman.
- Mòd modil: Yon mòd itilizatè avanse ki pèmèt chaje ak dechaje modil ThreadX prelinked sou vole atravè yon manadjè modil.
- NetX Duo
- FileX
- USBX
- Azure® RTOS ThreadX: Yon sistèm operasyon an tan reyèl (RTOS), ki fèt pou sistèm entegre ak de mòd fonksyonèl.
- Bluetooth® Low Energy (BLE): Enplemante pwotokòl Bluetooth® Low Energy pou kouch Link ak Stack.
- MCUboot (lojisyèl sous louvri)
- Pwotokòl Zigbee® pou pile a ak gwoup ki gen rapò.
- Pile pwotokòl Thread® ak kouch lyen.
- Arm® trusted firmware-M, TF-M (open-source software): Referans aplikasyon achitekti sekirite platfòm Arm® (PSA) pou TrustZone® ak sèvis sekirite ki asosye yo.
- mbed-crypto (lojisyèl sous louvri): middleware mbed-crypto bay yon aplikasyon API kriptografik PSA.
- STM32 Touch bibliyotèk deteksyon: solid STMTouch kapasitif manyen deteksyon solisyon, sipòte pwoksimite, touchkey, lineyè ak detèktè manyen rotary. Li baze sou yon prensip akizisyon transfè chaj sifas pwouve.
- Microsoft® Azure® RTOS
Examples ki baze sou eleman middleware yo
Chak eleman middleware vini ak youn oswa plis ansyenamples (yo rele tou aplikasyon) ki montre kijan pou itilize li. Entegrasyon eksamples ki itilize plizyè konpozan middleware yo bay tou.
Pake firmwèr STM32CubeWBA souview
Sipòte aparèy seri STM32WBA ak pyès ki nan konpitè
- STM32Cube ofri yon kouch abstrè pyès ki nan konpitè trè pòtab (HAL) bati alantou yon achitekti jenerik. Li pèmèt prensip la bati-sou kouch, tankou lè l sèvi avèk kouch nan middleware aplike fonksyon yo san yo pa konnen, an pwofondè, ki sa MCU yo itilize. Sa a amelyore reutilizasyon kòd bibliyotèk la epi asire yon portabilite fasil nan lòt aparèy.
- Anplis de sa, gras a achitekti kouch li yo, STM32CubeWBA a ofri sipò konplè nan tout seri STM32WBA.
- Itilizatè a gen sèlman defini macro nan dwa nan stm32wbaxx.h.
- Tablo 1 montre makro pou defini selon aparèy seri STM32WBA yo itilize. Yo dwe defini makro sa a tou nan preprosesè konpilatè a.
Tablo 1. Macro pou seri STM32WBAMakro defini nan stm32wbaxx.h STM32WBA seri aparèy stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6 stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7 - STM32CubeWBA prezante yon seri rich ansyenamples ak aplikasyon nan tout nivo fè li fasil pou konprann ak itilize nenpòt konpozan chofè HAL oswa middleware. Sa yo ansyenamples yo kouri sou tablo STMicroelectronics ki nan lis nan Tablo 2.
Tablo 2. Planch pou seri STM32WBAKomisyon Konsèy Board STM32WBA sipòte aparèy NIKLEO-WBA52CG STM32WBA52CGU6 NIKLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - Pake STM32CubeWBA MCU a ka kouri sou nenpòt pyès ki nan konpitè konpatib. Itilizatè a tou senpleman mete ajou chofè BSP yo nan pò ansyen yo bay laamples sou tablo a, si lèt la gen menm karakteristik pyès ki nan konpitè (tankou dirije, LCD ekspozisyon, ak bouton).
Pake firmwèr souview
- Solisyon pake STM32CubeWBA bay nan yon sèl pake postal ki gen estrikti ki montre nan Figi 3. Estrikti pake firmwèr STM32CubeWBA.
- Pou chak tablo, yon seri examples yo bay pwojè prekonfigirasyon pou chèn zouti EWARM, MDK-ARM, ak STM32CubeIDE.
- Figi 4. STM32CubeWBA examples souview montre estrikti pwojè a pou tablo NUCLEO-WBA52CG, NUCLEO-WBA55CG ak STM32WBA55G-DK1.
- Ansyen anamples yo klase selon nivo STM32Cube ke yo aplike a, epi yo rele yo jan sa a:
- Nivo 0 eksampyo rele Egzamples, Egzamples_LL, ak Egzamples_MIX. Yo itilize respektivman chofè HAL, chofè LL, ak yon melanj de chofè HAL ak LL san okenn eleman middleware.
- Nivo 1 eksamples yo rele Aplikasyon. Yo bay ka itilizasyon tipik nan chak eleman middleware. Nenpòt aplikasyon firmwèr pou yon tablo bay yo ka byen vit bati gras a modèl pwojè ki disponib nan anyè Templ ates ak Templates_LL.
Pwojè ki pèmèt TrustZone®
- TrustZone® pèmèt Egzampnon yo genyen prefiks _TrustZone. Règ la aplike tou pou Aplikasyon (eksepte pou TFM ak SBSFU, ki se natif natal pou TrustZone®).
- TrustZone® ki pèmèt Egzampyo ak Aplikasyon yo bay yon estrikti milti-pwojè ki konpoze de sou-pwojè ki an sekirite ak ki pa an sekirite jan yo prezante nan Figi 5. Estrikti pwojè milti-pwojè ki an sekirite ak ki pa an sekirite.
- Pwojè ki pèmèt TrustZone® yo devlope dapre modèl aparèy CMSIS-5, pwolonje pou enkli tèt patisyon sistèm lan. file partition_ .h, ki moun ki prensipalman responsab pou konfigirasyon inite atribi an sekirite (SAU), FPU a, ak plasman entèwonp ki an sekirite/non sekirite nan eta egzekisyon an sekirite.
- Konfigirasyon sa a fèt nan fonksyon an sekirite CMSIS SystemInit() , ki rele nan demaraj anvan ou antre nan fonksyon prensipal aplikasyon an sekirite. Al gade nan dokiman sou gid lojisyèl Arm® TrustZone®-M.
- Pake firmwèr pake STM32CubeWBA bay patisyon memwa default nan patisyon an _ .h fileyo disponib anba: \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T emplates
- Nan patisyon sa yo files, SAU a enfim pa default. Se poutèt sa, kat memwa IDAU yo itilize pou atribisyon sekirite. Gade figi Sekirite/ki pa an sekirite patisyon itilize teknoloji TrustZone® nan manyèl referans RM0495 la.
- Si itilizatè a pèmèt SAU a, se yon konfigirasyon default rejyon SAU predefini nan patisyon files jan sa a:
- SAU rejyon 0: 0x08080000 – 0x081FFFFF (mwatye ki pa an sekirite nan memwa flash (512 Kot))
- SAU rejyon 1: 0x0BF88000 – 0x0BF97FFF (memwa sistèm ki pa an sekirite)
- Rejyon SAU 2: 0x0C07E000 – 0x0C07FFFF (sekirize, ki pa an sekirite)
- SAU rejyon 3: 0x20010000 – 0x2001FFFF (SRAM2 ki pa an sekirite (64 Ko))
- SAU rejyon 4: 0x40000000 – 0x4FFFFFFF (memwa ki pa an sekirite periferik)
- Pou matche ak patisyon default la, aparèy seri STM32WBAxx yo dwe genyen bytes opsyon itilizatè sa yo mete:
- TZEN = 1 (aparèy ki pèmèt TrustZone®)
- SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (64 sou 128 paj memwa flash entèn yo mete an sekirite) Remak: memwa flash entèn la konplètman an sekirite pa default nan TZEN = 1. Opsyon itilizatè bytes SECWM1_PSTRT/ SECWM1_PEND dwe mete dapre aplikasyon an. konfigirasyon memwa (rejyon SAU, si SAU aktive). Secure/nonsecure aplikasyon pou pwojè linker files dwe tou aliman.
- tout ansyenamples yo gen menm estrikti:
- \Inc folder ki gen tout header files.
- Katab Src ki gen kòd sous la.
- Dosye \EWARM, \MDK-ARM, ak \STM32CubeIDE ki genyen pwojè prekonfigirasyon pou chak chèn zouti.
- readme.md ak readme.html ki dekri ansyen anample konpòtman ak anviwònman ki nesesè pou fè li travay.
- ioc file ki pèmèt itilizatè yo louvri pi fò nan firmwèr ansyen anamples nan STM32CubeMX.
Kòmanse ak STM32CubeWBA
Kouri yon premye HAL example
Seksyon sa a eksplike kijan li senp pou kouri premye ansyen anample nan STM32CubeWBA. Li itilize kòm yon ilistrasyon jenerasyon an nan yon baskile ki senp dirije ki kouri sou tablo a NUCLEO-WBA52CG:
- Telechaje pakè STM32CubeWBA MCU a.
- Dekonprime li nan yon anyè ou chwazi.
- Asire w ou pa modifye estrikti pake yo montre nan Figi 1. Li rekòmande tou pou kopye pake a nan yon kote ki toupre volim rasin ou (sa vle di C:\ST oswa G:\Tès), paske kèk IDE rankontre pwoblèm lè chemen an. longè a twò long.
Kouri yon premye TrustZone® ki pèmèt ansyenample
- Anvan ou chaje ak kouri yon TrustZone® ki pèmèt ansyenample, li obligatwa pou li ansyen anample readme file pou nenpòt konfigirasyon espesifik, ki asire ke sekirite a aktive jan sa dekri nan Seksyon 4.2.1 TrustZone® pèmèt pwojè (TZEN=1 (opsyon itilizatè byte)).
- Navige nan \Projects\NUCLEO-WBA52CG\Examples.
- Louvri \GPIO, apresa \GPIO_IOToggle_TrustZone dosye.
- Louvri pwojè a ak chèn zouti ou pi pito. Yon rapid souview sou kòman yo louvri, bati, ak kouri yon ansyenampyo bay pi ba a le ak chèn zouti ki sipòte yo.
- Rebati nan sekans tout pwojè ki an sekirite ak ki pa an sekirite files epi chaje imaj ki an sekirite ak ki pa an sekirite nan memwa sib la.
- Kouri ansyen anample: regilyèman, aplikasyon an sekirite baskile LD2 chak segonn, ak aplikasyon an nonsecure bascule LD3 de fwa pi vit. Pou plis detay, al gade nan readme a file nan ansyen anample.
- Pou louvri, bati ak kouri yon ansyenample ak chèn zouti yo sipòte, swiv etap ki anba yo:
- EWARM:
- Anba ansyen anample folder, louvri \EWARM subfolder.
- Lanse espas travay Project.eww la
- Rebati pwojè an sekirite xxxxx_S la files: [Pwojè]> [Rebati tout].
- Mete pwojè xxxxx_NS ki pa an sekirite kòm aplikasyon aktif (klike sou dwa sou pwojè xxxxx_NS [Mete kòm aktif])
- Rebati pwojè xxxxx_NS ki pa an sekirite files: [Pwojè]> [Rebati tout].
- Flash binè ki pa an sekirite ak [Pwojè]>[Telechaje]>[Telechaje aplikasyon aktif] .
- Mete xxxxx_S la kòm aplikasyon aktif (klike sou dwa xxxxx_S pwojè [Mete kòm aktif].
- Flash binè an sekirite ak [Telechaje ak Debug] (Ctrl + D).
- Kouri pwogram nan: [Debug]> [Ale (F5)]
- MDK-ARM:
- Louvri chèn zouti \MDK-ARM.
- Louvri espas travay Multiprojects la file Project.uvmpw.
- Chwazi pwojè xxxxx_s la kòm aplikasyon aktif ([Mete kòm pwojè aktif]).
- Bati pwojè xxxxx_s la.
- Chwazi pwojè xxxxx_ns la kòm pwojè aktif ([Mete kòm pwojè aktif]).
- Bati pwojè xxxxx_ns la.
- Chaje binè ki pa an sekirite ([F8]). Sa a telechaje \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf nan memwa flash)
- Chwazi pwojè Project_s la kòm pwojè aktif ([Mete kòm pwojè aktif]).
- Chaje binè an sekirite ([F8]). Sa a telechaje \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf nan memwa flash).
- Kouri ansyen anample.
- STM32CubeIDE:
- Louvri chèn zouti STM32CubeIDE.
- Louvri espas travay Multiprojects la file .pwojè.
- Rebati pwojè xxxxx_Secure.
- Rebati pwojè xxxxx_NonSecure la.
- Lanse aplikasyon [Debug kòm STM32 Cortex-M C/C++] pou pwojè an sekirite.
- Nan fennèt la [Edit konfigirasyon], chwazi panèl [Demaraj], epi ajoute chaj imaj la ak senbòl pwojè ki pa an sekirite.
Enpòtan: Pwojè ki pa an sekirite a dwe chaje anvan pwojè an sekirite a. - Klike sou [Ok].
- Kouri ansyen anample sou pèspektiv debug.
- EWARM:
Kouri yon premye TrustZone® ki andikape ansyenample
- Anvan ou chaje ak kouri yon TrustZone® ki andikape ansyenample, li obligatwa pou li ansyen anample readme file pou nenpòt konfigirasyon espesifik. Si pa gen okenn mansyone espesifik, asire ke aparèy tablo a gen sekirite enfim (TZEN = 0 (opsyon itilizatè byte)). Gade FAQ pou fè regression opsyonèl pou TZEN = 0
- Navige nan \Projects\NUCLEO-WBA52CG\Examples.
- Louvri \GPIO, apresa \GPIO_EXTI dosye.
- Louvri pwojè a ak chèn zouti ou pi pito. Yon rapid souview sou kòman yo louvri, bati, ak kouri yon ansyenampyo bay pi ba a le ak chèn zouti ki sipòte yo.
- Rebati tout files epi chaje imaj ou nan memwa sib la.
- Kouri ansyen anample: Chak fwa yo peze bouton [UTILIZATEZ] a, LED LD1 la ap chanje. Pou plis detay, al gade nan readme a file nan ansyen anample.
- Pou louvri, bati ak kouri yon ansyenample ak chèn zouti yo sipòte, swiv etap ki anba yo:
- EWARM:
- Anba ansyen anample folder, louvri \EWARM subfolder.
- Lanse espas travay Project.eww (non espas travay la ka chanje soti nan yon ansyenample nan yon lòt).
- Rebati tout files: [Pwojè]> [Rebati tout].
- Chaje imaj pwojè a: [Pwojè]> [Debug].
- Kouri pwogram: [Debug]> [Ale (F5)].
- MDK-ARM:
- Anba ansyen anampkatab le, louvri sousdosye \MDK-ARM la.
- Lanse espas travay Project.uvproj (non espas travay la ka chanje soti nan yon ansyenample nan yon lòt).
- Rebati tout files:[Pwojè]>[Rebati tout sib files].
- Chaje imaj pwojè a: [Debug]> [Kòmanse/Stop Debug Sesyon].
- Kouri pwogram: [Debug]> [Kouri (F5)].
- STM32CubeIDE:
- Louvri chèn zouti STM32CubeIDE.
- Klike sou [File]>[Chanje espas travay]>[Lòt] epi ale nan anyè espas travay STM32CubeIDE.
- Klike sou [File]>[Enpòte] , chwazi [Jeneral]>[Pwojè ki deja egziste nan espas travay], epi klike sou [Next].
- Navige nan anyè espas travay STM32CubeIDE epi chwazi pwojè a.
- Rebati tout pwojè files: Chwazi pwojè a nan fenèt [Project Explorer] epi klike sou meni [Pwojè]>[Konstwi pwojè].
- Kouri pwogram nan: [Kouri]> [Debug (F11)]
- EWARM:
Devlope yon aplikasyon koutim
Nòt: Lojisyèl dwe pèmèt kachèt ansèyman an (ICACHE) pou jwenn yon ekzekisyon 0 tann-eta soti nan memwa flash, epi rive nan pèfòmans maksimòm nan ak yon pi bon konsomasyon pouvwa.
Sèvi ak STM32CubeMX pou devlope oswa mete ajou yon aplikasyon
- Nan pake MCU STM32CubeWBA, prèske tout pwojè ansyenamples yo pwodwi ak zouti STM32CubeMX pou inisyalize sistèm nan, periferik, ak middleware.
- Itilizasyon dirèk yon pwojè ki egziste dejaample soti nan zouti STM32CubeMX a mande STM32CubeMX 6.10.0 oswa pi wo:
- Apre enstalasyon STM32CubeMX, louvri epi si sa nesesè mete ajou yon pwojè pwopoze. Fason ki pi senp pou ouvri yon pwojè ki deja egziste se double-klike sou *.ioc la file se konsa ke STM32CubeMX otomatikman louvri pwojè a ak sous li yo files.
- STM32CubeMX jenere kòd sous inisyalizasyon pwojè sa yo. Kòd sous aplikasyon prensipal la genyen nan kòmantè "KÒD ITIlizatè KÒMANSE" ak "KÒD ITIlizatè FINI". Nan ka seleksyon IP ak anviwònman yo modifye, STM32CubeMX mete ajou pati inisyalizasyon kòd la men prezève kòd sous aplikasyon prensipal la.
- Pou devlope yon pwojè koutim nan STM32CubeMX, swiv etap pa etap pwosesis la:
- Chwazi mikrokontwolè STM32 ki matche ak seri periferik ki nesesè yo.
- Konfigure tout lojisyèl entegre obligatwa yo lè l sèvi avèk yon rezolisyon konfli pinout, yon asistan paramèt revèy-pyebwa, yon kalkilatris konsomasyon pouvwa, ak sèvis piblik ki fè konfigirasyon periferik MCU (tankou GPIO oswa USART) ak pil middleware (tankou USB).
- Jenere inisyalizasyon C kòd la ki baze sou konfigirasyon chwazi a. Kòd sa a pare pou itilize nan plizyè anviwònman devlopman. Kòd itilizatè a kenbe nan pwochen jenerasyon kòd la.
- Pou plis enfòmasyon sou STM32CubeMX, al gade nan manyèl itilizatè STM32CubeMX pou konfigirasyon STM32 ak inisyalizasyon jenerasyon kòd C (UM1718).
- Pou yon lis pwojè ki disponib examples pou STM32CubeWBA, al gade nan nòt aplikasyon STM32Cube firmwèr eksamples pou seri STM32WBA (AN5929).
Aplikasyon pou chofè yo
Aplikasyon HAL
Seksyon sa a dekri etap ki nesesè pou kreye yon aplikasyon HAL koutim lè l sèvi avèk STM32CubeWBA:
- Kreye yon pwojè
- Pou kreye yon nouvo pwojè, kòmanse swa nan pwojè Modèl yo bay pou chak tablo anba \Pwojè\. \Modèl oswa nan nenpòt pwojè ki disponib anba \Pwojè\ \Egzanp oswa \Pwojè\ \Aplikasyon (kote refere a non tablo a, tankou STM32CubeWBA).
- Pwojè Modèl la bay yon fonksyon bouk prensipal vid. Sepandan, li se yon bon pwen depa konprann anviwònman pwojè STM32CubeWBA yo. Modèl la gen karakteristik sa yo:
- Li genyen kòd sous HAL, CMSIS, ak chofè BSP, ki se yon seri eleman minimòm ki nesesè pou devlope yon kòd sou yon tablo bay.
- Li gen ladann chemen yo pou tout konpozan firmwèr yo.
- Li defini aparèy seri STM32WBA ki sipòte yo, sa ki pèmèt chofè CMSIS ak HAL yo dwe konfigirasyon kòrèkteman.
- Li bay itilizatè ki pare pou itilize fileyo prekonfigire jan yo montre anba a:
HAL inisyalize ak baz tan default ak Arm® nwayo SysTick. SysTick ISR aplike pou rezon HAL_Delay().
Nòt: Lè w ap kopye yon pwojè ki deja egziste nan yon lòt kote, asire w ke tout chemen enkli yo mete ajou.
- Ajoute middleware ki nesesè nan pwojè itilizatè a (si ou vle)
Pou idantifye sous la fileyo dwe ajoute nan pwojè a file lis, al gade nan dokiman yo bay pou chak middleware. Gade aplikasyon yo anba \Projects\STM32xxx_yyy\Applications\ (kote refere a pile middleware, tankou ThreadX) pou konnen ki sous files ak enkli chemen yo dwe ajoute. - Konfigirasyon konpozan firmwèr yo
Konpozan HAL ak middleware yo ofri yon seri opsyon konfigirasyon epòk konstriksyon lè l sèvi avèk makro #define te deklare nan yon header file. Yon konfigirasyon modèl file yo bay nan chak eleman, ki dwe kopye nan katab pwojè a (anjeneral konfigirasyon an file yo rele xxx_conf_template.h, mo _template a bezwen retire lè w kopye li nan katab pwojè a). Konfigirasyon an file bay ase enfòmasyon pou konprann enpak chak opsyon konfigirasyon. Gen plis enfòmasyon detaye ki disponib nan dokiman yo bay pou chak eleman. - Kòmanse bibliyotèk HAL la
Apre sote nan pwogram prensipal la, kòd aplikasyon an dwe rele API HAL_Init() pou inisyalize bibliyotèk HAL la, ki fè travay sa yo:- Konfigirasyon prefetch memwa flash ak priyorite SysTick entèwonp (atravè makro defini nan st m32wbaxx_hal_conf.h).
- Konfigirasyon SysTick pou jenere yon entèwonp chak milisgond nan priyorite SysTick entèwonp TICK_INT_PRIO ki defini nan stm32wbaxx_hal_conf.h.
- Anviwònman priyorite gwoup NVIC a 0.
- Rele fonksyon HAL_MspInit() callback defini nan itilizatè stm32wbaxx_hal_msp.c file pou fè mondyal inisyalizasyon pyès ki nan konpitè ba nivo.
- Konfigure revèy sistèm lan
Konfigirasyon revèy sistèm lan fè lè w rele de API ki dekri anba a:- HAL_RCC_OscConfig(): API sa a konfigirasyon osilateur entèn ak ekstèn yo. Itilizatè a chwazi konfigirasyon youn oswa tout osilateur.
- HAL_RCC_ClockConfig(): API sa a konfigirasyon sous revèy sistèm lan, latansi memwa flash, ak preskalers AHB ak APB.
- Inisyalize periferik la
- Premye ekri fonksyon periferik HAL_PPP_MspInit. Kontinye jan sa a:
- Pèmèt revèy periferik la.
- Konfigure GPIO periferik yo.
- Konfigure chanèl DMA a epi pèmèt entèwonp DMA (si sa nesesè).
- Pèmèt entèwonp periferik (si sa nesesè).
- Edit stm32xxx_it.c pou rele moun k ap okipe entèwonp yo (periferik ak DMA), si sa nesesè.
- Ekri pwosesis konplè fonksyon callback, si yon entèwonp periferik oswa DMA te planifye yo dwe itilize.
- Nan itilizatè main.c file, inisyalize estrikti manch periferik la epi rele fonksyon HAL_PPP_Init() pou inisyalize periferik la.
- Premye ekri fonksyon periferik HAL_PPP_MspInit. Kontinye jan sa a:
- Devlope yon aplikasyon
- Nan s sa atage, sistèm nan pare ak devlopman kòd aplikasyon itilizatè a ka kòmanse.
- HAL a bay API entwisyon ak pare pou itilize pou konfigirasyon periferik la. Li sipòte sondaj, entèwonp, ak yon modèl pwogramasyon DMA, pou akomode nenpòt kondisyon aplikasyon. Pou plis detay sou fason pou itilize chak periferik, al gade nan ansyen rich laample mete yo bay nan pake a MCU STM32CubeWBA.
Atansyon: Nan aplikasyon HAL defo, yo itilize revèy SysTick kòm yon baz tan: li jenere entèwonp nan entèval tan regilye. Si yo rele HAL_Delay() nan pwosesis ISR periferik la, asire w ke entèwonp SysTick la gen yon pi gwo priyorite (nimerik pi ba) pase entèwonp periferik la. Sinon, pwosesis ISR moun kap rele a bloke. Fonksyon ki afekte konfigirasyon baz tan yo deklare kòm __fèb pou rann ranvwaye posib nan ka ta gen lòt aplikasyon nan itilizatè a. file (itilize yon revèy jeneral, pa egzanpample, oswa yon lòt sous tan). Pou plis detay, al gade nan egzanp HAL_TimeBaseample.
aplikasyon LL
Seksyon sa a dekri etap ki nesesè pou kreye yon aplikasyon LL koutim lè l sèvi avèk STM32CubeWBA.
- Kreye yon pwojè
- Pou kreye yon nouvo pwojè, swa kòmanse nan pwojè Templates_LL yo bay pou chak tablo anba \Projects\. \Templates_LL, oswa nan nenpòt pwojè ki disponib anba \Projects\ \Egzamples_LL ( refere a non tablo a, tankou NUCLEO-WBA32CG).
- Pwojè modèl la bay yon fonksyon bouk prensipal vid, ki se yon bon pwen depa pou konprann anviwònman pwojè yo pou STM32CubeWBA. Karakteristik prensipal modèl yo se sa ki annapre yo:
- Li gen kòd sous chofè LL ak CMSIS, ki se yon seri eleman minimòm ki nesesè pou devlope kòd sou yon tablo bay.
- Li gen ladann chemen yo pou tout konpozan firmwèr ki nesesè yo.
- Li chwazi aparèy seri STM32WBA ki sipòte epi li pèmèt konfigirasyon kòrèk chofè CMSIS ak LL yo.
- Li bay itilizatè ki pare pou itilize fileyo ki prekonfigire jan sa a:
◦ main.h: LED ak USER_BUTTON definisyon abstraksyon kouch.
◦ main.c: Konfigirasyon revèy sistèm pou maksimòm frekans.
- Pòte yon pwojè ki egziste deja sou yon lòt tablo
Pou sipòte yon pwojè ki deja egziste sou yon lòt tablo sib, kòmanse nan pwojè Templates_LL yo bay pou chak tablo epi ki disponib anba \Projects\ \Templates_LL.- Chwazi yon LL example: Pou jwenn tablo a sou ki LL examples yo deplwaye, al gade nan lis LL examples STM32CubeProjectsList.html.
- Pòt LL example:
- Kopi / kole katab Templates_LL - pou kenbe sous inisyal la - oswa dirèkteman mete ajou pwojè Temp lates_LL ki egziste deja.
- Lè sa a, pòtaj konsiste prensipalman nan ranplase Templates_LL files pa Examples_LL vize pwojè.
- Kenbe tout pati espesifik tablo yo. Pou rezon klè, pati espesifik tablo yo make ak espesifik tags:
- Kidonk, etap prensipal yo nan pòtaj yo se sa ki annapre yo:
- Ranplase stm32wbaxx_it.h file
- Ranplase stm32wbaxx_it.c file
- Ranplase prensipal la.h file epi mete ajou li: Kenbe definisyon ki ap dirije a ak bouton itilizatè a nan modèl LL a anba KONFIGRASYON ESPESIFIK BOARD. tags.
- Ranplase prensipal la.c file epi mete ajou li:
- Kenbe konfigirasyon revèy la nan fonksyon modèl SystemClock_Config() LL anba KONFIGURASYON ESPESIFIK BOARD. tags.
- Tou depan de definisyon ki ap dirije a, ranplase chak ensidan LDx ak yon lòt LDy ki disponib nan main.h file.
- Avèk modifikasyon sa yo, ansyen anample kounye a kouri sou tablo a vize
Aplikasyon sekirite
Pake sa a delivre ak aplikasyon sekirite.
aplikasyon SBSFU
- SBSFU bay yon solisyon Root of Trust, ki gen ladan Secure Boot ak Secure Firmware Update fonctionnalités (ki baze sou MCUboot).
- Se solisyon an itilize anvan egzekite aplikasyon an.
- Solisyon an bay yon ansyenample nan yon sèvis an sekirite (GPIO baskile), ki izole nan aplikasyon an ki pa an sekirite. Aplikasyon ki pa an sekirite nan tan an ka toujou sèvi ak solisyon sa a.
Aplikasyon TFM yo
TFM a bay yon solisyon Rasin konfyans ki gen ladan Secure Boot ak Secure Firmware Update fonctionnalités
(ki baze sou MCUboot). Se solisyon an itilize anvan egzekite aplikasyon an. Solisyon an bay sèvis sekirite TFM ki izole nan aplikasyon an ki pa an sekirite. Aplikasyon ki pa an sekirite nan tan an ka toujou sèvi ak solisyon sa a.
Aplikasyon RF yo
Aplikasyon RF a dekri nan nòt aplikasyon sa a: Bati aplikasyon san fil ak mikrokontroleur seri STM32WBA (AN5928).
Jwenn mizajou lage STM32CubeWBA
Dènye pakè STM32CubeWBA MCU ak plak yo disponib nan Seri STM32WBA. Yo ka jwenn yo nan bouton TCHEKE POU MIZAJOU nan STM32CubeMX. Pou plis detay, al gade nan Seksyon 3 nan manyèl itilizatè STM32CubeMX pou konfigirasyon STM32 ak inisyalizasyon jenerasyon kòd C (UM1718).
FAQ
- Kilè mwen ta dwe itilize HAL olye de chofè LL?
- Chofè HAL yo ofri API wo nivo ak fonksyon oryante, ak yon wo nivo de portabilite. Pwodwi oswa konpleksite periferik kache pou itilizatè fen yo.
- Chofè LL yo ofri API nivo enskripsyon ki ba, ak pi bon optimize men mwens pòtab. Yo mande yon konesans pwofondè sou pwodwi oswa espesifikasyon IP.
- Èske mwen ka itilize chofè HAL ak LL ansanm? Si mwen kapab, ki kontrent yo?
- Li posib pou itilize tou de chofè HAL ak LL. Sèvi ak HAL pou faz inisyalizasyon IP epi jere operasyon I/O ak chofè LL yo.
- Pi gwo diferans ki genyen ant HAL ak LL se ke chofè HAL oblije kreye epi sèvi ak manch pou jesyon operasyon pandan y ap chofè LL yo opere dirèkteman sou rejis periferik yo. Examples_MIX exampli montre kijan pou melanje HAL ak LL.
- Ki jan LL inisyalizasyon API yo aktive?
- Definisyon API inisyalizasyon LL ak resous ki asosye yo (Estrikti, literal, ak pwototip) kondisyone pa switch konpilasyon USE_FULL_LL_DRIVER.
- Pou kapab itilize API inisyalizasyon LL, ajoute switch sa a nan preprosesè zouti chèn konpilatè a.
- Ki jan STM32CubeMX ka jenere kòd ki baze sou lojisyèl entegre?
STM32CubeMX gen konesans entegre nan mikrokontroleur STM32, ki gen ladan periferik yo ak lojisyèl ki pèmèt bay itilizatè a yon reprezantasyon grafik ak jenere *.h oswa *.c. files baze sou konfigirasyon itilizatè.
AVI ENPÒTAN – LI AK ATANSYON
- STMicroelectronics NV ak filiales li yo ("ST") rezève dwa pou fè chanjman, koreksyon, amelyorasyon, modifikasyon, ak amelyorasyon nan pwodwi ST ak/oswa nan dokiman sa a nenpòt ki lè san avètisman. Achtè yo ta dwe jwenn dènye enfòmasyon enpòtan sou pwodwi ST yo anvan yo mete lòd. Pwodwi ST yo vann daprè tèm ak kondisyon pou vann ST ki an plas nan moman rekonesans lòd la.
- Achtè yo se sèl responsab pou chwa, seleksyon, ak itilizasyon pwodwi ST yo epi ST pa sipoze okenn responsablite pou asistans aplikasyon oswa konsepsyon pwodwi achtè yo.
- Pa gen okenn lisans, eksprime oswa implicite, sou okenn dwa pwopriyete entelektyèl akòde pa ST nan la a.
- Revann pwodwi ST ak dispozisyon ki diferan de enfòmasyon ki endike nan la a pral anile nenpòt garanti ST akòde pou pwodui sa a.
- ST ak logo ST a se mak komèsyal ST. Pou jwenn plis enfòmasyon sou mak ST, al gade nan www.st.com/trademarks. Tout lòt non pwodwi oswa sèvis yo se pwopriyete pwopriyetè respektif yo.
- Enfòmasyon ki nan dokiman sa a ranplase epi ranplase enfòmasyon yo te bay anvan nan nenpòt vèsyon anvan dokiman sa a.
- © 2023 STMicroelectronics – Tout dwa rezève
Dokiman / Resous
![]() |
STMicroelectronics STM32WBA Seri Pou Kòmanse [pdfManyèl Itilizatè Seri STM32WBA Kòmanse, Kòmanse, Kòmanse |