STMicroelectronics STM32WBA Series Farawa
Bayanin samfur
Ƙayyadaddun bayanai:
- Sunan samfur: Bayanan Bayani na STM32CubeWBA MCU
- Mai ƙira: STMicroelectronics
- Daidaituwa: Bayanan Bayani na STM32WBA
- Lasisi: Bude tushen lasisin BSD
Umarnin Amfani da samfur
Babban Abubuwan Fakitin STM32CubeWBA MCU:
Kunshin STM32CubeWBA MCU yana ba da duk abubuwan da aka haɗa da kayan aikin software don haɓaka aikace-aikace akan jerin microcontrollers na STM32WBA. Yana da sauƙin ɗauka a cikin jerin STM32 kuma ya zo tare da HAL da LL APIs, misaliamples, da kuma abubuwan da aka gyara na tsakiya.
Architecture Overview:
Gine-gine na Kunshin STM32CubeWBA MCU ya ƙunshi matakai guda uku - Aikace-aikace, Laburare da abubuwan tushen yarjejeniya, Layer abstraction Layer, Direbobin BSP, Direbobi masu mahimmanci, da APIs-Layer.
FAQ
- Menene ya haɗa a cikin Kunshin STM32CubeWBA MCU?
Kunshin ya haɗa da ƙananan Layer (LL) da Layer abstraction Layer (HAL) APIs, misaliamples, aikace-aikace, matsakaicin kayan aikin kamar FileX/LevelX, NetX Duo, mbd-crypto dakunan karatu, da ƙari. - Shin Kunshin STM32CubeWBA MCU ya dace da janareta na lambar STM32CubeMX?
Ee, kunshin ya dace sosai tare da janareta na lambar STM32CubeMX don ƙirƙirar lambar farawa.
Gabatarwa
- STM32Cube wani yunƙuri ne na STMMicroelectronics na asali don haɓaka yawan aikin ƙira ta hanyar rage ƙoƙarin haɓakawa, lokaci, da farashi. STM32Cube ya rufe dukkan fayil ɗin STM32.
STM32Cube ya hada da:- Saitin kayan aikin haɓaka software na abokantaka masu amfani don rufe haɓakar ayyukan daga tunani zuwa ganewa, daga cikinsu akwai:
- STM32CubeMX, kayan aikin daidaitawa na software mai hoto wanda ke ba da damar ƙirƙira ta atomatik na lambar ƙaddamar da C ta amfani da wizards na hoto.
- STM32CubeIDE, kayan aikin ci gaba gabaɗaya tare da daidaitawar gefe, tsara lamba, harhada lambobin, da fasalulluka na gyara kuskure.
- STM32CubeCLT, kayan aikin haɓaka layin umarni duka-cikin-ɗaya tare da haɗa lamba, shirye-shiryen allo, da fasalin gyara kuskure.
- STM32CubeProgrammer (STM32CubeProg), kayan aikin shirye-shirye da ake samu a cikin zane-zane da sigogin layin umarni.
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), kayan aikin sa ido masu ƙarfi don daidaita ɗabi'a da aiwatar da aikace-aikacen STM32 a cikin ainihin lokaci.
- Fakitin STM32Cube MCU da MPU, cikakkun dandamali-software da aka shigar da su musamman ga kowane microcontroller da jerin microprocessor (kamar STM32CubeWBA don jerin STM32WBA), waɗanda suka haɗa da:
- STM32Cube hardware abstraction Layer (HAL), yana tabbatar da girman iya ɗauka a cikin fayil ɗin STM32
- API ɗin ƙananan Layer STM32Cube, yana tabbatar da mafi kyawun aiki da sawun sawun tare da babban matakin sarrafa mai amfani akan kayan masarufi.
- Daidaitaccen saiti na abubuwan haɗin tsakiya kamar ThreadX, FileX/LevelX, NetX Duo, USBX, touch library, mbed-crypto, TFM, MCUboot, OpenBL, da STM32_WPAN (ciki har da Bluetooth® Low Energy pro).files da ayyuka, raga, Zigbee®, OpenThread, Matter, da 802.15.4 MAC Layer)
- Duk kayan aikin software da aka haɗa tare da cikakkun saituna na gefe da na aikace-aikace examples
- Fakitin Faɗaɗɗen STM32Cube, waɗanda ke ƙunshe da kayan aikin software waɗanda suka dace da ayyukan STM32Cube MCU da Fakitin MPU tare da:
- Middleware kari da aikace-aikace yadudduka
- Examples yana gudana akan wasu takamaiman allunan ci gaban STMicroelectronics
- Saitin kayan aikin haɓaka software na abokantaka masu amfani don rufe haɓakar ayyukan daga tunani zuwa ganewa, daga cikinsu akwai:
- Wannan jagorar mai amfani yana bayyana yadda ake farawa da Kunshin STM32CubeWBA MCU.
- Sashe na 2 STM32CubeWBA manyan fasalulluka yana bayyana manyan fasalulluka na Kunshin STM32CubeWBA MCU.
- Sashe na 3 STM32CubeWBA gine-gine ya ƙareview yana bada kariview na tsarin STM32CubeWBA da tsarin Kunshin MCU.
Janar bayani
Kunshin STM32CubeWBA MCU yana gudana akan STM32 32-bit microcontrollers bisa Arm® Cortex®-M33 processor tare da Arm® TrustZone® da FPU.
Lura: Arm da TrustZone alamun kasuwanci ne masu rijista na Arm Limited (ko rassan sa) a cikin Amurka da/ko wani wuri.
STM32CubeWBA manyan fasali
- Kunshin STM32CubeWBA MCU yana gudana akan STM32 32-bit microcontrollers bisa Arm® Cortex®-M33 processor tare da TrustZone® da FPU.
- STM32CubeWBA yana tattara, a cikin fakiti ɗaya, duk abubuwan haɗin software na gabaɗaya da ake buƙata don haɓaka aikace-aikace don jerin microcontrollers na STM32WBA. A cikin layi tare da yunƙurin STM32Cube, wannan saitin abubuwan haɗin gwiwa yana ɗaukar nauyi sosai, ba kawai a cikin jerin microcontrollers na STM32WBA ba har ma da sauran jerin STM32.
- STM32CubeWBA yana da cikakkiyar jituwa tare da janareta na lambar STM32CubeMX, don samar da lambar farawa. Kunshin ya haɗa da ƙananan Layer (LL) da hardware abstraction Layer (HAL) APIs waɗanda ke rufe kayan aikin microcontroller, tare da babban saitin tsohon.amples yana gudana akan allunan STMicroelectronics. Ana samun HAL da LL APIs a cikin buɗaɗɗen tushen lasisin BSD don dacewa da mai amfani.
- Kunshin na STM32CubeWBA MCU shima ya ƙunshi cikakken kayan masarufi da aka gina a kusa da Microsoft® Azure® RTOS middleware, da sauran ɗakunan gida da buɗaɗɗen tushe, tare da madaidaicin tsohon.amples.
- Sun zo da kyauta, sharuɗɗan lasisi masu amfani:
- Haɗe-haɗe da cikakken fasalin Azure® RTOS: Azure® RTOS ThreadX
- Aiwatar da CMSIS-RTOS tare da Azure® RTOS ThreadX
- Mai watsa shiri na USB da tarin na'ura suna zuwa tare da azuzuwan da yawa: Azure® RTOS USBX
- Na ci gaba file tsarin da filashin fassarar fassarar: FileX / LevelX
- Tarin sadarwar darajar masana'antu: an inganta shi don yin aiki tare da ka'idojin IoT da yawa: NetX Duo
- Buɗe Bootloader
- Arm® Trusted Firmware-M (TF‑M) maganin haɗin kai
- mbd-crypto dakunan karatu
- ST Network Library
- STMTouch touch fahimtar ɗakin karatu
- Ana samar da aikace-aikace da yawa da nunin faifai waɗanda ke aiwatar da duk waɗannan abubuwan haɗin gwiwa a cikin Kunshin STM32CubeWBA MCU.
- An kwatanta shimfidar ɓangaren Kunshin STM32CubeWBA MCU a Hoto 1. STM32CubeWBA MCU Abubuwan Kunshin.
STM32CubeWBA gine-gine ya ƙareview
Maganin kunshin STM32CubeWBA MCU an gina shi a kusa da matakai masu zaman kansu guda uku waɗanda ke yin hulɗa cikin sauƙi kamar yadda aka bayyana a cikin Hoto 2. STM32CubeWBA MCU fakitin gine-gine.
Mataki na 0
Wannan matakin ya kasu kashi uku:
- Kunshin tallafin allo (BSP).
- Layer Abstraction Layer (HAL):
- HAL na gefe direbobi
- Direbobi masu ƙananan Layer
- Asalin amfani na gefe misaliamples.
Kunshin tallafin allo (BSP)
Wannan Layer yana ba da saitin APIs dangane da abubuwan haɗin kayan masarufi a cikin allunan kayan aikin (kamar LCD, Audio, microSD™, da direbobin MEMS). Ya ƙunshi sassa biyu:
- Direban sashi:
Wannan direban yana da alaƙa da na'urar waje da ke kan allo, kuma ba na'urar STM32 ba. Direban kayan aikin yana ba da takamaiman APIs zuwa abubuwan haɗin waje na direba na BSP kuma yana iya zama mai ɗaukar hoto akan kowane allo. - Direban BSP:
Direban BSP yana ba da damar haɗa abubuwan direbobi zuwa takamaiman allo, kuma yana ba da saiti na abokantaka
APIs. Ka'idodin API suna BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP ya dogara ne akan tsarin gine-gine na zamani wanda ke ba da damar sauƙin jigilar kaya akan kowane kayan aiki ta hanyar aiwatar da ƙananan matakan yau da kullun.
Hardware abstraction Layer (HAL) da ƙananan Layer (LL)
STM32CubeWBA HAL da LL sun dace kuma suna rufe kewayon buƙatun aikace-aikacen:
- Direbobin HAL ɗin suna ba da babban matakin aiki-daidaitacce APIs masu ɗaukar nauyi. Suna ɓoye MCU da haɗaɗɗen gefe ga mai amfani na ƙarshe.
Direbobin HAL ɗin suna ba da APIs masu dacewa da fasali iri-iri, waɗanda ke sauƙaƙe aiwatar da aikace-aikacen mai amfani ta hanyar samar da shirye-shiryen da za a yi amfani da su. Domin misaliample, don hanyoyin sadarwa (I2S, UART, da sauransu), yana ba da APIs da ke ba da izinin farawa da daidaitawa na gefe, sarrafa canja wurin bayanai dangane da jefa kuri'a, katsewa, ko tsarin DMA, da kuma kula da kurakuran sadarwa waɗanda zasu iya tasowa yayin sadarwa. API ɗin direban HAL sun kasu kashi biyu:- Generic APIs, waɗanda ke ba da ayyukan gama-gari da na gama-gari ga duk jerin microcontrollers na STM32.
- APIs Extension, waɗanda ke ba da takamaiman ayyuka na musamman don takamaiman dangi ko takamaiman lambar sashe.
- API ɗin ƙananan Layer yana ba da ƙananan APIs a matakin rajista, tare da ingantawa mafi kyau amma ƙarancin ɗauka.
- Suna buƙatar zurfin ilimin MCU da ƙayyadaddun bayanai.
- An ƙirƙira direbobin LL don ba da ƙwararren ƙwararriyar nauyi mai sauri wanda ke kusa da kayan aikin fiye da HAL. Sabanin HAL, LL APIs ba a bayar da su don abubuwan da ke kewaye ba inda ingantaccen damar shiga ba shine mahimmin fasalin ba, ko kuma ga waɗanda ke buƙatar saitin software mai nauyi ko hadaddun tari na matakin sama.
- Direbobin LL sun haɗa da:
- Saitin ayyuka don fara manyan fasalulluka bisa ga sigogi da aka kayyade a tsarin bayanai.
- Saitin ayyuka don cike tsarin bayanan farawa tare da sake saitin ƙimar daidai da kowane filin.
- Aiki don deinitialization na gefe (an mayar da rajistar na gefe zuwa ƙimar su ta asali).
- Saitin ayyukan layi don shiga kai tsaye da rajistar atomic.
- Cikakken 'yancin kai daga HAL da damar da za a yi amfani da shi a cikin keɓantaccen yanayi (ba tare da direbobin HAL ba).
- Cikakken kewayon fasalulluka masu goyan bayan.
Asalin amfani na gefe misaliamples
Wannan Layer yana rufe exampLes an gina shi akan abubuwan STM32 ta amfani da albarkatun HAL da BSP kawai.
Mataki na 1
Wannan matakin ya kasu kashi biyu:
- Abubuwan da aka gyara na Middleware
- Examples dangane da middleware aka gyara
Abubuwan da aka gyara na Middleware
- Matsakaicin saitin ɗakunan karatu ne da ke rufe Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
- Matter, Buɗe Bootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot, da mbd-crypto.
- Ana yin hulɗar kai tsaye tsakanin sassan wannan Layer ta hanyar kiran APIs da aka bayyana.
- A tsaye hulɗa tare da ƙananan direbobi ana yin ta ta takamaiman kiraye-kiraye da macros masu tsayi waɗanda aka aiwatar a cikin tsarin kiran laburare.
- Babban fasali na kowane bangaren tsakiya sune kamar haka:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: Tsarin aiki na ainihi (RTOS), wanda aka ƙera don tsarin da aka haɗa tare da yanayin aiki guda biyu.
- Yanayin gama gari: Ayyukan RTOS na gama gari kamar sarrafa zaren da aiki tare, sarrafa wurin wahawar ajiya, saƙo, da gudanar da taron.
- Yanayin Module: Yanayin mai amfani da ya ci gaba wanda ke ba da damar lodawa da sauke kayan aikin ThreadX da aka riga aka haɗa akan tashi ta hanyar mai sarrafa module.
- NetX Duo
- FileX
- USBX
- Azure® RTOS ThreadX: Tsarin aiki na ainihi (RTOS), wanda aka ƙera don tsarin da aka haɗa tare da yanayin aiki guda biyu.
- Bluetooth® Ƙananan Makamashi (BLE): Yana aiwatar da ƙa'idar Ƙarƙashin Makamashi ta Bluetooth® don haɗin haɗin gwiwa da tari.
- MCUboot (software mai buɗewa)
- Ka'idojin Zigbee® don tari da gungu masu alaƙa.
- Thread® yarjejeniya tari da haɗin haɗin gwiwa.
- Arm® amintaccen firmware-M, TF‑M (software mai buɗewa): Aiwatar da aiwatar da gine-ginen tsaro na dandamali na Arm® (PSA) don TrustZone® tare da amintattun ayyuka.
- mbed-crypto (software mai buɗewa): Mbed-crypto middleware yana ba da aiwatar da API na sirri na PSA.
- STM32 Touch Sensing Laburare: Ƙarfafa STMTouch capacitive touch sensing mafita, goyon bayan kusanci, touchkey, mikakke da rotary touch firikwensin. Ya dogara ne akan ƙa'idar sayan cajin da aka tabbatar.
- Microsoft® Azure® RTOS
Examples dangane da middleware aka gyara
Kowane bangaren tsakiya yana zuwa da ɗaya ko fiye da examples (wanda ake kira aikace-aikace) yana nuna yadda ake amfani da shi. Haɗin kai exampdon haka ana ba da abubuwan da ke amfani da kayan tsakiya da yawa.
STM32CubeWBA fakitin firmware ya ƙareview
Goyan bayan STM32WBA jerin na'urori da hardware
- STM32Cube yana ba da ɗorewa mai ɗaukar hoto mai ɗaukar nauyi (HAL) wanda aka gina a kusa da gine-ginen gine-gine. Yana ba da damar ƙa'idar ginawa akan yadudduka, kamar yin amfani da tsaka-tsakin tsaka-tsakin don aiwatar da ayyukansu ba tare da sanin, zurfin zurfin abin da ake amfani da MCU ba. Wannan yana inganta sake amfani da lambar ɗakin karatu kuma yana tabbatar da sauƙin ɗauka zuwa wasu na'urori.
- Bugu da kari, godiya ga tsarin gine-ginen sa, STM32CubeWBA yana ba da cikakken goyan baya ga duk jerin STM32WBA.
- Mai amfani yana da kawai don ayyana macro daidai a cikin stm32wbaxx.h.
- Tebur 1 yana nuna macro don ayyana dangane da na'urar jerin STM32WBA da aka yi amfani da ita. Wannan macro dole ne kuma a ayyana shi a cikin mahaɗar preprocessor.
Tebur 1. Macros don jerin STM32WBAAn ayyana macro a cikin stm32wbaxx.h Bayanan Bayani na STM32WBA stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6 stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7 - STM32CubeWBA yana fasalta babban saitin tsohonamples da aikace-aikace a duk matakan da ke sauƙaƙa fahimta da amfani da kowane direban HAL ko abubuwan da aka gyara na tsakiya. Wadannan examples gudu akan allunan STMicroelectronics da aka jera a cikin Tebu 2.
Tebur 2. Alloli don jerin STM32WBAHukumar Board STM32WBA na'urori masu tallafi NUCLEO-WBA52CG Saukewa: STM32WBA52CGU6 NUCLEO-WBA55CG Saukewa: STM32WBA55CGU6 Saukewa: STM32WBA55-DK1 Saukewa: STM32WBA55CGU7 - Kunshin STM32CubeWBA MCU na iya gudana akan kowane kayan aiki masu jituwa. Mai amfani kawai yana sabunta direbobin BSP zuwa tashar jiragen ruwa da aka bayarampLes a kan allo, idan na karshen yana da fasalulluka iri ɗaya (kamar LED, nunin LCD, da maɓalli).
Kunshin Firmware ya ƙareview
- Ana samar da maganin fakitin STM32CubeWBA a cikin fakitin zip guda ɗaya wanda ke da tsarin da aka nuna a Hoto 3. Tsarin fakitin firmware STM32CubeWBA.
- Ga kowane allo, saitin exampLes yana ba da ayyukan da aka riga aka tsara don EWARM, MDK-ARM, da STM32CubeIDE kayan aiki.
- Hoto 4. STM32CubeWBA examples overview yana nuna tsarin aikin don allon NUCLO-WBA52CG, NUCLO-WBA55CG da STM32WBA55G-DK1.
- The exampLes ana rarraba su dangane da matakin STM32Cube da suke nema, kuma ana kiran su kamar haka:
- Mataki na 0 exampana kiran su Exampku, Examples_LL, da Exampkasa_MIX. Suna amfani da direbobin HAL bi da bi, direbobin LL, da cakuɗen direbobin HAL da LL ba tare da wani ɓangaren tsakiya ba.
- Mataki na 1 exampAna kiran su Applications. Suna ba da yanayin amfani na yau da kullun na kowane ɓangaren tsakiya. Duk wani aikace-aikacen firmware na hukumar da aka ba za a iya gina shi cikin sauri godiya ga ayyukan samfuri da ake samu a cikin kundayen adireshi na Templ da Templates_LL.
An kunna ayyukan TrustZone®
- An kunna TrustZone® Examples sunaye sun ƙunshi prefix _TrustZone. Hakanan ana amfani da ƙa'idar don Applicatio ns (ban da TFM da SBSFU, waɗanda na asali ne na TrustZone®).
- TrustZone®-kunna Examples da Aikace-aikace ana ba da su tare da tsarin ayyuka da yawa wanda ya ƙunshi amintattun ayyuka marasa tsaro kamar yadda aka gabatar a cikin Hoto 5. Multiproject amintacce kuma tsarin aikin mara tsaro.
- Ana haɓaka ayyukan da aka kunna TrustZone® bisa ga samfurin na'urar CMSIS-5, wanda aka tsawaita don haɗa da tsarin rarraba kan kai. file bangare_ .h, wanda ke da alhakin saitin amintaccen rukunin sifa (SAU), FPU, da amintaccen / rashin tsaro yana katse aiki a cikin amintaccen yanayin aiwatarwa.
- Ana yin wannan saitin a cikin amintaccen aikin CMSIS SystemInit(), wanda ake kira a farawa kafin shigar da amintaccen babban aikin () aikace-aikacen. Koma zuwa Arm® TrustZone®-M takaddun jagororin software.
- Fakitin firmware na STM32CubeWBA yana ba da rarrabuwar ƙwaƙwalwar ajiya a cikin ɓangaren _ .h files samuwa a ƙarƙashin: \ Drivers \ CMSIS \ Na'ura \ ST \ STM32WBAxx \ Hada \ T emplates
- A cikin wadannan bangare files, an kashe SAU ta tsohuwa. Saboda haka, ana amfani da taswirar ƙwaƙwalwar ajiya na IDAU don ƙimar tsaro. Koma zuwa adadi Secure/rashin tsaro ta amfani da fasahar TrustZone® a cikin littafin tunani na RM0495.
- Idan mai amfani yana ba da damar SAU, an riga an ƙaddamar da ƙayyadaddun ƙayyadaddun ƙayyadaddun tsarin yankunan SAU a cikin bangare files kamar haka:
- Yankin SAU 0: 0x08080000 - 0x081FFFFF (rabin ƙwaƙwalwar ajiya mara aminci (512 Kbytes))
- Yankin SAU 1: 0x0BF88000 - 0x0BF97FFF (ƙwaƙwalwar tsarin da ba ta da tsaro)
- Yankin SAU 2: 0x0C07E000 - 0x0C07FFFF (amintaccen, wanda ba a iya kiransa ba)
- Yankin SAU 3: 0x20010000 - 0x2001FFFF (SRAM2 mara tsaro (64 Kbytes))
- Yankin SAU 4: 0x40000000 - 0x4FFFFFF (ƙwaƙwalwar taswira mara tsaro)
- Don daidaita tsohowar rarrabuwa, na'urorin jerin na'urorin STM32WBAxx dole ne su sami saitunan zaɓin mai amfani mai zuwa:
- TZEN = 1 (na'urar da ta kunnaTrustZone®)
- SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (64 daga cikin shafuka 128 na ƙwaƙwalwar ajiyar filasha na ciki da aka saita amintacce) Lura: Ƙwaƙwalwar filasha ta ciki tana da cikakken tsaro ta tsohuwa a TZEN = 1. Zaɓin mai amfani bytes SECWM1_PSTRT/SECWM1_PEND dole ne a saita bisa ga aikace-aikacen. Tsarin ƙwaƙwalwar ajiya (yankin SAU, idan an kunna SAU). Amintattun / amintattun aikace-aikacen mahaɗin aikin files kuma dole ne a daidaita.
- Duk examples suna da tsari iri ɗaya:
- \Inc babban fayil ɗin da ke ɗauke da duk rubutun kai files.
- Src babban fayil mai dauke da lambar tushe.
- \EWARM, \ MDK-ARM, da STM32CubeIDE manyan fayiloli masu ɗauke da aikin da aka riga aka tsara don kowane sarkar kayan aiki.
- readme.md da readme.html suna kwatanta tsohonamphali da yanayin da ake buƙata don yin aiki.
- ioc file wanda ke ba masu amfani damar buɗe mafi yawan firmware exampSaukewa: STM32CubeMX.
Farawa tare da STM32CubeWBA
Ana gudanar da HAL na farkoample
Wannan sashe yana bayanin yadda sauƙi yake tafiyar da tsohon na farkoampSaukewa: STM32CubeWBA. Yana amfani da azaman misali ƙarni na mai sauƙin LED toggle yana gudana akan allon NUCLO-WBA52CG:
- Zazzage fakitin STM32CubeWBA MCU.
- Cire shi cikin kundin adireshi da kuka zaɓa.
- Tabbatar cewa kada ku canza tsarin kunshin da aka nuna a cikin Hoto 1. Ana kuma ba da shawarar yin kwafin kunshin a wani wuri kusa da ƙarar tushen ku (ma'ana C: \ ST ko G: \ Tests), kamar yadda wasu IDEs ke fuskantar matsaloli lokacin da hanyar. tsayi yayi tsayi da yawa.
Gudanar da TrustZone® na farko da aka kunna example
- Kafin lodawa da gudanar da aikin TrustZone® example, wajibi ne a karanta exampda karatu file don kowane ƙayyadadden tsari, wanda ke tabbatar da cewa an kunna tsaro kamar yadda aka bayyana a cikin Sashe na 4.2.1 TrustZone® da aka kunna ayyukan (TZEN=1 (byte zaɓin mai amfani)).
- Nemo zuwa \Projects\NUCLEO-WBA52CG\Examples.
- Bude \GPIO, sannan \GPIO_IOToggle_TrustZone manyan fayiloli.
- Bude aikin tare da kayan aikin da kuka fi so. Da sauri ya wuceview kan yadda ake budewa, ginawa, da gudanar da tsohonample tare da goyan bayan kayan aiki ana ba da su a ƙasa.
- Sake ginawa a jere duk amintacce kuma mara tsaro files kuma loda amintacce da hotuna marasa tsaro a cikin žwažwalwar ajiyar manufa.
- Gudu da example: akai-akai, amintaccen aikace-aikacen yana jujjuya LD2 kowane daƙiƙa, kuma aikace-aikacen mara tsaro yana jujjuya LD3 sau biyu cikin sauri. Don ƙarin bayani, koma zuwa readme file na example.
- Don buɗewa, ginawa da gudanar da tsohonamptare da goyan bayan kayan aiki, bi matakan da ke ƙasa:
- EWARM:
- Karkashin exampzuwa babban fayil, buɗe babban fayil na EWARM.
- Kaddamar da filin aikin Project.eww
- Sake gina amintaccen aikin xxxxx_S files: [Project]>[Sake gina duka].
- Saita aikin xxxxx_NS mara tsaro azaman aikace-aikacen Active (danna dama akan aikin xxxxx_NS [Saita azaman Active])
- Sake gina aikin xxxxx_NS mara tsaro files: [Project]>[Sake gina duka].
- Filanci binary mara tsaro tare da [Project]>[Zazzagewa]>[Zazzage aikace-aikacen mai aiki] .
- Saita xxxxx_S azaman aikace-aikacen Active (danna dama akan aikin xxxxx_S [Saita azaman Active].
- Finata amintaccen binary tare da [Download and Debug] (Ctrl+D).
- Gudanar da shirin: [Debug]>[Go(F5)]
- MDK-ARM:
- Bude \MDK-ARM kayan aiki.
- Bude filin aiki Multiprojects file Project.uvmpw.
- Zaɓi aikin xxxxx_s azaman aikace-aikacen Active ([Saita azaman Active Project]).
- Gina aikin xxxxx_s.
- Zaɓi aikin xxxxx_ns azaman Aiki mai Aiki ([Saita azaman Ayyukan Active]).
- Gina aikin xxxxx_ns.
- Load da binary mara tsaro ([F8]). Wannan yana zazzagewa \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf zuwa ƙwaƙwalwar ajiya)
- Zaɓi aikin Project_s a matsayin Active project ([Saita azaman Active Project]).
- Load da amintaccen binary ([F8]). Wannan yana zazzage \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf zuwa ƙwaƙwalwar ajiya).
- Gudu da example.
- STM32CubeIDE:
- Bude sarkar kayan aikin STM32CubeIDE.
- Bude filin aiki Multiprojects file .aikin.
- Sake gina aikin xxxxx_Secure.
- Sake gina aikin xxxxx_NonSecure.
- Kaddamar da aikace-aikacen [Debug as STM32 Cortex-M C/C++] don ingantaccen aikin.
- A cikin [Edit Configuration] taga, zaɓi panel [Farawa], sa'annan ku ƙara hoton da alamomin aikin mara tsaro.
Muhimmi: Dole ne a loda aikin da ba shi da tsaro kafin amintaccen aikin. - Danna [Ok].
- Gudu da exampa kan hangen nesa debug.
- EWARM:
Gudun naƙasasshiyar TrustZone® ta farkoample
- Kafin lodawa da gudanar da naƙasassun TrustZone® example, wajibi ne a karanta exampda karatu file ga kowane takamaiman tsari. Idan babu takamaiman ambaton, tabbatar da cewa na'urar hukumar tana da nakasa tsaro (TZEN=0 (byte zaɓin mai amfani)). Dubi FAQ don yin koma baya na zaɓi zuwa TZEN = 0
- Nemo zuwa \Projects\NUCLEO-WBA52CG\Examples.
- Bude \GPIO, sannan \GPIO_EXTI manyan fayiloli.
- Bude aikin tare da kayan aikin da kuka fi so. Da sauri ya wuceview kan yadda ake budewa, ginawa, da gudanar da tsohonample tare da goyan bayan kayan aiki ana ba da su a ƙasa.
- Sake gina duka files kuma loda hotonku a cikin maƙasudin ƙwaƙwalwar ajiya.
- Gudu da example: Duk lokacin da aka danna maɓallin turawa [USER], LD1 LED yana juyawa. Don ƙarin bayani, koma zuwa readme file na example.
- Don buɗewa, ginawa da gudanar da tsohonamptare da goyan bayan kayan aiki, bi matakan da ke ƙasa:
- EWARM:
- Karkashin exampzuwa babban fayil, buɗe babban fayil na EWARM.
- Kaddamar da filin aiki na Project.eww (sunan filin aiki na iya canzawa daga tsohonample ga wani).
- Sake gina duka files: [Project]>[Sake gina duka].
- Load da hoton aikin: [Project]>[Debug].
- Gudun shirin: [Debug]>[Tafi (F5)].
- MDK-ARM:
- Karkashin exampa babban fayil, buɗe babban fayil \ MDK-ARM.
- Kaddamar da filin aikin Project.uvproj (sunan filin aiki na iya canzawa daga tsohonample ga wani).
- Sake gina duka files:[Project]>[Sake gina duk manufa files].
- Load da hoton aikin: [Debug]>[Fara/Dakatar da Zama na gyara kuskure].
- Gudun shirin: [Debug]>[Run (F5)].
- STM32CubeIDE:
- Bude sarkar kayan aikin STM32CubeIDE.
- Danna [File>> [Canja Wurin Aiki]>[Sauran] kuma bincika zuwa STM32CubeIDE directory sarari.
- Danna [File>>[Shigowa] , zaɓi [General]> [Ayyukan da suke da su zuwa Wurin Aiki], sannan danna [Next].
- Nemo zuwa STM32CubeIDE directory sarari kuma zaɓi aikin.
- Sake gina duk aikin files: Zaɓi aikin a cikin taga [Project Explorer] sannan danna menu [Project]>[Gina aikin].
- Gudanar da shirin: [Run]> [Debug (F11)]
- EWARM:
Ƙirƙirar aikace-aikacen al'ada
Lura: Dole ne software ta kunna cache na umarni (ICACHE) don samun aiwatar da aikin jira na 0 daga žwažwalwar ajiyar filasha, kuma ta kai matsakaicin aiki da mafi kyawun amfani.
Amfani da STM32CubeMX don haɓakawa ko sabunta aikace-aikacen
- A cikin kunshin STM32CubeWBA MCU, kusan duk aikin examples ana haifar da su tare da kayan aikin STM32CubeMX don fara tsarin, na'urori, da tsaka-tsaki.
- Amfani kai tsaye na aikin da ake ciki example daga kayan aikin STM32CubeMX yana buƙatar STM32CubeMX 6.10.0 ko sama:
- Bayan shigarwa na STM32CubeMX, buɗe kuma idan ya cancanta sabunta aikin da aka tsara. Hanya mafi sauƙi don buɗe aikin data kasance shine danna sau biyu akan * .ioc file don haka STM32CubeMX ta atomatik buɗe aikin da tushen sa files.
- STM32CubeMX yana haifar da lambar tushen farawa na irin waɗannan ayyukan. Babban lambar tushen aikace-aikacen yana ƙunshe da sharhin "USER CODE BEGIN" da " END CODE CODE ". Idan an canza zaɓin IP da saitin, STM32CubeMX yana sabunta ɓangaren farawa na lambar amma yana adana babban lambar tushen aikace-aikacen.
- Don haɓaka aikin al'ada a cikin STM32CubeMX, bi tsarin mataki-mataki:
- Zaɓi microcontroller STM32 wanda yayi daidai da saitin abubuwan da ake buƙata.
- Saita duk abin da aka haɗa software da ake buƙata ta amfani da mai warware rikici-pinout, mai taimako saitin itacen agogo, ma'aunin amfani da wutar lantarki, da mai amfani da ke aiwatar da daidaitawar MCU (kamar GPIO ko USART) da tari na tsakiya (kamar USB).
- Ƙirƙirar lambar farko ta C bisa tsarin da aka zaɓa. Wannan lambar tana shirye don amfani da ita a cikin mahallin ci gaba da yawa. Ana adana lambar mai amfani a ƙarni na gaba.
- Don ƙarin bayani game da STM32CubeMX, koma zuwa littafin mai amfani STM32CubeMX don daidaitawar STM32 da ƙaddamar da lambar code C (UM1718).
- Don jerin abubuwan da ake da su na aikin exampLes don STM32CubeWBA, koma zuwa bayanin kula STM32Cube firmware ex.ampBayani na STM32WBA (AN5929).
Aikace-aikacen direba
HAL aikace-aikace
Wannan sashe yana bayyana matakan da ake buƙata don ƙirƙirar aikace-aikacen HAL na al'ada ta amfani da STM32CubeWBA:
- Ƙirƙiri aiki
- Don ƙirƙirar sabon aiki, fara ko dai daga aikin Samfurin da aka tanada don kowane allo a ƙarƙashin \Projects\ Samfurori ko daga kowane aiki da ke ƙarƙashin \Projects\ \Exam ples or \Projects\ \Aikace-aikace (inda yana nufin sunan allo, kamar STM32CubeWBA).
- Aikin Samfurin yana ba da babban aikin madauki mara komai. Koyaya, yana da kyau wurin farawa don fahimtar saitunan aikin STM32CubeWBA. Samfurin yana da halaye masu zuwa:
- Ya ƙunshi lambar tushen HAL, CMSIS, da direbobin BSP, waɗanda su ne mafi ƙarancin saiti na abubuwan da ake buƙata don haɓaka lamba akan allon da aka ba.
- Ya ƙunshi hanyoyin da aka haɗa don duk abubuwan haɗin firmware.
- Yana bayyana na'urorin jerin na'urorin STM32WBA masu goyan baya, yana ba da damar daidaita direbobin CMSIS da HAL daidai.
- Yana ba da mai amfani da shirye-shiryen amfani files preconfigured kamar yadda aka nuna a kasa:
HAL an fara shi tare da tsayayyen lokaci tare da Arm® core SysTick. An aiwatar da SysTick ISR don HAL_Delay() manufa.
Lura: Lokacin kwafin aikin da ke akwai zuwa wani wuri, tabbatar da sabunta duk hanyoyin da aka haɗa.
- Ƙara matsakaicin da ake buƙata zuwa aikin mai amfani (na zaɓi)
Don gano tushen files da za a ƙara zuwa aikin file jeri, koma zuwa takaddun da aka tanadar don kowane matsakaicin kayan aiki. Koma zuwa aikace-aikacen da ke ƙarƙashin \ProjectsSTM32xxx_yyy\Applications (ku yana nufin tari na tsakiya, kamar ThreadX) don sanin wane tushe files kuma sun haɗa da hanyoyi dole ne a ƙara su. - Sanya abubuwan haɗin firmware
Abubuwan HAL da na tsakiya suna ba da saiti na zaɓuɓɓukan daidaitawa na lokaci ta amfani da macros #define da aka ayyana a cikin kai. file. Tsarin samfuri file Ana ba da shi a cikin kowane bangare, wanda dole ne a kwafi zuwa babban fayil ɗin aikin (yawanci tsarin daidaitawa file ana kiranta xxx_conf_template.h, kalmar _template tana buƙatar cirewa yayin yin kwafinta zuwa babban fayil ɗin aikin). Tsarin tsari file yana ba da isassun bayanai don fahimtar tasirin kowane zaɓi na daidaitawa. Ana samun ƙarin cikakkun bayanai a cikin takaddun da aka tanadar don kowane bangare. - Fara ɗakin karatu na HAL
Bayan tsalle zuwa babban shirin, dole ne lambar aikace-aikacen ta kira HAL_Init() API don fara laburare HAL, wanda ke aiwatar da ayyuka masu zuwa:- Haɓaka prefetch ɗin ƙwaƙwalwar walƙiya da fifikon SysTick (ta hanyar macros da aka ayyana a cikin st m32wbaxx_hal_conf.h).
- Saita SysTick don samar da katse kowane millisecond a SysTick katse fifiko TICK_INT_PRIO da aka ayyana a stm32wbaxx_hal_conf.h.
- Saitin fifikon rukunin NVIC zuwa 0.
- Kira na HAL_MspInit() aikin sake kiran da aka ayyana a cikin mai amfani da stm32wbaxx_hal_msp.c file don aiwatar da ƙaƙƙarfan ƙaƙƙarfan farawar kayan aikin duniya.
- Saita agogon tsarin
Tsarin agogon tsarin ana yin shi ta hanyar kiran APIs guda biyu da aka kwatanta a ƙasa:- HAL_RCC_OscConfig(): wannan API ɗin yana daidaita oscillators na ciki da na waje. Mai amfani ya zaɓi don saita ɗaya ko duk oscillators.
- HAL_RCC_ClockConfig(): wannan API yana daidaita tushen agogon tsarin, latency memory memory, da AHB da APB prescalers.
- Fara na gefe
- Da farko rubuta aikin HAL_PPP_MspInit na gefe. Ci gaba kamar haka:
- Kunna agogon gefe.
- Sanya GPIO na gefe.
- Sanya tashar DMA kuma kunna katsewar DMA (idan an buƙata).
- Kunna katsewar gefe (idan an buƙata).
- Shirya stm32xxx_it.c don kiran masu kula da katse da ake buƙata (na gefe da DMA), idan an buƙata.
- Rubuta cikakken aikin dawo da kira, idan an yi niyyar amfani da katsewar gefe ko DMA.
- A cikin mai amfani main.c file, fara tsarin hannaye na gefe sannan a kira aikin HAL_PPP_Init() don fara mahallin.
- Da farko rubuta aikin HAL_PPP_MspInit na gefe. Ci gaba kamar haka:
- Ƙirƙirar aikace-aikace
- A wannan stage, tsarin yana shirye kuma ci gaban lambar aikace-aikacen mai amfani zai iya farawa.
- HAL yana ba da APIs masu fa'ida da shirye-shiryen amfani don saita mahallin. Yana goyan bayan jefa ƙuri'a, katsewa, da ƙirar shirye-shiryen DMA, don ɗaukar kowane buƙatun aikace-aikacen. Don ƙarin cikakkun bayanai kan yadda ake amfani da kowane yanki, koma ga attajiri tsohonampan bayar da su a cikin kunshin STM32CubeWBA MCU.
Tsanaki: A cikin tsohuwar aiwatar da HAL, ana amfani da mai ƙidayar lokaci ta SysTick azaman tushen lokaci: yana haifar da katsewa a cikin tazarar lokaci na yau da kullun. Idan an kira HAL_Delay() daga tsarin ISR na gefe, tabbatar da cewa katsewar SysTick yana da fifiko mafi girma (ƙananan lambobi) fiye da katsewar gefe. In ba haka ba, an katange tsarin ISR mai kira. Ana ayyana ayyukan da ke da alaƙa da daidaitawar lokaci a matsayin __rauni don yin yuwuwar ƙetare idan an sami wasu aiwatarwa a cikin mai amfani. file (ta amfani da na'urar ƙidayar manufa ta gaba ɗaya, ga misaliample, ko wani lokaci tushen). Don ƙarin cikakkun bayanai, koma zuwa HAL_TimeBase example.
LL aikace-aikace
Wannan sashe yana bayyana matakan da ake buƙata don ƙirƙirar aikace-aikacen LL na al'ada ta amfani da STM32CubeWBA.
- Ƙirƙiri aiki
- Don ƙirƙirar sabon aiki, ko dai a fara daga aikin Templates_LL da aka tanada don kowane allo a ƙarƙashin \Projects\ Templates_LL, ko daga kowane aiki da ke ƙarƙashin \Projects\ \Exampkasa_LL ( yana nufin sunan allo, kamar NUCLO-WBA32CG).
- Aikin samfuri yana ba da babban aikin madauki na fanko, wanda shine kyakkyawan wurin farawa don fahimtar saitunan aikin don STM32CubeWBA. Babban halayen samfuri sune kamar haka:
- Yana ƙunshe da lambobin tushe na direbobin LL da CMSIS, waɗanda su ne mafi ƙarancin saitin abubuwan da ake buƙata don haɓaka lamba akan allon da aka bayar.
- Ya ƙunshi hanyoyin da aka haɗa don duk abubuwan haɗin firmware da ake buƙata.
- Yana zaɓar na'urar jerin STM32WBA mai goyan bayan kuma yana ba da damar daidaita daidaitattun direbobin CMSIS da LL.
- Yana ba da mai amfani da shirye-shiryen amfani files waɗanda aka riga aka tsara su kamar haka:
◦ main.h: LED da USER_BUTTON ma'anar abstraction Layer.
◦ main.c: Tsarin agogon tsarin don matsakaicin mita.
- Matsar da aikin da ke akwai zuwa wani allo
Don tallafawa aikin da ke akwai akan wani allon manufa, fara daga aikin Templates_LL da aka tanada don kowane allo kuma akwai a ƙarƙashin \Projects\ \ Samfuran_LL.- Zaɓi LL example: Don nemo allon da LL examples an tura, koma zuwa jerin LL exampBayanan STM32CubeProjectsList.html.
- Port da LL exampda:
- Kwafi/manna babban fayil ɗin Templates_LL - don kiyaye tushen farko - ko sabunta aikin Templates_LL kai tsaye.
- Sa'an nan porting ya ƙunshi musamman a maye gurbin Templates_LL files ta hanyar Examples_LL aikin da aka yi niyya.
- Ajiye duk takamaiman sassa na allon. Don dalilai na tsabta, takamaiman sassa na allon ana tuta su da takamaiman tags:
- Don haka, manyan matakan jigilar kaya sune kamar haka:
- Sauya stm32wbaxx_it.h file
- Sauya stm32wbaxx_it.c file
- Sauya babban.h file kuma sabunta shi: Kiyaye ma'anar maɓallin LED da maɓallin mai amfani na samfurin LL a ƙarƙashin BOARD SPECIFIC CONFIGURATION tags.
- Sauya babban.c file kuma sabunta shi:
- Kiyaye daidaitawar agogon aikin samfurin SystemClock_Config() LL a ƙarƙashin BOARD SPECIFIC CONFIGURATION tags.
- Dangane da ma'anar LED, maye gurbin kowane faruwar LDx tare da wani LDy da ke cikin main.h file.
- Tare da waɗannan gyare-gyare, example yanzu yana gudana akan allon da aka yi niyya
Aikace-aikacen tsaro
Ana isar da wannan fakitin tare da aikace-aikacen tsaro.
SBSFU aikace-aikace
- SBSFU tana ba da mafita na Amintaccen Tushen, gami da Secure Boot da Secure Firmware Sabunta ayyuka (dangane da MCUboot).
- Ana amfani da maganin kafin aiwatar da aikace-aikacen.
- Maganin yana ba da wani example na amintaccen sabis (GPIO toggle), wanda ke keɓe daga aikace-aikacen mara tsaro. Aikace-aikacen mara tsaro a lokacin aiki har yanzu yana iya amfani da wannan maganin.
TFM aikace-aikace
TFM yana ba da tushen tushen Amintaccen ciki har da Secure Boot da Secure Firmware Sabunta ayyuka
(dangane da MCUboot). Ana amfani da maganin kafin aiwatar da aikace-aikacen. Maganin yana ba da amintattun sabis na TFM waɗanda ke ware daga aikace-aikacen da ba amintacce ba. Aikace-aikacen mara tsaro a lokacin aiki har yanzu yana iya amfani da wannan maganin.
RF aikace-aikace
An kwatanta aikace-aikacen RF a cikin wannan bayanin kula na aikace-aikacen: Gina aikace-aikacen mara waya tare da STM32WBA jerin microcontrollers (AN5928).
Samun sabuntawar sakin STM32CubeWBA
Sabbin sakin fakitin STM32CubeWBA MCU da faci ana samun su daga Jerin STM32WBA. Za a iya dawo da su daga maɓallin DUBA KYAUTA a cikin STM32CubeMX. Don ƙarin cikakkun bayanai, koma zuwa Sashe na 3 na littafin mai amfani STM32CubeMX don daidaitawar STM32 da ƙaddamarwar lambar lambar C (UM1718).
FAQ
- Yaushe zan yi amfani da HAL maimakon direbobin LL?
- Direbobin HAL suna ba da babban matakin APIs masu dogaro da aiki, tare da babban matakin ɗauka. Abun ɓoyayyiyar samfur ko sarƙaƙƙiya ce ga masu amfani na ƙarshe.
- Direbobin LL suna ba da APIs matakin rijistar ƙananan Layer, tare da ingantacciyar haɓakawa amma ƙasa da šaukuwa. Suna buƙatar zurfin ilimin samfur ko ƙayyadaddun IP.
- Zan iya amfani da HAL da LL direbobi tare? Idan zan iya, menene takura?
- Yana yiwuwa a yi amfani da duka direbobin HAL da LL. Yi amfani da HAL don lokacin ƙaddamarwar IP sannan sarrafa ayyukan I/O tare da direbobin LL.
- Babban bambanci tsakanin HAL da LL shine cewa direbobin HAL suna buƙatar ƙirƙira da amfani da hannaye don gudanar da aiki yayin da direbobin LL ke aiki kai tsaye akan rijistar gefe. Examples_MIX misaliample ya kwatanta yadda ake hada HAL da LL.
- Ta yaya ake kunna APIs na farawa?
- Ma'anar APIs na farkon LL da albarkatun da ke da alaƙa (Tsarin, a zahiri, da samfuri) an tsara su ta hanyar sauya haɗar USE_FULL_LL_DRIVER.
- Don samun damar amfani da APIs na farko, ƙara wannan canji a cikin mai haɗa kayan aiki.
- Ta yaya STM32CubeMX zai iya samar da lamba bisa software da aka saka?
STM32CubeMX yana da ilimin ginanniyar ilimin STM32 microcontrollers, gami da kayan aikin su da software wanda ke ba da damar samar da wakilcin hoto ga mai amfani da samar da * .h ko * .c files bisa tsarin mai amfani.
MUHIMMAN SANARWA – KU KARANTA A HANKALI
- STMicroelectronics NV da rassan sa ("ST") sun tanadi haƙƙin yin canje-canje, gyare-gyare, haɓakawa, gyare-gyare, da haɓakawa ga samfuran ST da/ko ga wannan takaddar a kowane lokaci ba tare da sanarwa ba. Ya kamata masu siye su sami sabbin bayanai masu dacewa akan samfuran ST kafin yin oda. Ana siyar da samfuran ST bisa ga sharuɗɗa da sharuɗɗan siyarwa na ST a wurin lokacin amincewa.
- Masu siye ke da alhakin zaɓi, zaɓi, da amfani da samfuran ST kuma ST ba ta ɗaukar alhakin taimakon aikace-aikacen ko ƙirar samfuran masu siye.
- Babu lasisi, bayyananne ko fayyace, ga kowane haƙƙin mallakar fasaha da ST ke bayarwa a nan.
- Sake siyar da samfuran ST tare da tanadi daban-daban da bayanan da aka gindaya a ciki zai ɓata kowane garantin da ST ya bayar don irin wannan samfurin.
- ST da tambarin ST alamun kasuwanci ne na ST. Don ƙarin bayani game da alamun kasuwanci na ST, koma zuwa www.st.com/trademarks. Duk sauran samfuran ko sunayen sabis mallakin masu su ne.
- Bayanin da ke cikin wannan takarda ya maye gurbin bayanan da aka kawo a baya a cikin kowane juzu'in wannan takaddar.
- © 2023 STMicroelectronics – Duk haƙƙin mallaka
Takardu / Albarkatu
![]() |
STMicroelectronics STM32WBA Series Farawa [pdf] Manual mai amfani Jerin STM32WBA Farawa, Farawa, Farawa |