STMicroelectronics STM32WBA Series Ngamimitian
Émbaran produk
spésifikasi:
- Ngaran produk: STM32CubeWBA MCU Paket
- Pabrikan: STMicroelectronics
- Kasaluyuan: STM32WBA runtuyan mikrokontroler
- Lisénsi: Lisensi BSD sumber terbuka
Parentah Pamakéan Produk
Fitur utama Paket STM32CubeWBA MCU:
Paket STM32CubeWBA MCU nyayogikeun sadaya komponén parangkat lunak anu diperyogikeun pikeun ngembangkeun aplikasi dina mikrokontroler séri STM32WBA. Éta pisan portabel dina séri STM32 sareng hadir sareng HAL sareng LL API, examples, sarta komponén middleware.
Arsitéktur Leuwihview:
Arsitéktur Paket STM32CubeWBA MCU diwangun ku tilu tingkat - Aplikasi, Perpustakaan sareng komponén dumasar-protokol, lapisan abstraksi Hardware, supir BSP, supir inti, sareng API Lapisan Rendah.
FAQ
- Naon anu kalebet dina Paket MCU STM32CubeWBA?
iket ngawengku low-layer (LL) jeung hardware abstraction layer (HAL) API, examples, aplikasi, komponén middleware kawas FileX/LevelX, NetX Duo, perpustakaan mbed-crypto, sareng seueur deui. - Naha Paket STM32CubeWBA MCU cocog sareng generator kode STM32CubeMX?
Leres, pakét sapinuhna cocog sareng generator kode STM32CubeMX pikeun ngahasilkeun kode awal.
Bubuka
- STM32Cube mangrupikeun inisiatif asli STMicroelectronics pikeun ningkatkeun produktivitas desainer sacara signifikan ku cara ngirangan usaha pangwangunan, waktos sareng biaya. STM32Cube nyertakeun sakabéh portopolio STM32.
STM32Cube ngawengku:- Sakumpulan pakakas pamekaran parangkat lunak anu ramah-pamaké pikeun nutupan pangwangunan proyék ti mimiti konsepsi nepi ka realisasi, diantarana nyaéta:
- STM32CubeMX, alat konfigurasi software grafis anu ngamungkinkeun generasi otomatis kode initialization C ngagunakeun wizards grafis.
- STM32CubeIDE, alat pamekaran sadaya-dina-hiji sareng konfigurasi periferal, generasi kode, kompilasi kode, sareng fitur debug
- STM32CubeCLT, pakakas pamekaran garis paréntah sadaya-dina-hiji sareng kompilasi kode, program papan, sareng fitur debug
- STM32CubeProgrammer (STM32CubeProg), alat pamrograman anu sayogi dina versi grafis sareng garis paréntah.
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), alat ngawaskeun anu kuat pikeun nyaluyukeun paripolah sareng kinerja aplikasi STM32 sacara real waktos
- STM32Cube MCU sareng MPU Packages, platform embedded-software komprehensif khusus pikeun unggal mikrokontroler sareng séri mikroprosesor (sapertos STM32CubeWBA pikeun séri STM32WBA), anu kalebet:
- STM32Cube hardware abstraction layer (HAL), mastikeun portability maksimal dina portopolio STM32
- STM32Cube low-layer API, mastikeun kinerja pangalusna sarta footprints kalawan tingkat luhur kontrol pamaké leuwih hardware.
- Sakumpulan komponén middleware anu konsisten sapertos ThreadX, FileX / LevelX, NetX Duo, USBX, perpustakaan touch, mbed-crypto, TFM, MCUboot, OpenBL, sareng STM32_WPAN (kaasup Bluetooth® Low Energy profiles sareng jasa, Mesh, Zigbee®, OpenThread, Matter, sareng lapisan MAC 802.15.4)
- Sadaya utilitas parangkat lunak anu dipasang sareng set lengkep periferal sareng aplikatifamples
- STM32Cube Expansion Packages, anu ngandung komponén parangkat lunak anu ngalengkepan fungsionalitas STM32Cube MCU sareng MPU Packages kalayan:
- ekstensi Middleware sarta lapisan applicative
- Examples ngajalankeun on sababaraha papan ngembangkeun STMicroelectronics husus
- Sakumpulan pakakas pamekaran parangkat lunak anu ramah-pamaké pikeun nutupan pangwangunan proyék ti mimiti konsepsi nepi ka realisasi, diantarana nyaéta:
- Manual pamaké ieu ngajelaskeun kumaha carana ngamimitian kalawan STM32CubeWBA MCU Paket.
- Bagian 2 STM32CubeWBA fitur utama ngajelaskeun fitur utama STM32CubeWBA MCU Paket.
- Bagian 3 STM32CubeWBA arsitéktur leuwihview nyadiakeun leuwihview tina arsitektur STM32CubeWBA jeung struktur Paket MCU.
Inpormasi umum
Paket STM32CubeWBA MCU dijalankeun dina mikrokontroler STM32 32-bit dumasar kana prosesor Arm® Cortex®-M33 sareng Arm® TrustZone® sareng FPU.
Catetan: Arm sareng TrustZone mangrupikeun mérek dagang kadaptar ti Arm Limited (atanapi anak perusahaanna) di AS sareng/atanapi di tempat sanés.
STM32CubeWBA fitur utama
- Paket STM32CubeWBA MCU dijalankeun dina mikrokontroler STM32 32-bit dumasar kana prosesor Arm® Cortex®-M33 sareng TrustZone® sareng FPU.
- STM32CubeWBA ngumpulkeun, dina pakét tunggal, sadaya komponén parangkat lunak anu dipasang umum anu diperyogikeun pikeun ngembangkeun aplikasi pikeun mikrokontroler séri STM32WBA. Luyu sareng inisiatif STM32Cube, set komponén ieu kacida portabel, henteu ngan dina mikrokontroler séri STM32WBA tapi ogé pikeun séri STM32 anu sanés.
- STM32CubeWBA sapinuhna cocog sareng generator kode STM32CubeMX, pikeun ngahasilkeun kode initialization. Paket kalebet API lapisan rendah (LL) sareng lapisan abstraksi hardware (HAL) anu nutupan hardware mikrokontroler, sareng set éksténsif examples ngajalankeun on dewan STMicroelectronics. API HAL sareng LL sayogi dina lisénsi BSD open-source pikeun genah pangguna.
- Paket STM32CubeWBA MCU ogé ngandung komponén middleware komprehensif diwangun sabudeureun Microsoft® Azure® RTOS middleware, sarta tumpukan in-imah jeung open-source séjén, jeung ex pakait.amples.
- Éta datang sareng istilah lisénsi gratis, ramah-pamaké:
- Terintegrasi sareng fitur lengkep Azure® RTOS: Azure® RTOS ThreadX
- Palaksanaan CMSIS-RTOS sareng Azure® RTOS ThreadX
- USB Host jeung Alat tumpukan datang kalawan loba kelas: Azure® RTOS USBX
- Maju file sistem sareng lapisan tarjamahan flash: FileX / LevelX
- Tumpukan jaringan kelas industri: dioptimalkeun pikeun pagelaran anu datang sareng seueur protokol IoT: NetX Duo
- OpenBootloader
- Solusi integrasi Arm® Trusted Firmware-M (TF‑M).
- perpustakaan mbed-crypto
- Perpustakaan ST Netwok
- SMTTouch touch sensing solusi perpustakaan
- Sababaraha aplikasi sareng demonstrasi ngalaksanakeun sadaya komponén middleware ieu ogé disayogikeun dina Paket MCU STM32CubeWBA.
- perenah komponén STM32CubeWBA MCU Paket digambarkeun dina Gambar 1. komponén STM32CubeWBA MCU Paket.
STM32CubeWBA arsitéktur leuwihview
STM32CubeWBA MCU solusi pakét diwangun sabudeureun tilu tingkat bebas nu gampang berinteraksi sakumaha ditétélakeun dina Gambar 2. STM32CubeWBA MCU arsitéktur pakét.
Tingkat 0
Tingkat ieu dibagi kana tilu sublayers:
- pakét rojongan dewan (BSP).
- Lapisan abstraksi hardware (HAL):
- drivers periferal HAL
- drivers low-lapisan
- Pamakéan periferal dasar examples.
Paket dukungan dewan (BSP)
Lapisan ieu nawiskeun sakumpulan API relatif ka komponén hardware dina papan hardware (sapertos LCD, Audio, \ microSD™, sareng supir MEMS). Ieu diwangun ku dua bagian:
- Supir komponén:
Supir ieu aya hubunganana sareng alat éksternal dina papan, sareng sanés kana alat STM32. Supir komponén nyayogikeun API khusus pikeun komponén éksternal supir BSP sareng tiasa dibabawa dina papan anu sanés. - Supir BSP:
Supir BSP ngamungkinkeun linking drivers komponén ka dewan husus, sarta nyadiakeun susunan ramah-pamaké
API. Aturan ngaran API nyaéta BSP_FUNCT_Action ().
Example: BSP_LED_Init(), BSP_LED_On()
BSP dumasar kana arsitéktur modular anu ngamungkinkeun porting gampang dina hardware naon waé ku ngan ukur ngalaksanakeun rutinitas tingkat rendah.
Lapisan abstraksi hardware (HAL) sareng lapisan handap (LL)
STM32CubeWBA HAL sareng LL mangrupikeun pelengkap sareng nutupan sajumlah syarat aplikasi:
- Supir HAL nawiskeun API anu portabel pisan anu berorientasi fungsi tingkat luhur. Aranjeunna nyumputkeun MCU sareng pajeulitna periferal ka pangguna akhir.
Supir HAL nyayogikeun API berorientasi fitur multi-instance generik, anu nyederhanakeun palaksanaan aplikasi pangguna ku cara nyayogikeun prosés anu siap dianggo. Pikeun example, pikeun périferal komunikasi (I2S, UART, jeung sajabana), nyadiakeun API ngamungkinkeun initializing jeung ngonpigurasikeun periferal, ngatur mindahkeun data dumasar kana polling, interrupting, atawa prosés DMA, sarta nanganan kasalahan komunikasi anu bisa timbul salila komunikasi. API supir HAL dibagi jadi dua kategori:- API generik, nu nyadiakeun fungsi umum jeung umum ka sadaya mikrokontroler runtuyan STM32.
- API extension, nu nyadiakeun fungsi husus sarta ngaropéa pikeun kulawarga husus atawa nomer bagian husus.
- API lapisan handap nyadiakeun API tingkat handap dina tingkat register, kalawan optimasi hadé tapi kirang portability.
- Éta peryogi pangaweruh anu jero ngeunaan MCU sareng spésifikasi periferal.
- Supir LL dirancang pikeun nawiskeun lapisan berorientasi ahli anu ringan gancang anu langkung caket kana hardware tibatan HAL. Sabalikna sareng HAL, LL API henteu disayogikeun pikeun périferal dimana aksés anu dioptimalkeun sanés fitur konci, atanapi pikeun anu meryogikeun konfigurasi parangkat lunak atanapi tumpukan tingkat luhur anu kompleks.
- Fitur supir LL:
- Hiji set fungsi pikeun initialize fitur utama periferal nurutkeun parameter dieusian dina struktur data.
- Sakumpulan fungsi pikeun ngeusian struktur data initialization kalayan nilai reset anu saluyu sareng unggal lapangan.
- Fungsi pikeun deinitialization periferal (register periferal disimpen deui ka nilai standar maranéhanana).
- Sakumpulan fungsi inline pikeun aksés register langsung sareng atom.
- Kamerdikaan pinuh tina HAL sareng kamampuan pikeun dianggo dina modeu mandiri (tanpa supir HAL).
- Liputan pinuh ku fitur periferal anu dirojong.
Pamakéan periferal dasar examples
Lapisan ieu nutupan examples diwangun ngaliwatan périferal STM32 ngan ngagunakeun sumberdaya HAL jeung BSP.
Tingkat 1
Tingkat ieu dibagi jadi dua sublayers:
- komponén Middleware
- Examples dumasar kana komponén middleware
komponén Middleware
- Middleware nyaéta sakumpulan perpustakaan anu ngawengku Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
- Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot, sareng mbed-crypto.
- Interaksi horisontal antara komponén lapisan ieu dilakukeun ku nelepon ka API unggulan.
- Interaksi vertikal jeung drivers low-lapisan dipigawé ngaliwatan callbacks husus sarta macros statik dilaksanakeun dina panganteur panggero sistem perpustakaan.
- Fitur utama unggal komponén middleware nyaéta kieu:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: Sistem operasi sacara real-time (RTOS), dirancang pikeun sistem anu dipasang sareng dua modeu fungsional.
- Modeu umum: Pungsi RTOS umum sapertos manajemén thread sareng singkronisasi, manajemén pool memori, olahtalatah, sareng penanganan acara.
- mode modul: Hiji mode pamaké canggih anu ngamungkinkeun loading na unloading modul ThreadX prelinked on laleur ngaliwatan manajer modul.
- NetX Duo
- FileX
- USBX
- Azure® RTOS ThreadX: Sistem operasi sacara real-time (RTOS), dirancang pikeun sistem anu dipasang sareng dua modeu fungsional.
- Bluetooth® Low Energy (BLE): Ngalaksanakeun protokol Bluetooth® Low Energy pikeun lapisan Link sareng Stack.
- MCUboot (software open source)
- protokol Zigbee® pikeun tumpukan jeung klaster patali.
- tumpukan protokol Thread® jeung lapisan link.
- Firmware-M dipercaya Arm®, TF‑M (software open-source): Palaksanaan rujukan tina arsitektur kaamanan platform Arm® (PSA) pikeun TrustZone® sareng jasa aman anu aya hubunganana.
- mbed-crypto (software open source): middleware mbed-crypto nyadiakeun palaksanaan API kriptografi PSA.
- Perpustakaan STM32 Touch sensing: STMTouch capacitive touch sensing solution, ngadukung jarak, touchkey, linear and rotary touch sensor. Éta dumasar kana prinsip akuisisi transfer muatan permukaan anu kabuktian.
- Microsoft® Azure® RTOS
Examples dumasar kana komponén middleware
Unggal komponén middleware hadir kalawan hiji atawa leuwih examples (disebut oge aplikasi) némbongkeun cara ngagunakeun éta. Integrasi examples nu make sababaraha komponén middleware disadiakeun ogé.
STM32CubeWBA firmware pakét leuwihview
Dirojong STM32WBA séri alat jeung hardware
- STM32Cube nawiskeun lapisan abstraksi hardware (HAL) anu portabel pisan anu diwangun dina arsitektur umum. Hal ieu ngamungkinkeun prinsip lapisan ngawangun, sapertos ngagunakeun lapisan middleware pikeun ngalaksanakeun fungsina tanpa terang, jero, naon anu dianggo ku MCU. Ieu ngaronjatkeun reusability kode perpustakaan sarta ensures hiji portability gampang ka alat sejen.
- Salaku tambahan, hatur nuhun kana arsitéktur berlapisna, STM32CubeWBA nawiskeun dukungan pinuh pikeun sadaya séri STM32WBA.
- Pamaké boga ukur keur ngartikeun makro katuhu dina stm32wbaxx.h.
- meja 1 nembongkeun makro pikeun nangtukeun gumantung kana alat runtuyan STM32WBA dipaké. makro ieu ogé kudu dihartikeun dina preprocessor compiler.
meja 1. Macros pikeun runtuyan STM32WBAMakro diartikeun dina stm32wbaxx.h Alat séri STM32WBA stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6 stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7 - STM32CubeWBA gaduh set anu beunghar tina mantanamples sarta aplikasi dina sagala tingkatan sahingga gampang ngartos tur ngagunakeun sagala supir HAL atawa komponén middleware. Ieu exampdijalankeun dina papan STMicroelectronics didaptarkeun dina Tabel 2.
meja 2. Papan pikeun runtuyan STM32WBAPapan Board STM32WBA alat dirojong NUCLEO-WBA52CG STM32WBA52CGU6 NUCLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - Paket STM32CubeWBA MCU tiasa dijalankeun dina hardware anu cocog. Pamaké saukur ngamutahirkeun drivers BSP ka port ex disadiakeunamples on dewan, lamun dimungkinkeun boga fitur hardware sarua (saperti LED, tampilan LCD, sarta tombol).
Paket firmware réngséview
- Solusi pakét STM32CubeWBA disadiakeun dina hiji pakét pos tunggal ngabogaan struktur ditémbongkeun dina Gambar 3. Struktur pakét firmware STM32CubeWBA.
- Pikeun unggal dewan, susunan examples disadiakeun kalawan proyék preconfigured pikeun EWARM, MDK-ARM, sarta STM32CubeIDE toolchains.
- Gambar 4. STM32CubeWBA examples leuwihview nembongkeun struktur proyék pikeun papan NUCLEO‑WBA52CG, NUCLEO-WBA55CG jeung STM32WBA55G-DK1.
- Mantanamples digolongkeun gumantung kana tingkat STM32Cube nu aranjeunna dilarapkeun ka, sarta maranéhanana ngaranna kieu:
- Tingkat 0 examples disebut Examples, Examples_LL, sareng Examples_MIX. Aranjeunna nganggo masing-masing supir HAL, supir LL, sareng campuran supir HAL sareng LL tanpa komponén middleware.
- Tingkat 1 examples disebut Aplikasi. Aranjeunna nyadiakeun kasus pamakéan has unggal komponén middleware. Sagala aplikasi firmware pikeun dewan dibikeun bisa gancang diwangun berkat proyék template sadia dina Templ ates na Templates_LL directories.
Proyék anu diaktipkeun TrustZone®
- TrustZone® diaktipkeun ExampNgaran les ngandung awalan _TrustZone. Aturan ieu diterapkeun ogé pikeun Applicatio ns (iwal TFM sareng SBSFU, anu asli pikeun TrustZone®).
- TrustZone®-diaktipkeun Examples na Aplikasi disadiakeun kalawan struktur multiproject diwangun ku subprojects aman tur nonsecure sakumaha dibere dina Gambar 5. Multiproject struktur aman tur nonsecure proyék.
- Proyék anu diaktipkeun TrustZone® dikembangkeun numutkeun témplat alat CMSIS-5, ngalegaan pikeun ngalebetkeun lulugu partisi sistem. file partisi_ .h, nu utamana jawab setelan tina Unit atribut aman (SAU), FPU, sarta aman / nonsecure interrupts ngerjakeun dina kaayaan palaksanaan aman.
- setelan ieu dipigawé dina aman CMSIS SystemInit () fungsi, nu disebut dina ngamimitian saméméh asupkeun aman aplikasi utama () fungsi. Tingal dokuméntasi Arm® TrustZone®-M ngeunaan tungtunan software.
- Paket firmware pakét STM32CubeWBA nyadiakeun partisi mémori standar dina partisi _ .h files sadia dina: \ Supir \ CMSIS \ Alat \ ST \ STM32WBAxx \ Kaasup \ T emplates
- Dina partisi ieu files, SAU ditumpurkeun sacara standar. Akibatna, pemetaan memori IDAU dianggo pikeun atribusi kaamanan. Tingal inohong Secure/non-secure partitioning maké téhnologi TrustZone® dina manual rujukan RM0495.
- Upami pangguna ngaktifkeun SAU, konfigurasi daérah SAU standar tos ditetepkeun dina partisi files saperti kieu:
- Wewengkon SAU 0: 0x08080000 – 0x081FFFFF (satengah memori flash anu teu aman (512 Kbytes))
- Wewengkon SAU 1: 0x0BF88000 – 0x0BF97FFF (memori sistem teu aman)
- Wewengkon SAU 2: 0x0C07E000 – 0x0C07FFFF (aman, teu aman nelepon)
- Wewengkon SAU 3: 0x20010000 – 0x2001FFFF (SRAM2 teu aman (64 Kbytes))
- Wewengkon SAU 4: 0x40000000 – 0x4FFFFFFF (memori dipetakeun periferal teu aman)
- Pikeun cocog sareng partisi standar, alat séri STM32WBAxx kedah gaduh bait pilihan pangguna di handap ieu:
- TZEN = 1 (Alat anu diaktipkeun TrustZone®)
- SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (64 ti 128 kaca memori flash internal diatur sakumaha aman) Catetan: The memori flash internal pinuh aman sacara standar di TZEN = 1. Pilihan pamaké bait SECWM1_PSTRT/ SECWM1_PEND kudu diatur nurutkeun aplikasi. konfigurasi memori (wewengkon SAU, lamun SAU diaktipkeun). Panyambung proyék aplikasi aman / teu aman files ogé kudu Blok.
- Sadayana examples boga struktur sarua:
- \Inc folder ngandung sakabéh lulugu files.
- folder Src ngandung kode sumber.
- \ EWARM, \ MDK-ARM, jeung \ STM32CubeIDE polder ngandung proyék preconfigured pikeun tiap toolchain.
- readme.md jeung readme.html ngajéntrékeun exampkabiasaan jeung lingkungan diperlukeun sangkan eta jalan.
- ioc file anu ngamungkinkeun pamaké pikeun muka lolobana firmware examples dina STM32CubeMX.
Ngamimitian nganggo STM32CubeWBA
Ngajalankeun urut HAL munggaranample
bagian ieu ngécéskeun kumaha basajan éta ngajalankeun ex munggaranample dina STM32CubeWBA. Éta ngagunakeun salaku ilustrasi generasi togél LED sederhana anu dijalankeun dina papan NUCLEO-WBA52CG:
- Unduh pakét STM32CubeWBA MCU.
- Buka zip kana diréktori pilihan anjeun.
- Pastikeun pikeun henteu ngarobih struktur pakét anu dipidangkeun dina Gambar 1. Disarankeun ogé nyalin pakét dina lokasi anu caket sareng volume akar anjeun (hartosna C: \ ST atanapi G: \ Tés), sabab sababaraha IDE ngalaman masalah nalika jalanna. panjang teuing.
Ngajalankeun hiji TrustZone® munggaran diaktipkeun example
- Sateuacan ngamuat sareng ngajalankeun TrustZone® anu diaktipkeun example, éta wajib maca exampkuring maca file pikeun sagala konfigurasi husus, nu ensures yén kaamanan diaktipkeun sakumaha ditétélakeun dina Bagéan 4.2.1 TrustZone® proyék diaktipkeun (TZEN = 1 (pamaké pilihan bait)).
- Kotektak ka \Projects\NUCLEO-WBA52CG\Examples.
- Buka \GPIO, teras \GPIO_IOToggle_TrustZone polder.
- Buka proyék sareng toolchain anu anjeun pikaresep. A gancang leuwihview ngeunaan cara muka, ngawangun, sareng ngajalankeun mantanample jeung toolchains dirojong dibere handap.
- Ngawangun deui dina urutan sadaya proyék aman sareng teu aman files sareng muatkeun gambar anu aman sareng teu aman kana mémori target.
- Jalankeun mantanample: rutin, aplikasi aman toggles LD2 unggal detik, sarta aplikasi nonsecure toggles LD3 dua kali gancang. Pikeun langkung rinci, tingal readme file ti urutample.
- Pikeun muka, ngawangun jeung ngajalankeun hiji exampkalawan toolchains nu dirojong, tuturkeun léngkah di handap ieu:
- EWARM:
- Di handapeun mantanample folder, buka \EWARM subfolder.
- Jalankeun ruang kerja Project.eww
- Ngawangun deui proyék aman xxxxxx_S files: [Proyék]> [Ngawangun deui sadayana].
- Setel proyék xxxxx_NS nonsecure salaku aplikasi aktip (klik katuhu dina proyék xxxxx_NS [Set salaku Active])
- Ngawangun deui proyék xxxxx_NS nonsecure files: [Proyék]> [Ngawangun deui sadayana].
- Flash binér anu teu aman nganggo [Proyék]>[Download]>[Unduh aplikasi aktip] .
- Setel xxxxx_S salaku aplikasi aktip (klik katuhu dina proyék xxxxx_S [Atur salaku aktip].
- Flash binér aman nganggo [Download and Debug] (Ctrl+D).
- Jalankeun program: [Debug]>[Go(F5)]
- MDK-ARM:
- Buka \ MDK-ARM toolchain.
- Buka ruang kerja Multiprojects file Project.uvmpw.
- Pilih proyék xxxxxx_s salaku aplikasi aktip ([Atur salaku Proyék Aktif]).
- Ngawangun proyék xxxxxx_s.
- Pilih proyék xxxxx_ns salaku proyék Aktif ([Atur salaku Proyék Aktif]).
- Ngawangun proyék xxxxxx_ns.
- Muatkeun binér anu teu aman ([F8]). Ieu ngundeur \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf kana mémori flash)
- Pilih proyék Project_s salaku proyék aktip ([Atur salaku Proyék Aktif]).
- Muat binér aman ([F8]). Ieu ngundeur \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf kana mémori flash).
- Jalankeun mantanample.
- STM32CubeIDE:
- Buka ranté alat STM32CubeIDE.
- Buka ruang kerja Multiprojects file .proyék.
- Ngawangun deui proyék xxxxx_Secure.
- Ngawangun deui proyék xxxxx_NonSecure.
- Jalankeun aplikasi [Debug salaku STM32 Cortex-M C/C++] pikeun proyék anu aman.
- Dina jandela [Edit konfigurasi], pilih panel [ngamimitian], jeung nambahkeun beban gambar jeung simbul proyék nonsecure.
penting: Proyék anu teu aman kedah dimuat sateuacan proyék anu aman. - Pencét [Ok].
- Jalankeun mantanample on sudut pandang debug.
- EWARM:
Ngajalankeun hiji TrustZone® ex ditumpurkeun munggaranample
- Sateuacan ngamuat sareng ngajalankeun hiji TrustZone® ditumpurkeun example, éta wajib maca exampkuring maca file pikeun sagala konfigurasi husus. Mun euweuh nyebutkeun husus, pastikeun yén alat dewan boga kaamanan ditumpurkeun (TZEN = 0 (pamaké pilihan bait)). Tingali FAQ pikeun ngalakukeun régrési opsional ka TZEN = 0
- Kotektak ka \Projects\NUCLEO-WBA52CG\Examples.
- Buka \GPIO, teras \GPIO_EXTI folder.
- Buka proyék sareng toolchain anu anjeun pikaresep. A gancang leuwihview ngeunaan cara muka, ngawangun, sareng ngajalankeun mantanample jeung toolchains dirojong dibere handap.
- Bangun deui sadayana files sarta beban gambar anjeun kana mémori target.
- Jalankeun mantanample: Unggal waktos tombol push [USER] dipencet, LED LD1 toggles. Pikeun langkung rinci, tingal readme file ti urutample.
- Pikeun muka, ngawangun jeung ngajalankeun hiji exampkalawan toolchains nu dirojong, tuturkeun léngkah di handap ieu:
- EWARM:
- Di handapeun mantanample folder, buka \EWARM subfolder.
- Jalankeun ruang kerja Project.eww (ngaran rohangan kerja tiasa robih tina hiji example ka nu sejen).
- Bangun deui sadayana files: [Proyék]> [Ngawangun deui sadayana].
- Muat gambar proyék: [Proyék]>[Debug].
- Jalankeun program: [Debug]> [Go (F5)].
- MDK-ARM:
- Di handapeun mantanample folder, buka \ MDK-ARM subfolder.
- Jalankeun workspace Project.uvproj (ngaran workspace bisa robah ti hiji example ka nu sejen).
- Bangun deui sadayana files:[Proyék]>[Ngawangun deui sakabéh udagan files].
- Muat gambar proyék: [Debug]>[Start/Stop Debug Session].
- Jalankeun program: [Debug]>[Run (F5)].
- STM32CubeIDE:
- Buka ranté alat STM32CubeIDE.
- Pencét [File]>[Ganti Workspace]>[Lainna] tur kotektak ka diréktori workspace STM32CubeIDE.
- Pencét [File]>[Import] , pilih [General]>[Existing Projects into Workspace], teras klik [Next].
- Kotektak diréktori workspace STM32CubeIDE tur pilih proyék.
- Ngawangun deui sadayana proyék files: Pilih proyék dina jandela [Project Explorer] teras klik menu [Project]> [Build project].
- Jalankeun program: [Run]>[Debug (F11)]
- EWARM:
Ngamekarkeun hiji aplikasi custom
Catetan: Software kudu ngaktipkeun cache instruksi (ICACHE) pikeun meunangkeun 0 palaksanaan kaayaan nungguan ti memori flash, sarta ngahontal kinerja maksimum sarta konsumsi kakuatan hadé.
Nganggo STM32CubeMX pikeun ngembangkeun atanapi ngapdet aplikasi
- Dina pakét STM32CubeWBA MCU, ampir sakabéh proyék examples dihasilkeun ku alat STM32CubeMX pikeun initialize sistem, périferal, sarta middleware.
- Pamakéan langsung tina hiji proyék aya example tina alat STM32CubeMX merlukeun STM32CubeMX 6.10.0 atawa nu leuwih luhur:
- Saatos pamasangan STM32CubeMX, buka sareng upami perlu ngapdet proyék anu diusulkeun. Cara pangbasajanna pikeun muka hiji proyék aya nyaéta ganda-klik dina *.ioc file supados STM32CubeMX otomatis muka proyék sareng sumberna files.
- STM32CubeMX ngahasilkeun kode sumber initialization proyék sapertos. Kode sumber aplikasi utama dikandung ku komentar "USER CODE BEGIN" sareng "USER CODE END". Bisi pilihan IP sareng setelan dirobah, STM32CubeMX ngamutahirkeun bagian initialization kode tapi preserves kode sumber aplikasi utama.
- Pikeun ngembangkeun proyék khusus dina STM32CubeMX, tuturkeun prosés léngkah-léngkah:
- Pilih mikrokontroler STM32 anu cocog sareng set périferal anu diperyogikeun.
- Konpigurasikeun sadaya parangkat lunak anu dilebetkeun anu dibutuhkeun nganggo pamecah konflik-pinout, asisten setelan tangkal jam, kalkulator pamakean daya, sareng utilitas anu ngalaksanakeun konfigurasi periferal MCU (sapertos GPIO atanapi USART) sareng tumpukan middleware (sapertos USB).
- Ngahasilkeun kodeu initialization C dumasar kana konfigurasi nu dipilih. Kode ieu siap dianggo dina sababaraha lingkungan pamekaran. Kode pamaké disimpen dina generasi kode salajengna.
- Kanggo inpo nu leuwih lengkep tentang STM32CubeMX, tingal manual pamaké STM32CubeMX pikeun konfigurasi STM32 jeung initialization C kode generasi (UM1718).
- Pikeun daptar proyék sadia examples pikeun STM32CubeWBA, tingal catetan aplikasi STM32Cube firmware examples pikeun runtuyan STM32WBA (AN5929).
Aplikasi supir
aplikasi HAL
Bagian ieu ngajelaskeun léngkah-léngkah anu diperyogikeun pikeun nyiptakeun aplikasi HAL khusus nganggo STM32CubeWBA:
- Jieun proyék
- Pikeun nyieun proyék anyar, mimitian boh tina proyék Citakan disadiakeun pikeun tiap dewan dina \Projects\ \Templat atanapi tina proyék naon waé anu aya dina \Proyék\ \Ujian atawa \Proyék\ \Aplikasi (dimana ngarujuk kana nami dewan, sapertos STM32CubeWBA).
- Proyék Citakan nyadiakeun fungsi loop utama kosong. Nanging, éta mangrupikeun titik awal anu saé pikeun ngartos setélan proyék STM32CubeWBA. Citakan mibanda ciri di handap ieu:
- Éta ngandung kode sumber HAL, CMSIS, sareng supir BSP, anu mangrupikeun set minimum komponén anu diperyogikeun pikeun ngembangkeun kode dina papan anu dipasihkeun.
- Ieu ngandung jalur kaasup pikeun sakabéh komponén firmware.
- Éta netepkeun alat séri STM32WBA anu dirojong, ngamungkinkeun supir CMSIS sareng HAL tiasa dikonpigurasi leres.
- Éta nyayogikeun pangguna anu siap dianggo files preconfigured sakumaha ditémbongkeun di handap ieu:
HAL diinisialisasi ku basis waktos standar sareng inti Arm® SysTick. SysTick ISR dilaksanakeun pikeun tujuan HAL_Delay ().
Catetan: Nalika nyalin proyék anu tos aya ka lokasi anu sanés, pastikeun sadaya jalur anu kalebet diénggalan.
- Tambahkeun middleware diperlukeun pikeun proyék pamaké (opsional)
Pikeun ngaidentipikasi sumber files pikeun ditambahkeun kana proyék file daftar, tingal dokuméntasi disadiakeun pikeun tiap middleware. Tingali kana aplikasi dina \Projects\STM32xxx_yyy\Applications\ (dimana nujul kana tumpukan middleware, kayaning ThreadX) uninga mana sumber files sarta ngawengku jalur kudu ditambahkeun. - Konpigurasikeun komponén firmware
Komponén HAL sareng middleware nawiskeun sakumpulan pilihan konfigurasi waktos ngawangun nganggo makro #define dinyatakeun dina lulugu. file. A konfigurasi template file disayogikeun dina unggal komponén, anu kedah disalin kana folder proyék (biasana konfigurasi file dingaranan xxx_conf_template.h, kecap _template kedah dipiceun nalika nyalin kana folder proyék). Konfigurasi file nyadiakeun informasi cukup ngartos dampak unggal pilihan konfigurasi. Inpo nu leuwih lengkep sadia dina dokuméntasi disadiakeun pikeun tiap komponén. - Mimitian perpustakaan HAL
Saatos ngaluncat kana program utama, kode aplikasi kedah nyauran HAL_Init () API pikeun ngamimitian perpustakaan HAL, anu ngalaksanakeun tugas di handap ieu:- Konfigurasi memori flash prefetch na SysTick ngaganggu prioritas (ngaliwatan macros diartikeun dina st m32wbaxx_hal_conf.h).
- Konfigurasi SysTick pikeun ngahasilkeun hiji ngaganggu unggal millisecond dina SysTick ngaganggu prioritas TICK_INT_PRIO didefinisikeun dina stm32wbaxx_hal_conf.h.
- Nyetél prioritas grup NVIC ka 0.
- Telepon HAL_MspInit () fungsi callback didefinisikeun dina stm32wbaxx_hal_msp.c pamaké file pikeun ngalakukeun initializations hardware tingkat low global.
- Konpigurasikeun jam sistem
Konfigurasi jam sistem dilakukeun ku nelepon dua API anu dijelaskeun di handap ieu:- HAL_RCC_OscConfig(): API ieu ngonpigurasikeun osilator internal sareng éksternal. Pamaké milih ngonpigurasikeun hiji atawa sakabéh osilator.
- HAL_RCC_ClockConfig(): API ieu ngonpigurasikeun sumber jam sistem, latency memori flash, sarta AHB na APB prescalers.
- Initialize periferal
- Tulis heula fungsi HAL_PPP_MspInit periferal. Teraskeun sapertos kieu:
- Aktipkeun jam periferal.
- Ngonpigurasikeun GPIOs periferal.
- Konpigurasikeun saluran DMA sareng aktipkeun DMA ngaganggu (upami diperyogikeun).
- Aktipkeun interupsi periferal (upami diperlukeun).
- Édit stm32xxx_it.c pikeun nelepon panangan ngaganggu anu diperyogikeun (periferal sareng DMA), upami diperyogikeun.
- Nulis prosés fungsi callback lengkep, lamun hiji ngaganggu periferal atawa DMA rencanana dipaké.
- Dina pamaké utama.c file, initialize struktur cecekelan periferal lajeng nelepon fungsi HAL_PPP_Init () pikeun initialize periferal.
- Tulis heula fungsi HAL_PPP_MspInit periferal. Teraskeun sapertos kieu:
- Ngembangkeun hiji aplikasi
- Dina ieu stage, sistem geus siap tur ngembangkeun kode aplikasi pamaké bisa ngamimitian.
- HAL nyayogikeun API anu intuitif sareng siap dianggo pikeun ngonpigurasikeun periferal. Ieu ngarojong polling, interrupts, sarta modél programming DMA, pikeun nampung sagala sarat aplikasi. Kanggo inpo nu langkung lengkep ihwal kumaha cara ngagunakeun unggal periferal, tingal urut beungharample set disadiakeun dina pakét STM32CubeWBA MCU.
Awas: Dina palaksanaan HAL standar, timer SysTick dipaké salaku timebase a: eta ngahasilkeun interrupts dina interval waktu nu biasa. Mun HAL_Delay () disebut ti prosés ISR periferal, pastikeun yén SysTick ngaganggu boga prioritas luhur (numeris handap) ti interupsi periferal. Upami teu kitu, prosés ISR panelepon diblokir. Fungsi nu mangaruhan konfigurasi timebase dinyatakeun salaku __weak sangkan override mungkin bisi palaksanaan sejenna dina pamaké. file (nganggo timer tujuan umum, contonaample, atanapi sumber waktos sanés). Pikeun leuwih rinci, tingal HAL_TimeBase example.
aplikasi LL
Bagian ieu ngajelaskeun léngkah-léngkah anu diperyogikeun pikeun nyiptakeun aplikasi LL khusus nganggo STM32CubeWBA.
- Jieun proyék
- Pikeun nyieun proyék anyar, mimitian ti proyék Templates_LL disadiakeun pikeun tiap dewan dina \Projects\ \Templates_LL, atanapi tina proyék naon waé anu aya dina \Projects\ \Examples_LL ( ngarujuk kana nami dewan, sapertos NUCLEO-WBA32CG).
- Proyék template nyadiakeun fungsi loop utama kosong, nu mangrupakeun titik awal alus ngartos setélan proyék pikeun STM32CubeWBA. Ciri utama template nyaéta kieu:
- Ieu ngandung kodeu sumber LL na CMSIS drivers, nu mangrupakeun set minimum komponén diperlukeun pikeun ngembangkeun kode dina dewan dibikeun.
- Ieu ngandung jalur kaasup pikeun sakabéh komponén firmware diperlukeun.
- Éta milih alat séri STM32WBA anu dirojong sareng ngamungkinkeun konfigurasi anu leres tina supir CMSIS sareng LL.
- Éta nyayogikeun pangguna anu siap dianggo files nu preconfigured kieu:
◦ main.h: LED jeung USER_BUTTON lapisan abstraksi harti.
◦ main.c: Konfigurasi jam Sistim pikeun frékuénsi maksimum.
- Port hiji proyék aya ka dewan sejen
Pikeun ngadukung proyék anu aya dina papan target anu sanés, mimitian ti proyék Templates_LL anu disayogikeun pikeun tiap papan sareng sayogi dina \Projects\ \Templates_LL.- Pilih LL example: Pikeun manggihan dewan nu LL examples anu deployed, tingal daptar LL examples STM32CubeProjectsList.html.
- Port LL example:
- Salin / témpél folder Templates_LL - pikeun ngajaga sumber awal - atanapi langsung ngapdet proyék Temp lates_LL anu tos aya.
- Lajeng porting diwangun utamana dina ngaganti Templates_LL files ku Exampproyék sasaran les_LL.
- Tetep sakabéh bagian husus dewan. Pikeun alesan kajelasan, papan bagian husus anu flagged kalawan husus tags:
- Ku kituna, léngkah porting utama nyaéta kieu:
- Ngaganti stm32wbaxx_it.h file
- Ngaganti stm32wbaxx_it.c file
- Ngaganti utama.h file sareng ngapdetna: Simpen definisi tombol LED sareng pangguna tina témplat LL dina KONFIGURASI SPESIFIK DEWAN tags.
- Ganti nu utama.c file sareng ngapdet éta:
- Tetep konfigurasi jam tina SystemClock_Config () LL fungsi template di handapeun BOARD SPECIFIC CONFIGURATION tags.
- Gumantung kana harti LED, ngaganti unggal kajadian LDx kalawan LDy sejen sadia dina main.h file.
- Kalayan modifikasi ieu, example ayeuna dijalankeun dina dewan sasaran
Aplikasi kaamanan
Paket ieu dikirimkeun sareng aplikasi kaamanan.
aplikasi SBSFU
- SBSFU nyayogikeun solusi Akar Amanah, kalebet Boot Aman sareng fungsionalitas Update Firmware Aman (dumasar kana MCUboot).
- Solusina dianggo sateuacan ngaéksekusi aplikasi.
- Leyuran nyadiakeun example sahiji layanan aman (GPIO toggle), nu diisolasi tina aplikasi nonsecure. Aplikasi anu teu aman dina waktos jalanna masih tiasa nganggo solusi ieu.
aplikasi TFM
TFM nyayogikeun solusi Root of Trust kalebet Boot Aman sareng fungsionalitas Update Firmware Aman
(dumasar kana MCUboot). Solusina dianggo sateuacan ngaéksekusi aplikasi. Solusina nyayogikeun jasa aman TFM anu diisolasi tina aplikasi anu teu aman. Aplikasi anu teu aman dina waktos jalanna masih tiasa nganggo solusi ieu.
aplikasi RF
Aplikasi RF dijelaskeun dina catetan aplikasi ieu: Ngawangun aplikasi nirkabel nganggo mikrokontroler séri STM32WBA (AN5928).
Meunangkeun apdet release STM32CubeWBA
Pakét STM32CubeWBA MCU panganyarna sareng patch sayogi ti STM32WBA Series. Éta tiasa dicandak tina tombol CHECK FOR UPDATE di STM32CubeMX. Pikeun leuwih rinci, tingal Bagéan 3 tina manual pamaké STM32CubeMX pikeun konfigurasi STM32 jeung initialization C kode generasi (UM1718).
FAQ
- Iraha kuring kedah nganggo HAL tibatan supir LL?
- Supir HAL nawiskeun API tingkat luhur sareng berorientasi fungsi, kalayan tingkat portabilitas anu luhur. Produk atanapi pajeulitna periferal disumputkeun pikeun pamaké tungtung.
- Supir LL nawiskeun API tingkat pendaptaran lapisan rendah, kalayan optimasi anu langkung saé tapi kirang portabel. Éta peryogi pangaweruh anu jero ngeunaan spésifikasi produk atanapi IP.
- Naha kuring tiasa nganggo supir HAL sareng LL babarengan? Mun kuring bisa, naon watesan?
- Kasebut nyaéta dimungkinkeun pikeun nganggo supir HAL sareng LL. Paké HAL pikeun fase initialization IP lajeng ngatur I / O operasi kalawan drivers LL.
- Beda utama antara HAL sareng LL nyaéta yén supir HAL kedah nyiptakeun sareng nganggo gagang pikeun manajemén operasi bari supir LL beroperasi langsung dina register periferal. Examples_MIX example illustrates kumaha nyampur HAL jeung LL.
- Kumaha LL initialization API diaktipkeun?
- Definisi LL initialization API jeung sumber pakait (Struktur, literals, sarta prototipe) conditioned ku switch kompilasi USE_FULL_LL_DRIVER.
- Pikeun tiasa nganggo API inisialisasi LL, tambahkeun saklar ieu dina preprocessor kompiler toolchain.
- Kumaha STM32CubeMX tiasa ngahasilkeun kode dumasar kana parangkat lunak anu dipasang?
STM32CubeMX gaduh pangaweruh anu diwangun ngeunaan mikrokontroler STM32, kalebet périferal sareng parangkat lunak anu ngamungkinkeun masihan perwakilan grafis ka pangguna sareng ngahasilkeun *.h atanapi *.c files dumasar kana konfigurasi pamaké.
PERHATOSAN PENTING – BACA TELITI
- STMicroelectronics NV sareng anak perusahaanna ("ST") ngagaduhan hak pikeun ngarobih, koréksi, perbaikan, modifikasi, sareng perbaikan produk ST sareng / atanapi dokumen ieu iraha waé tanpa aya bewara. Purchasers kudu ménta inpo relevan panganyarna dina produk ST saméméh nempatkeun pesenan. Produk ST dijual dumasar kana sarat sareng kaayaan penjualan ST di tempat nalika pangakuan pesenan.
- Purchasers téh solely jawab pilihan, seleksi, sarta pamakéan produk ST sarta ST nganggap euweuh liability pikeun bantuan aplikasi atawa desain produk purchasers '.
- Henteu aya lisénsi, terang atanapi tersirat, kana hak cipta intelektual anu dipasihkeun ku ST di dieu.
- Dijual deui produk ST kalayan katangtuan anu béda ti inpormasi anu dijelaskeun di dieu bakal ngabatalkeun jaminan anu dipasihkeun ku ST pikeun produk sapertos kitu.
- ST jeung logo ST mangrupakeun mérek dagang ti ST. Pikeun émbaran tambahan ngeunaan mérek dagang ST, tingal www.st.com/trademarks. Sadaya nami produk atanapi jasa sanés mangrupikeun milik anu gaduhna.
- Inpormasi dina dokumén ieu ngagentos sareng ngagentos inpormasi anu disayogikeun saacanna dina versi sateuacanna tina dokumén ieu.
- © 2023 STMicroelectronics – Sadaya hak ditangtayungan
Dokumén / Sumberdaya
![]() |
STMicroelectronics STM32WBA Series Ngamimitian [pdf] Manual pamaké STM32WBA Series Ngamimitian, Ngamimitian, Ngamimitian |