ស៊េរី STMicroelectronics STM32WBA ចាប់ផ្តើម
ព័ត៌មានអំពីផលិតផល
លក្ខណៈពិសេស៖
- ឈ្មោះផលិតផល៖ កញ្ចប់ MCU STM32CubeWBA
- ក្រុមហ៊ុនផលិត៖ STMicroelectronics
- ភាពឆបគ្នា៖ ឧបករណ៍បញ្ជាខ្នាតតូចស៊េរី STM32WBA
- អាជ្ញាប័ណ្ណ៖ អាជ្ញាប័ណ្ណ BSD ប្រភពបើកចំហ
ការណែនាំអំពីការប្រើប្រាស់ផលិតផល
លក្ខណៈពិសេសចម្បងនៃកញ្ចប់ STM32CubeWBA MCU៖
កញ្ចប់ STM32CubeWBA MCU ផ្តល់នូវសមាសធាតុផ្នែកទន់ដែលបានបង្កប់ចាំបាច់ទាំងអស់សម្រាប់បង្កើតកម្មវិធីនៅលើ microcontrollers ស៊េរី STM32WBA ។ វាអាចចល័តបានក្នុងស៊េរី STM32 ហើយភ្ជាប់មកជាមួយ HAL និង LL APIs ឧamples, និងសមាសភាគឧបករណ៍កណ្តាល។
ស្ថាបត្យកម្មជាងview:
ស្ថាបត្យកម្មនៃកញ្ចប់ STM32CubeWBA MCU មានបីកម្រិត - កម្មវិធី បណ្ណាល័យ និងសមាសធាតុផ្អែកលើពិធីការ ស្រទាប់អរូបីផ្នែករឹង កម្មវិធីបញ្ជា BSP កម្មវិធីបញ្ជាស្នូល និង APIs ស្រទាប់ទាប។
សំណួរគេសួរញឹកញាប់
- តើរួមបញ្ចូលអ្វីខ្លះនៅក្នុងកញ្ចប់ STM32CubeWBA MCU?
កញ្ចប់រួមមានស្រទាប់ទាប (LL) និងស្រទាប់អរូបីផ្នែករឹង (HAL) APIs ឧamples, កម្មវិធី, សមាសភាគឧបករណ៍កណ្តាលដូចជា FileX/LevelX, NetX Duo, បណ្ណាល័យ mbed-crypto និងច្រើនទៀត។ - តើកញ្ចប់ MCU STM32CubeWBA អាចប្រើបានជាមួយម៉ាស៊ីនបង្កើតកូដ STM32CubeMX ដែរឬទេ?
បាទ/ចាស កញ្ចប់គឺត្រូវគ្នាយ៉ាងពេញលេញជាមួយម៉ាស៊ីនបង្កើតកូដ STM32CubeMX សម្រាប់បង្កើតកូដចាប់ផ្តើម។
សេចក្តីផ្តើម
- STM32Cube គឺជាគំនិតផ្តួចផ្តើមដើមរបស់ STMicroelectronics ដើម្បីបង្កើនផលិតភាពអ្នករចនាយ៉ាងសំខាន់ ដោយកាត់បន្ថយការខិតខំប្រឹងប្រែងក្នុងការអភិវឌ្ឍន៍ ពេលវេលា និងការចំណាយ។ STM32Cube គ្របដណ្តប់លើផលប័ត្រ STM32 ទាំងមូល។
STM32Cube រួមមានៈ- សំណុំនៃឧបករណ៍អភិវឌ្ឍន៍កម្មវិធីដែលងាយស្រួលប្រើសម្រាប់គ្របដណ្តប់លើការអភិវឌ្ឍន៍គម្រោងពីគំនិតរហូតដល់ការសម្រេចបាន ដែលក្នុងនោះមាន៖
- STM32CubeMX ជាឧបករណ៍កំណត់រចនាសម្ព័ន្ធកម្មវិធីក្រាហ្វិកដែលអនុញ្ញាតឱ្យបង្កើតកូដការចាប់ផ្តើម C ដោយស្វ័យប្រវត្តិដោយប្រើអ្នកជំនួយក្រាហ្វិក
- STM32CubeIDE ជាឧបករណ៍អភិវឌ្ឍន៍ទាំងអស់ក្នុងមួយជាមួយនឹងការកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ ការបង្កើតកូដ ការចងក្រងកូដ និងមុខងារបំបាត់កំហុស
- STM32CubeCLT ដែលជាឧបករណ៍អភិវឌ្ឍន៍បន្ទាត់ពាក្យបញ្ជាទាំងអស់នៅក្នុងមួយជាមួយនឹងការចងក្រងកូដ ការសរសេរកម្មវិធីក្តារ និងលក្ខណៈពិសេសបំបាត់កំហុស
- STM32CubeProgrammer (STM32CubeProg) ដែលជាឧបករណ៍សរសេរកម្មវិធីដែលមាននៅក្នុងកំណែក្រាហ្វិក និងបន្ទាត់ពាក្យបញ្ជា
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD) ឧបករណ៍ត្រួតពិនិត្យដ៏មានអានុភាពដើម្បីកែសម្រួលឥរិយាបថ និងការអនុវត្តកម្មវិធី STM32 ក្នុងពេលវេលាជាក់ស្តែង
- STM32Cube MCU និង MPU Packages ដែលជាកម្មវិធីបង្កប់-កម្មវិធីបង្កប់យ៉ាងទូលំទូលាយជាក់លាក់ចំពោះ microcontroller និង microprocessor series (ដូចជា STM32CubeWBA សម្រាប់ស៊េរី STM32WBA) ដែលរួមមាន:
- STM32Cube hardware abstraction layer (HAL) ធានាបាននូវការចល័តអតិបរមានៅទូទាំង STM32 portfolio
- STM32Cube low-layer APIs ធានានូវដំណើរការល្អបំផុត និងស្នាមជើងជាមួយនឹងកម្រិតខ្ពស់នៃការគ្រប់គ្រងអ្នកប្រើប្រាស់លើផ្នែករឹង
- សំណុំនៃសមាសភាគឧបករណ៍កណ្តាលដូចជា ThreadX, FileX/LevelX, NetX Duo, USBX, touch library, mbed-crypto, TFM, MCUboot, OpenBL, និង STM32_WPAN (រួមទាំង Bluetooth® Low Energy profiles និងសេវាកម្ម Mesh, Zigbee®, OpenThread, Matter និង 802.15.4 ស្រទាប់ MAC)
- ឧបករណ៍ប្រើប្រាស់កម្មវិធីដែលបានបង្កប់ទាំងអស់ជាមួយនឹងសំណុំពេញលេញនៃគ្រឿងកុំព្យូទ័រ និងកម្មវិធី examples
- កញ្ចប់ពង្រីក STM32Cube ដែលមានសមាសធាតុកម្មវិធីបង្កប់ដែលបំពេញមុខងាររបស់ STM32Cube MCU និង MPU Packages ជាមួយ៖
- ផ្នែកបន្ថែម Middleware និងស្រទាប់អនុវត្ត
- Examples កំពុងដំណើរការលើក្រុមប្រឹក្សាអភិវឌ្ឍន៍ STMicroelectronics ជាក់លាក់មួយចំនួន
- សំណុំនៃឧបករណ៍អភិវឌ្ឍន៍កម្មវិធីដែលងាយស្រួលប្រើសម្រាប់គ្របដណ្តប់លើការអភិវឌ្ឍន៍គម្រោងពីគំនិតរហូតដល់ការសម្រេចបាន ដែលក្នុងនោះមាន៖
- សៀវភៅណែនាំអ្នកប្រើប្រាស់នេះពិពណ៌នាអំពីរបៀបចាប់ផ្តើមជាមួយកញ្ចប់ STM32CubeWBA MCU ។
- ផ្នែកទី 2 លក្ខណៈពិសេសចម្បង STM32CubeWBA ពិពណ៌នាអំពីលក្ខណៈសំខាន់ៗនៃកញ្ចប់ STM32CubeWBA MCU ។
- ផ្នែកទី 3 ស្ថាបត្យកម្ម STM32CubeWBA ត្រូវបានបញ្ចប់view ផ្តល់លើសview នៃស្ថាបត្យកម្ម STM32CubeWBA និងរចនាសម្ព័ន្ធកញ្ចប់ MCU ។
ព័ត៌មានទូទៅ
កញ្ចប់ STM32CubeWBA MCU ដំណើរការលើ microcontrollers 32-bit STM32 ដោយផ្អែកលើប្រព័ន្ធដំណើរការ Arm® Cortex®-M33 ជាមួយនឹង Arm® TrustZone® និង FPU ។
ចំណាំ៖ Arm និង TrustZone គឺជាពាណិជ្ជសញ្ញាដែលបានចុះបញ្ជីរបស់ Arm Limited (ឬសាខារបស់ខ្លួន) នៅសហរដ្ឋអាមេរិក និង/ឬកន្លែងផ្សេងទៀត។
លក្ខណៈពិសេសរបស់ STM32CubeWBA
- កញ្ចប់ STM32CubeWBA MCU ដំណើរការលើ STM32 32-bit microcontrollers ផ្អែកលើប្រព័ន្ធដំណើរការ Arm® Cortex®-M33 ជាមួយនឹង TrustZone® និង FPU ។
- STM32CubeWBA ប្រមូលផ្តុំនៅក្នុងកញ្ចប់តែមួយ សមាសធាតុកម្មវិធីបង្កប់ទូទៅទាំងអស់ដែលត្រូវការដើម្បីបង្កើតកម្មវិធីសម្រាប់ microcontrollers ស៊េរី STM32WBA ។ ស្របតាមគំនិតផ្តួចផ្តើម STM32Cube សំណុំនៃសមាសភាគនេះគឺអាចចល័តបានខ្ពស់មិនត្រឹមតែនៅក្នុង microcontrollers ស៊េរី STM32WBA ប៉ុណ្ណោះទេប៉ុន្តែថែមទាំងស៊េរី STM32 ផ្សេងទៀតផងដែរ។
- STM32CubeWBA គឺត្រូវគ្នាយ៉ាងពេញលេញជាមួយម៉ាស៊ីនបង្កើតកូដ STM32CubeMX ដើម្បីបង្កើតលេខកូដចាប់ផ្តើម។ កញ្ចប់រួមមានស្រទាប់ទាប (LL) និងស្រទាប់អរូបីផ្នែករឹង (HAL) APIs ដែលគ្របដណ្ដប់លើផ្នែករឹងរបស់ microcontroller រួមជាមួយនឹងសំណុំទូលំទូលាយនៃ examples កំពុងដំណើរការលើក្តារ STMicroelectronics ។ HAL និង LL APIs មាននៅក្នុងអាជ្ញាប័ណ្ណ BSD ប្រភពបើកចំហសម្រាប់ភាពងាយស្រួលរបស់អ្នកប្រើប្រាស់។
- កញ្ចប់ STM32CubeWBA MCU ក៏មានសមាសធាតុឧបករណ៍កណ្តាលដ៏ទូលំទូលាយដែលត្រូវបានសាងសង់នៅជុំវិញ Microsoft® Azure® RTOS មជ្ឈដ្ឋានកណ្តាល និងជង់ខាងក្នុង និងប្រភពបើកចំហផ្សេងទៀត ជាមួយនឹងអតីតដែលត្រូវគ្នាamples ។
- ពួកវាមកជាមួយលក្ខខណ្ឌអាជ្ញាប័ណ្ណដែលងាយស្រួលប្រើ និងឥតគិតថ្លៃ៖
- Azure® RTOS រួមបញ្ចូលគ្នា និងមានលក្ខណៈពេញលេញ៖ Azure® RTOS ThreadX
- ការអនុវត្ត CMSIS-RTOS ជាមួយAzure® RTOS ThreadX
- ជង់ឧបករណ៍ និងឧបករណ៍ USB មកជាមួយថ្នាក់ជាច្រើន៖ Azure® RTOS USBX
- កម្រិតខ្ពស់ file ប្រព័ន្ធ និងស្រទាប់បកប្រែពន្លឺ៖ FileX / LevelX
- ជង់បណ្តាញថ្នាក់ឧស្សាហកម្ម៖ ធ្វើឱ្យប្រសើរឡើងសម្រាប់ដំណើរការដែលភ្ជាប់មកជាមួយពិធីការ IoT ជាច្រើន៖ NetX Duo
- កម្មវិធី OpenBootloader
- Arm® Trusted Firmware-M (TF‑M) ដំណោះស្រាយរួមបញ្ចូល
- បណ្ណាល័យ mbed-crypto
- បណ្ណាល័យ ST Netwok
- ដំណោះស្រាយបណ្ណាល័យការចាប់អារម្មណ៍ STMTouch
- កម្មវិធី និងការបង្ហាញមួយចំនួនដែលអនុវត្តសមាសធាតុឧបករណ៍កណ្តាលទាំងនេះក៏ត្រូវបានផ្តល់ជូននៅក្នុងកញ្ចប់ STM32CubeWBA MCU ផងដែរ។
- ប្លង់សមាសភាគកញ្ចប់ STM32CubeWBA MCU ត្រូវបានបង្ហាញក្នុងរូបភាពទី 1 ។ សមាសភាគកញ្ចប់ STM32CubeWBA MCU ។
ស្ថាបត្យកម្ម STM32CubeWBA ត្រូវបានបញ្ចប់view
ដំណោះស្រាយកញ្ចប់ STM32CubeWBA MCU ត្រូវបានបង្កើតឡើងជុំវិញកម្រិតឯករាជ្យចំនួនបី ដែលងាយស្រួលធ្វើអន្តរកម្មដូចដែលបានពិពណ៌នាក្នុងរូបភាពទី 2 ។ ស្ថាបត្យកម្មកញ្ចប់ STM32CubeWBA MCU ។
កម្រិត 0
កម្រិតនេះត្រូវបានបែងចែកជាបីស្រទាប់រង៖
- កញ្ចប់គាំទ្រក្តារ (BSP) ។
- ស្រទាប់អរូបីផ្នែករឹង (HAL)៖
- កម្មវិធីបញ្ជាគ្រឿងកុំព្យូទ័រ HAL
- អ្នកបើកបរស្រទាប់ទាប
- ការប្រើប្រាស់គ្រឿងកុំព្យូទ័រជាមូលដ្ឋាន ឧamples ។
កញ្ចប់គាំទ្រក្តារ (BSP)
ស្រទាប់នេះផ្តល់នូវសំណុំនៃ APIs ដែលទាក់ទងទៅនឹងសមាសធាតុផ្នែករឹងនៅក្នុង hardware boards (ដូចជា LCD, Audio,\ microSD™, និង MEMS drivers)។ វាមានពីរផ្នែក៖
- កម្មវិធីបញ្ជាសមាសភាគ៖
កម្មវិធីបញ្ជានេះទាក់ទងនឹងឧបករណ៍ខាងក្រៅនៅលើក្តារ ហើយមិនមែនទៅឧបករណ៍ STM32 ទេ។ កម្មវិធីបញ្ជាសមាសភាគផ្តល់ APIs ជាក់លាក់ដល់សមាសភាគខាងក្រៅរបស់កម្មវិធីបញ្ជា BSP ហើយអាចចល័តបាននៅលើក្តារផ្សេងទៀត។ - កម្មវិធីបញ្ជា BSP៖
កម្មវិធីបញ្ជា BSP អនុញ្ញាតឱ្យភ្ជាប់កម្មវិធីបញ្ជាសមាសភាគទៅក្រុមប្រឹក្សាភិបាលជាក់លាក់មួយ និងផ្តល់នូវសំណុំនៃងាយស្រួលប្រើ
APIs ច្បាប់ដាក់ឈ្មោះ API គឺ BSP_FUNCT_Action()។
Exampឡេ៖ BSP_LED_Init(), BSP_LED_On()
BSP គឺផ្អែកលើស្ថាបត្យកម្មម៉ូឌុលដែលអនុញ្ញាតឱ្យងាយស្រួលច្រកលើផ្នែករឹងណាមួយដោយគ្រាន់តែអនុវត្តទម្លាប់កម្រិតទាបប៉ុណ្ណោះ។
ស្រទាប់អរូបីផ្នែករឹង (HAL) និងស្រទាប់ទាប (LL)
STM32CubeWBA HAL និង LL គឺជាការបំពេញបន្ថែម និងគ្របដណ្តប់លើតម្រូវការកម្មវិធីជាច្រើន៖
- កម្មវិធីបញ្ជា HAL ផ្តល់ជូននូវ APIs ចល័តកម្រិតខ្ពស់ដែលផ្តោតលើមុខងារកម្រិតខ្ពស់។ ពួកគេលាក់ MCU និងភាពស្មុគស្មាញគ្រឿងកុំព្យូទ័រដល់អ្នកប្រើប្រាស់ចុងក្រោយ។
កម្មវិធីបញ្ជា HAL ផ្តល់នូវ APIs តម្រង់ទិសលក្ខណៈពិសេសពហុវត្ថុទូទៅ ដែលជួយសម្រួលដល់ការអនុវត្តកម្មវិធីរបស់អ្នកប្រើប្រាស់ដោយផ្តល់នូវដំណើរការដែលត្រៀមរួចជាស្រេចក្នុងការប្រើប្រាស់។ សម្រាប់អតីតample សម្រាប់ឧបករណ៍ទំនាក់ទំនង (I2S, UART និងផ្សេងទៀត) វាផ្តល់នូវ APIs ដែលអនុញ្ញាតឱ្យចាប់ផ្តើម និងកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ គ្រប់គ្រងការផ្ទេរទិន្នន័យដោយផ្អែកលើការស្ទង់មតិ ការរំខាន ឬដំណើរការ DMA និងការដោះស្រាយកំហុសទំនាក់ទំនងដែលអាចកើតឡើងក្នុងអំឡុងពេលទំនាក់ទំនង។ APIs កម្មវិធីបញ្ជា HAL ត្រូវបានបែងចែកជាពីរប្រភេទ៖- Generic APIs ដែលផ្តល់មុខងារទូទៅ និងទូទៅដល់ microcontrollers ស៊េរី STM32 ទាំងអស់។
- Extension APIs ដែលផ្តល់មុខងារជាក់លាក់ និងប្ដូរតាមបំណងសម្រាប់គ្រួសារជាក់លាក់ ឬលេខផ្នែកជាក់លាក់មួយ។
- APIs ស្រទាប់ទាបផ្តល់នូវ APIs កម្រិតទាបនៅកម្រិតចុះឈ្មោះ ជាមួយនឹងការបង្កើនប្រសិទ្ធភាពប្រសើរជាងមុន ប៉ុន្តែការចល័តតិចជាង។
- ពួកគេទាមទារចំណេះដឹងជ្រៅជ្រះនៃ MCU និងការបញ្ជាក់គ្រឿងកុំព្យូទ័រ។
- កម្មវិធីបញ្ជា LL ត្រូវបានរចនាឡើងដើម្បីផ្តល់ជូននូវស្រទាប់តម្រង់ទិសអ្នកជំនាញដែលមានទម្ងន់ស្រាលលឿន ដែលនៅជិតផ្នែករឹងជាង HAL ។ ផ្ទុយពី HAL LL APIs មិនត្រូវបានផ្តល់ជូនសម្រាប់គ្រឿងកុំព្យូទ័រដែលការចូលប្រើដែលបានធ្វើឱ្យប្រសើរមិនមែនជាលក្ខណៈសំខាន់ ឬសម្រាប់អ្នកដែលត្រូវការការកំណត់រចនាសម្ព័ន្ធកម្មវិធីធ្ងន់ៗ ឬជង់កម្រិតខ្ពស់ស្មុគស្មាញ។
- លក្ខណៈពិសេសរបស់អ្នកបើកបរ LL:
- សំណុំនៃមុខងារដើម្បីចាប់ផ្តើមមុខងារសំខាន់នៃគ្រឿងកុំព្យូទ័រដោយយោងតាមប៉ារ៉ាម៉ែត្រដែលបានបញ្ជាក់នៅក្នុងរចនាសម្ព័ន្ធទិន្នន័យ។
- សំណុំនៃមុខងារដើម្បីបំពេញរចនាសម្ព័ន្ធទិន្នន័យការចាប់ផ្តើមជាមួយនឹងតម្លៃកំណត់ឡើងវិញដែលត្រូវគ្នាទៅនឹងវាលនីមួយៗ។
- អនុគមន៍សម្រាប់ deinitialization គ្រឿងកុំព្យូទ័រ (ការចុះឈ្មោះគ្រឿងកុំព្យូទ័រត្រូវបានស្ដារឡើងវិញនូវតម្លៃលំនាំដើមរបស់វា)។
- សំណុំនៃមុខងារក្នុងជួរសម្រាប់ការចូលដំណើរការចុះឈ្មោះដោយផ្ទាល់ និងអាតូមិច។
- ឯករាជ្យពេញលេញពី HAL និងសមត្ថភាពប្រើប្រាស់ក្នុងទម្រង់ឯកកោ (ដោយគ្មានកម្មវិធីបញ្ជា HAL) ។
- ការគ្របដណ្តប់ពេញលេញនៃលក្ខណៈពិសេសគ្រឿងកុំព្យូទ័រដែលគាំទ្រ។
ការប្រើប្រាស់គ្រឿងកុំព្យូទ័រជាមូលដ្ឋាន ឧamples
ស្រទាប់នេះរុំព័ទ្ធអតីតamples បានសាងសង់លើគ្រឿងកុំព្យូទ័រ STM32 ដោយប្រើតែធនធាន HAL និង BSP ប៉ុណ្ណោះ។
កម្រិត 1
កម្រិតនេះត្រូវបានបែងចែកជាពីរស្រទាប់រង៖
- សមាសធាតុឧបករណ៍កណ្តាល
- Examples ផ្អែកលើសមាសធាតុឧបករណ៍កណ្តាល
សមាសធាតុឧបករណ៍កណ្តាល
- Middleware គឺជាសំណុំនៃបណ្ណាល័យដែលគ្របដណ្តប់Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
- Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot, និង mbed-crypto ។
- អន្តរកម្មផ្តេករវាងធាតុផ្សំនៃស្រទាប់នេះត្រូវបានធ្វើឡើងដោយការហៅ APIs ដែលមានលក្ខណៈពិសេស។
- អន្តរកម្មបញ្ឈរជាមួយកម្មវិធីបញ្ជាស្រទាប់ទាបត្រូវបានធ្វើតាមរយៈការហៅត្រឡប់មកវិញជាក់លាក់ និងម៉ាក្រូឋិតិវន្តដែលបានអនុវត្តនៅក្នុងចំណុចប្រទាក់ហៅប្រព័ន្ធបណ្ណាល័យ។
- លក្ខណៈសំខាន់ៗនៃសមាសភាគឧបករណ៍កណ្តាលនីមួយៗមានដូចខាងក្រោម៖
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX៖ ប្រព័ន្ធប្រតិបត្តិការពេលវេលាពិត (RTOS) ដែលរចនាឡើងសម្រាប់ប្រព័ន្ធបង្កប់ជាមួយនឹងមុខងារពីរ។
- របៀបទូទៅ៖ មុខងារ RTOS ទូទៅដូចជាការគ្រប់គ្រងខ្សែស្រឡាយ និងការធ្វើសមកាលកម្ម ការគ្រប់គ្រងអង្គចងចាំ ការផ្ញើសារ និងការគ្រប់គ្រងព្រឹត្តិការណ៍។
- របៀបម៉ូឌុល៖ របៀបអ្នកប្រើប្រាស់កម្រិតខ្ពស់ដែលអនុញ្ញាតឱ្យផ្ទុក និងផ្ទុកម៉ូឌុល ThreadX ដែលបានភ្ជាប់ជាមុនភ្លាមៗតាមរយៈកម្មវិធីគ្រប់គ្រងម៉ូឌុល។
- NetX Duo
- FileX
- USBX
- Azure® RTOS ThreadX៖ ប្រព័ន្ធប្រតិបត្តិការពេលវេលាពិត (RTOS) ដែលរចនាឡើងសម្រាប់ប្រព័ន្ធបង្កប់ជាមួយនឹងមុខងារពីរ។
- Bluetooth® Low Energy (BLE)៖ អនុវត្តពិធីការBluetooth® Low Energy សម្រាប់ស្រទាប់ Link និង Stack។
- MCUboot (កម្មវិធីប្រភពបើកចំហ)
- ពិធីការ Zigbee® សម្រាប់ជង់ និងចង្កោមដែលពាក់ព័ន្ធ។
- ជង់ពិធីការ Thread® និងស្រទាប់តំណ។
- កម្មវិធីបង្កប់ដែលអាចទុកចិត្តបាន Arm®, TF‑M (កម្មវិធីប្រភពបើកចំហ): ការអនុវត្តសេចក្តីយោងនៃស្ថាបត្យកម្មសុវត្ថិភាពវេទិកា Arm® (PSA) សម្រាប់ TrustZone® ជាមួយនឹងសេវាកម្មសុវត្ថិភាពដែលពាក់ព័ន្ធ។
- mbed-crypto (កម្មវិធីប្រភពបើកចំហ): mbed-crypto middleware ផ្តល់នូវការអនុវត្ត PSA cryptography API ។
- STM32 Touch sensing library៖ ដំណោះស្រាយការចាប់អារម្មណ៍ការប៉ះ STMTouch ដ៏រឹងមាំ គាំទ្រឧបករណ៍ចាប់សញ្ញាប៉ះជិត គ្រាប់ចុច លីនេអ៊ែរ និងឧបករណ៍ចាប់សញ្ញាបង្វិល។ វាត្រូវបានផ្អែកលើគោលការណ៍នៃការផ្ទេរបន្ទុកលើផ្ទៃដែលបានបញ្ជាក់។
- Microsoft® Azure® RTOS
Examples ផ្អែកលើសមាសធាតុឧបករណ៍កណ្តាល
សមាសធាតុឧបករណ៍កណ្តាលនីមួយៗភ្ជាប់មកជាមួយអតីតមួយ ឬច្រើន។amples (ហៅផងដែរថាកម្មវិធី) បង្ហាញពីរបៀបប្រើវា។ ការរួមបញ្ចូលឧamples ដែលប្រើសមាសធាតុកណ្តាលជាច្រើនត្រូវបានផ្តល់ជូនផងដែរ។
កញ្ចប់កម្មវិធីបង្កប់ STM32CubeWBA ចប់ហើយ។view
គាំទ្រឧបករណ៍ស៊េរី STM32WBA និងផ្នែករឹង
- STM32Cube ផ្តល់នូវស្រទាប់អរូបីផ្នែករឹងចល័តខ្ពស់ (HAL) ដែលបង្កើតឡើងជុំវិញស្ថាបត្យកម្មទូទៅ។ វាអនុញ្ញាតឱ្យគោលការណ៍បង្កើតស្រទាប់ ដូចជាការប្រើស្រទាប់កណ្តាលដើម្បីអនុវត្តមុខងាររបស់ពួកគេដោយមិនដឹង ស៊ីជម្រៅ ថាតើ MCU ត្រូវបានប្រើអ្វីខ្លះ។ វាធ្វើអោយប្រសើរឡើងនូវលទ្ធភាពប្រើប្រាស់ឡើងវិញនៃកូដបណ្ណាល័យ និងធានានូវភាពងាយស្រួលនៃការចល័តទៅកាន់ឧបករណ៍ផ្សេងទៀត។
- លើសពីនេះទៀត សូមអរគុណចំពោះស្ថាបត្យកម្មស្រទាប់របស់វា STM32CubeWBA ផ្តល់នូវការគាំទ្រពេញលេញនៃស៊េរី STM32WBA ទាំងអស់។
- អ្នកប្រើប្រាស់គ្រាន់តែកំណត់ម៉ាក្រូត្រឹមត្រូវក្នុង stm32wbaxx.h។
- តារាងទី 1 បង្ហាញម៉ាក្រូដើម្បីកំណត់អាស្រ័យលើឧបករណ៍ស៊េរី STM32WBA ដែលបានប្រើ។ ម៉ាក្រូនេះក៏ត្រូវតែកំណត់នៅក្នុងកម្មវិធីចងក្រងជាមុនផងដែរ។
តារាងទី 1. ម៉ាក្រូសម្រាប់ស៊េរី STM32WBAម៉ាក្រូដែលបានកំណត់ក្នុង stm32wbaxx.h ឧបករណ៍ស៊េរី STM32WBA stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6 stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7 - STM32CubeWBA មានលក្ខណៈពិសេសជាច្រើននៃអតីតamples និងកម្មវិធីនៅគ្រប់កម្រិតធ្វើឱ្យវាងាយស្រួលយល់ និងប្រើកម្មវិធីបញ្ជា HAL ឬសមាសធាតុកណ្តាល។ ទាំងនេះ អតីតamples ដំណើរការនៅលើក្តារ STMicroelectronics ដែលមានរាយក្នុងតារាងទី 2 ។
តារាង 2. ក្តារសម្រាប់ស៊េរី STM32WBAក្តារ ក្រុមប្រឹក្សាភិបាល STM32WBA ឧបករណ៍ដែលគាំទ្រ NUCLEO-WBA52CG STM32WBA52CGU6 NUCLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - កញ្ចប់ STM32CubeWBA MCU អាចដំណើរការលើផ្នែករឹងណាមួយដែលត្រូវគ្នា។ អ្នកប្រើគ្រាន់តែធ្វើបច្ចុប្បន្នភាពកម្មវិធីបញ្ជា BSP ដើម្បីច្រកឧamples នៅលើក្តារ ប្រសិនបើក្រោយមានលក្ខណៈពិសេសផ្នែករឹងដូចគ្នា (ដូចជា LED អេក្រង់ LCD និងប៊ូតុង)។
កញ្ចប់កម្មវិធីបង្កប់លើសview
- ដំណោះស្រាយកញ្ចប់ STM32CubeWBA ត្រូវបានផ្តល់ជូនក្នុងកញ្ចប់ហ្ស៊ីបតែមួយដែលមានរចនាសម្ព័ន្ធបង្ហាញក្នុងរូបភាពទី 3 ។ រចនាសម្ព័ន្ធកញ្ចប់កម្មវិធីបង្កប់ STM32CubeWBA ។
- សម្រាប់ក្រុមប្រឹក្សាភិបាលនីមួយៗសំណុំនៃអតីតamples ត្រូវបានផ្តល់ជូនជាមួយនឹងគម្រោងដែលបានកំណត់ទុកជាមុនសម្រាប់ EWARM, MDK-ARM, និង STM32CubeIDE toolchains ។
- រូបភាពទី 4. STM32CubeWBA ឧampលើសview បង្ហាញរចនាសម្ព័ន្ធគម្រោងសម្រាប់បន្ទះ NUCLEO-WBA52CG, NUCLEO-WBA55CG និង STM32WBA55G-DK1 ។
- អតីតamples ត្រូវបានចាត់ថ្នាក់អាស្រ័យលើកម្រិត STM32Cube ដែលពួកគេអនុវត្ត ហើយពួកគេត្រូវបានដាក់ឈ្មោះដូចខាងក្រោម៖
- កម្រិត 0 ឧamples ត្រូវបានគេហៅថា Examples, ឧamples_LL និង Examples_MIX ។ ពួកគេប្រើកម្មវិធីបញ្ជា HAL រៀងគ្នា កម្មវិធីបញ្ជា LL និងកម្មវិធីបញ្ជា HAL និង LL ចម្រុះដោយមិនមានធាតុផ្សំផ្នែកកណ្តាលណាមួយឡើយ។
- កម្រិត 1 ឧamples ត្រូវបានគេហៅថាកម្មវិធី។ ពួកគេផ្តល់នូវករណីប្រើប្រាស់ធម្មតានៃសមាសភាគឧបករណ៍កណ្តាលនីមួយៗ។ កម្មវិធីកម្មវិធីបង្កប់ណាមួយសម្រាប់ក្រុមប្រឹក្សាភិបាលដែលបានផ្តល់ឱ្យអាចត្រូវបានបង្កើតឡើងយ៉ាងឆាប់រហ័សអរគុណចំពោះគម្រោងគំរូដែលមាននៅក្នុងថត Templ ates និង Templates_LL ។
គម្រោងដែលបានបើក TrustZone®
- TrustZone® បានបើកដំណើរការ Exampឈ្មោះ les មានបុព្វបទ _TrustZone ។ ច្បាប់នេះក៏ត្រូវបានអនុវត្តសម្រាប់ Applicatio ns (លើកលែងតែ TFM និង SBSFU ដែលមានដើមកំណើតសម្រាប់ TrustZone®)។
- TrustZone®-enabled Examples និងកម្មវិធីត្រូវបានផ្តល់ជូនជាមួយនឹងរចនាសម្ព័ន្ធគម្រោងពហុគម្រោងដែលផ្សំឡើងដោយអនុគម្រោងដែលមានសុវត្ថិភាព និងមិនមានសុវត្ថិភាពដូចបានបង្ហាញក្នុងរូបភាពទី 5 ។ រចនាសម្ព័ន្ធគម្រោងពហុគម្រោងដែលមានសុវត្ថិភាព និងមិនមានសុវត្ថិភាព។
- គម្រោងដែលបានបើក TrustZone® ត្រូវបានបង្កើតឡើងដោយយោងទៅតាមគំរូឧបករណ៍ CMSIS-5 ដែលបានពង្រីកដើម្បីរួមបញ្ចូលបឋមកថាការបែងចែកប្រព័ន្ធ file ភាគថាស_ .h ដែលជាអ្នកទទួលខុសត្រូវជាចម្បងចំពោះការដំឡើងឯកតាគុណលក្ខណៈសុវត្ថិភាព (SAU) FPU និងសុវត្ថិភាព/មិនសុវត្ថិភាព រំខានការចាត់តាំងនៅក្នុងស្ថានភាពប្រតិបត្តិដែលមានសុវត្ថិភាព។
- ការដំឡើងនេះត្រូវបានអនុវត្តនៅក្នុងមុខងារ CMSIS SystemInit() សុវត្ថិភាព ដែលត្រូវបានហៅនៅពេលចាប់ផ្តើម មុនពេលចូលទៅក្នុងមុខងារ main() កម្មវិធីសុវត្ថិភាព។ សូមមើលឯកសារ Arm® TrustZone®-M នៃគោលការណ៍ណែនាំកម្មវិធី។
- កញ្ចប់កម្មវិធីបង្កប់កញ្ចប់ STM32CubeWBA ផ្តល់នូវការបែងចែកអង្គចងចាំលំនាំដើមនៅក្នុងភាគថាស _ .h fileមាននៅក្រោម៖ \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T emplates
- នៅក្នុងភាគថាសទាំងនេះ files, SAU ត្រូវបានបិទតាមលំនាំដើម។ ហេតុដូច្នេះ ការគូសផែនទីអង្គចងចាំ IDAU ត្រូវបានប្រើសម្រាប់គុណលក្ខណៈសុវត្ថិភាព។ យោងទៅលើតួលេខនៃការបែងចែកសុវត្ថិភាព/មិនមានសុវត្ថិភាពដោយប្រើបច្ចេកវិទ្យា TrustZone® នៅក្នុងសៀវភៅណែនាំយោង RM0495 ។
- ប្រសិនបើអ្នកប្រើបើក SAU ការកំណត់រចនាសម្ព័ន្ធតំបន់ SAU លំនាំដើមត្រូវបានកំណត់ជាមុននៅក្នុងភាគថាស files ដូចខាងក្រោម៖
- តំបន់ SAU 0: 0x08080000 – 0x081FFFF (ពាក់កណ្តាលនៃអង្គចងចាំពន្លឺដែលមិនមានសុវត្ថិភាព (512 Kbytes))
- តំបន់ SAU 1: 0x0BF88000 – 0x0BF97FFF (អង្គចងចាំប្រព័ន្ធមិនមានសុវត្ថិភាព)
- តំបន់ SAU 2: 0x0C07E000 – 0x0C07FFFF (សុវត្ថិភាព មិនអាចហៅបាន)
- តំបន់ SAU 3: 0x20010000 – 0x2001FFFF (SRAM2 មិនមានសុវត្ថិភាព (64 Kbytes))
- តំបន់ SAU 4: 0x40000000 – 0x4FFFFFF (អង្គចងចាំដែលបានគូសផែនទីគ្រឿងកុំព្យូទ័រដែលមិនមានសុវត្ថិភាព)
- ដើម្បីផ្គូផ្គងការបែងចែកលំនាំដើម ឧបករណ៍ស៊េរី STM32WBAxx ត្រូវតែមានការកំណត់ជម្រើសអ្នកប្រើប្រាស់ដូចខាងក្រោមៈ
- TZEN = 1 (ឧបករណ៍ដែលអាចប្រើ TrustZone®)
- SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (64 ក្នុងចំណោម 128 ទំព័រនៃអង្គចងចាំខាងក្នុងដែលបានកំណត់ថាមានសុវត្ថិភាព) ចំណាំ៖ អង្គចងចាំពន្លឺខាងក្នុងមានសុវត្ថិភាពពេញលេញតាមលំនាំដើមនៅក្នុង TZEN = 1 ។ ជម្រើសអ្នកប្រើប្រាស់បៃ SECWM1_PSTRT/ SECWM1_PEND ត្រូវតែកំណត់ទៅតាមកម្មវិធី ការកំណត់រចនាសម្ព័ន្ធអង្គចងចាំ (តំបន់ SAU ប្រសិនបើ SAU ត្រូវបានបើក) ។ កម្មវិធីភ្ជាប់គម្រោងសុវត្ថិភាព/មិនសុវត្ថិភាព files ក៏ត្រូវតែតម្រឹមផងដែរ។
- ទាំងអស់អតីតamples មានរចនាសម្ព័ន្ធដូចគ្នា៖
- ថតឯកសារ \inc ដែលមានបឋមកថាទាំងអស់។ files.
- ថត Src ដែលមានកូដប្រភព។
- ថត \EWARM, \MDK-ARM និង \STM32CubeIDE ដែលមានគម្រោងដែលបានកំណត់ទុកជាមុនសម្រាប់ខ្សែសង្វាក់ឧបករណ៍នីមួយៗ។
- readme.md និង readme.html ពិពណ៌នាអំពីអតីតample អាកប្បកិរិយា និងបរិស្ថានដែលត្រូវការដើម្បីធ្វើឱ្យវាដំណើរការ។
- អាយអូខេ file ដែលអនុញ្ញាតឱ្យអ្នកប្រើបើកកម្មវិធីបង្កប់ភាគច្រើន examples ក្នុង STM32CubeMX ។
ចាប់ផ្តើមជាមួយ STM32CubeWBA
កំពុងដំណើរការ HAL ទីមួយample
ផ្នែកនេះពន្យល់ពីរបៀបដែលវាសាមញ្ញក្នុងការដំណើរការអតីតដំបូងampនៅក្នុង STM32CubeWBA ។ វាប្រើជាការបង្ហាញអំពីការបង្កើតការបិទបើក LED ដ៏សាមញ្ញមួយដែលកំពុងដំណើរការនៅលើបន្ទះ NUCLEO-WBA52CG៖
- ទាញយកកញ្ចប់ STM32CubeWBA MCU ។
- ពន្លាវាទៅក្នុងថតឯកសារដែលអ្នកជ្រើសរើស។
- ត្រូវប្រាកដថាមិនត្រូវកែប្រែរចនាសម្ព័ន្ធកញ្ចប់ដែលបង្ហាញក្នុងរូបភាពទី 1។ វាត្រូវបានណែនាំផងដែរឱ្យចម្លងកញ្ចប់នៅទីតាំងជិតនឹងទំហំ root របស់អ្នក (មានន័យថា C:\ST ឬ G:\Tests) ព្រោះ IDE ខ្លះជួបប្រទះបញ្ហានៅពេលផ្លូវ ប្រវែងគឺវែងពេក។
កំពុងដំណើរការ TrustZone® ដំបូងដែលបានបើក ឧample
- មុនពេលផ្ទុក និងដំណើរការ TrustZone® ដែលបានបើក ឧample, វាជាកាតព្វកិច្ចក្នុងការអានអតីតampអានខ្ញុំ file សម្រាប់ការកំណត់រចនាសម្ព័ន្ធជាក់លាក់ណាមួយ ដែលធានាថាសុវត្ថិភាពត្រូវបានបើកដូចដែលបានពិពណ៌នានៅក្នុងផ្នែក 4.2.1 គម្រោងដែលបានបើក TrustZone® (TZEN=1 (បៃជម្រើសអ្នកប្រើប្រាស់))។
- រុករកទៅ \Projects\NUCLEO-WBA52CG\Examples ។
- បើក \GPIO បន្ទាប់មក \GPIO_IOToggle_TrustZone ថត។
- បើកគម្រោងជាមួយ toolchain ដែលអ្នកពេញចិត្ត។ លឿនជាងview អំពីរបៀបបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រត្រូវបានផ្តល់ឱ្យខាងក្រោម។
- កសាងឡើងវិញតាមលំដាប់លំដោយនូវរាល់គម្រោងដែលមានសុវត្ថិភាព និងមិនមានសុវត្ថិភាព files ហើយផ្ទុករូបភាពដែលមានសុវត្ថិភាព និងមិនមានសុវត្ថិភាពទៅក្នុងអង្គចងចាំគោលដៅ។
- រត់អតីតample៖ ជាទៀងទាត់ កម្មវិធីសុវត្ថិភាពបិទបើក LD2 រៀងរាល់វិនាទី ហើយកម្មវិធីដែលមិនមានសុវត្ថិភាពបិទបើក LD3 ពីរដងលឿនជាងមុន។ សម្រាប់ព័ត៌មានលម្អិត សូមមើល readme file របស់អតីតampលេ
- ដើម្បីបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រ សូមអនុវត្តតាមជំហានខាងក្រោម៖
- ក្តៅ៖
- នៅក្រោមអតីតampបើកថតឯកសាររង \\ EWARM ។
- បើកដំណើរការកន្លែងធ្វើការ Project.eww
- កសាងគម្រោងសុវត្ថិភាព xxxx_S ឡើងវិញ files: [គម្រោង]> [កសាងឡើងវិញទាំងអស់]។
- កំណត់គម្រោង xxxxx_NS មិនមានសុវត្ថិភាពជាកម្មវិធីសកម្ម (ចុចកណ្ដុរស្ដាំលើគម្រោង xxxxx_NS [កំណត់ជាសកម្ម])
- កសាងគម្រោងដែលមិនមានសុវត្ថិភាព xxxx_NS ឡើងវិញ files: [គម្រោង]> [កសាងឡើងវិញទាំងអស់]។
- បញ្ចេញប្រព័ន្ធគោលពីរដែលមិនមានសុវត្ថិភាពជាមួយ [គម្រោង]> [ទាញយក]> [ទាញយកកម្មវិធីសកម្ម] ។
- កំណត់ xxxxx_S ជាកម្មវិធីសកម្ម (ចុចកណ្ដុរស្ដាំលើគម្រោង xxxxx_S [កំណត់ជាសកម្ម] ។
- បញ្ចេញប្រព័ន្ធគោលពីរដែលមានសុវត្ថិភាពដោយប្រើ [ទាញយក និងបំបាត់កំហុស] (Ctrl+D)។
- ដំណើរការកម្មវិធី៖ [Debug]> [Go(F5)]
- MDK-ARM៖
- បើកខ្សែសង្វាក់ឧបករណ៍ MDK-ARM ។
- បើកកន្លែងធ្វើការពហុគម្រោង file Project.uvmpw ។
- ជ្រើសរើសគម្រោង xxxxx_s ជាកម្មវិធីសកម្ម ([កំណត់ជាគម្រោងសកម្ម])។
- បង្កើតគម្រោង xxxxx_s ។
- ជ្រើសរើសគម្រោង xxxxx_ns ជាគម្រោងសកម្ម ([កំណត់ជាគម្រោងសកម្ម])។
- បង្កើតគម្រោង xxxxx_ns ។
- ផ្ទុកប្រព័ន្ធគោលពីរដែលមិនមានសុវត្ថិភាព ([F8]) ។ នេះទាញយក \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf ទៅក្នុងអង្គចងចាំពន្លឺ)
- ជ្រើសរើសគម្រោង Project_s ជាគម្រោងសកម្ម ([កំណត់ជាគម្រោងសកម្ម])។
- ផ្ទុកប្រព័ន្ធគោលពីរដែលមានសុវត្ថិភាព ([F8])។ នេះទាញយក \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf ទៅអង្គចងចាំពន្លឺ)។
- រត់អតីតampលេ
- STM32CubeIDE៖
- បើកខ្សែសង្វាក់ឧបករណ៍ STM32CubeIDE ។
- បើកកន្លែងធ្វើការពហុគម្រោង file .គម្រោង។
- កសាងគម្រោង xxxx_Secure ឡើងវិញ។
- កសាងគម្រោង xxxxx_NonSecure ឡើងវិញ។
- បើកដំណើរការកម្មវិធី [Debug as STM32 Cortex-M C/C++] សម្រាប់គម្រោងសុវត្ថិភាព។
- នៅក្នុងបង្អួច [កែសម្រួលការកំណត់រចនាសម្ព័ន្ធ] ជ្រើសរើសបន្ទះ [ចាប់ផ្ដើម] ហើយបន្ថែមការផ្ទុករូបភាព និងនិមិត្តសញ្ញានៃគម្រោងដែលមិនមានសុវត្ថិភាព។
សំខាន់៖ គម្រោងមិនមានសុវត្ថិភាពត្រូវតែផ្ទុកមុនពេលគម្រោងសុវត្ថិភាព។ - ចុច [យល់ព្រម] ។
- រត់អតីតampពីទស្សនៈនៃការបំបាត់កំហុស។
- ក្តៅ៖
កំពុងដំណើរការ TrustZone® ទីមួយដែលត្រូវបានបិទ ឧample
- មុនពេលផ្ទុក និងដំណើរការ TrustZone® អតីតដែលបានបិទample, វាជាកាតព្វកិច្ចក្នុងការអានអតីតampអានខ្ញុំ file សម្រាប់ការកំណត់ជាក់លាក់ណាមួយ។ ប្រសិនបើមិនមានការលើកឡើងជាក់លាក់ណាមួយទេ សូមប្រាកដថាឧបករណ៍ក្រុមប្រឹក្សាភិបាលបានបិទសុវត្ថិភាព (TZEN=0 (បៃជម្រើសអ្នកប្រើប្រាស់))។ សូមមើល FAQ សម្រាប់ការធ្វើតំរែតំរង់ស្រេចចិត្តទៅ TZEN = 0
- រុករកទៅ \Projects\NUCLEO-WBA52CG\Examples ។
- បើក \GPIO បន្ទាប់មក \GPIO_EXTI ថត។
- បើកគម្រោងជាមួយ toolchain ដែលអ្នកពេញចិត្ត។ លឿនជាងview អំពីរបៀបបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រត្រូវបានផ្តល់ឱ្យខាងក្រោម។
- កសាងឡើងវិញទាំងអស់។ files ហើយផ្ទុករូបភាពរបស់អ្នកទៅក្នុងអង្គចងចាំគោលដៅ។
- រត់អតីតample: រាល់ពេលដែលប៊ូតុងរុញ [USER] ត្រូវបានចុច LD1 LED បិទបើក។ សម្រាប់ព័ត៌មានលម្អិត សូមមើល readme file របស់អតីតampលេ
- ដើម្បីបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រ សូមអនុវត្តតាមជំហានខាងក្រោម៖
- ក្តៅ៖
- នៅក្រោមអតីតampបើកថតឯកសាររង \\ EWARM ។
- បើកដំណើរការ Project.eww workspace (ឈ្មោះកន្លែងធ្វើការអាចផ្លាស់ប្តូរពីអតីតមួយ។ampទៅមួយទៀត) ។
- កសាងឡើងវិញទាំងអស់។ files: [គម្រោង]> [កសាងឡើងវិញទាំងអស់]។
- ផ្ទុករូបភាពគម្រោង៖ [គម្រោង]> [បំបាត់កំហុស]។
- ដំណើរការកម្មវិធី៖ [Debug]>[Go (F5)]។
- MDK-ARM៖
- នៅក្រោមអតីតampបើកថតរង MDK-ARM ។
- បើកដំណើរការកន្លែងធ្វើការ Project.uvproj (ឈ្មោះកន្លែងធ្វើការអាចផ្លាស់ប្តូរពីអតីតមួយ។ampទៅមួយទៀត) ។
- កសាងឡើងវិញទាំងអស់។ files:[គម្រោង]>[កសាងគោលដៅទាំងអស់ឡើងវិញ files] ។
- ផ្ទុករូបភាពគម្រោង៖ [Debug]>[Start/Stop Debug Session]។
- ដំណើរការកម្មវិធី៖ [បំបាត់កំហុស]> [រត់ (F5)] ។
- STM32CubeIDE៖
- បើកខ្សែសង្វាក់ឧបករណ៍ STM32CubeIDE ។
- ចុចលើ [File]>[Switch Workspace]>[Other] ហើយរកមើលទៅកាន់ថតកន្លែងធ្វើការ STM32CubeIDE។
- ចុចលើ [File]>[នាំចូល] ជ្រើសរើស [ទូទៅ]>[គម្រោងដែលមានស្រាប់ទៅក្នុងកន្លែងធ្វើការ] ហើយបន្ទាប់មកចុច [បន្ទាប់]។
- រកមើលទៅកាន់ថតកន្លែងធ្វើការ STM32CubeIDE ហើយជ្រើសរើសគម្រោង។
- សាងសង់ឡើងវិញនូវគម្រោងទាំងអស់។ files៖ ជ្រើសរើសគម្រោងក្នុងបង្អួច [Project Explorer] បន្ទាប់មកចុចលើម៉ឺនុយ [Project]> [Build project]។
- ដំណើរការកម្មវិធី៖ [រត់]> [បំបាត់កំហុស (F11)]
- ក្តៅ៖
បង្កើតកម្មវិធីផ្ទាល់ខ្លួន
ចំណាំ៖ កម្មវិធីត្រូវតែបើកដំណើរការឃ្លាំងសម្ងាត់ការណែនាំ (ICACHE) ដើម្បីទទួលបានការប្រតិបត្តិស្ថានភាពរង់ចាំ 0 ពីអង្គចងចាំពន្លឺ ហើយឈានដល់ដំណើរការអតិបរមា និងការប្រើប្រាស់ថាមពលប្រសើរជាងមុន។
ការប្រើប្រាស់ STM32CubeMX ដើម្បីអភិវឌ្ឍ ឬធ្វើបច្ចុប្បន្នភាពកម្មវិធី
- នៅក្នុងកញ្ចប់ STM32CubeWBA MCU ស្ទើរតែគម្រោងទាំងអស់ examples ត្រូវបានបង្កើតដោយប្រើឧបករណ៍ STM32CubeMX ដើម្បីចាប់ផ្តើមប្រព័ន្ធ គ្រឿងកុំព្យូទ័រ និងឧបករណ៍កណ្តាល។
- ការប្រើប្រាស់ដោយផ្ទាល់នៃគម្រោងដែលមានស្រាប់ ឧample ពីឧបករណ៍ STM32CubeMX ទាមទារ STM32CubeMX 6.10.0 ឬខ្ពស់ជាងនេះ៖
- បន្ទាប់ពីការដំឡើង STM32CubeMX សូមបើក ហើយប្រសិនបើចាំបាច់ធ្វើបច្ចុប្បន្នភាពគម្រោងដែលបានស្នើឡើង។ វិធីសាមញ្ញបំផុតដើម្បីបើកគម្រោងដែលមានស្រាប់គឺត្រូវចុចពីរដងលើ *.ioc file ដូច្នេះ STM32CubeMX បើកគម្រោង និងប្រភពរបស់វាដោយស្វ័យប្រវត្តិ files.
- STM32CubeMX បង្កើតកូដប្រភពចាប់ផ្តើមនៃគម្រោងបែបនេះ។ កូដប្រភពកម្មវិធីសំខាន់ត្រូវបានផ្ទុកដោយមតិយោបល់ “USER CODE BEGIN” និង “USER CODE END”។ ក្នុងករណីដែលការជ្រើសរើស IP និងការកំណត់ត្រូវបានកែប្រែ STM32CubeMX ធ្វើបច្ចុប្បន្នភាពផ្នែកចាប់ផ្តើមនៃកូដ ប៉ុន្តែរក្សាកូដប្រភពកម្មវិធីសំខាន់។
- សម្រាប់ការបង្កើតគម្រោងផ្ទាល់ខ្លួននៅក្នុង STM32CubeMX សូមអនុវត្តតាមដំណើរការជាជំហានៗ៖
- ជ្រើសរើស microcontroller STM32 ដែលត្រូវនឹងសំណុំគ្រឿងកុំព្យូទ័រដែលត្រូវការ។
- កំណត់រចនាសម្ព័ន្ធកម្មវិធីដែលបានបង្កប់ដែលត្រូវការទាំងអស់ ដោយប្រើឧបករណ៍ដោះស្រាយជម្លោះ pinout ឧបករណ៍ជំនួយការកំណត់ដើមឈើ ការគណនាការប្រើប្រាស់ថាមពល និងឧបករណ៍ប្រើប្រាស់ដែលដំណើរការការកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ MCU (ដូចជា GPIO ឬ USART) និងឧបករណ៍កណ្តាល (ដូចជា USB)។
- បង្កើតកូដការចាប់ផ្ដើម C ដោយផ្អែកលើការកំណត់រចនាសម្ព័ន្ធដែលបានជ្រើស។ កូដនេះរួចរាល់សម្រាប់ប្រើប្រាស់ក្នុងបរិយាកាសអភិវឌ្ឍន៍ជាច្រើន។ លេខកូដអ្នកប្រើប្រាស់ត្រូវបានរក្សាទុកនៅជំនាន់កូដបន្ទាប់។
- សម្រាប់ព័ត៌មានបន្ថែមអំពី STM32CubeMX សូមមើលសៀវភៅដៃអ្នកប្រើប្រាស់ STM32CubeMX សម្រាប់ការកំណត់រចនាសម្ព័ន្ធ STM32 និងការចាប់ផ្ដើមបង្កើតកូដ C (UM1718)។
- សម្រាប់បញ្ជីនៃគម្រោងដែលមាន ឧamples សម្រាប់ STM32CubeWBA សូមមើលកម្មវិធីបង្កប់កម្មវិធី STM32Cube examples សម្រាប់ស៊េរី STM32WBA (AN5929) ។
កម្មវិធីអ្នកបើកបរ
កម្មវិធី HAL
ផ្នែកនេះពិពណ៌នាអំពីជំហានដែលត្រូវការដើម្បីបង្កើតកម្មវិធី HAL ផ្ទាល់ខ្លួនដោយប្រើ STM32CubeWBA៖
- បង្កើតគម្រោងមួយ។
- ដើម្បីបង្កើតគម្រោងថ្មី សូមចាប់ផ្តើមពីគម្រោងគំរូដែលបានផ្តល់សម្រាប់ក្តារនីមួយៗនៅក្រោម \Projects\ \ គំរូ ឬពីគម្រោងដែលមាននៅក្រោម \ គម្រោង\ \Exam ples ឬ \Projects\ \\ កម្មវិធី (កន្លែង សំដៅលើឈ្មោះក្រុមប្រឹក្សាភិបាល ដូចជា STM32CubeWBA)។
- គម្រោងគំរូផ្តល់នូវមុខងាររង្វិលជុំមេទទេ។ ទោះយ៉ាងណាក៏ដោយ វាគឺជាចំណុចចាប់ផ្តើមដ៏ល្អមួយដើម្បីយល់ពីការកំណត់គម្រោង STM32CubeWBA ។ គំរូមានលក្ខណៈដូចខាងក្រោមៈ
- វាមានកូដប្រភព HAL, CMSIS, និង BSP drivers ដែលជាសំណុំអប្បបរមានៃសមាសភាគដែលត្រូវការដើម្បីបង្កើតកូដនៅលើក្តារដែលបានផ្តល់ឱ្យ។
- វាមានផ្លូវដែលរួមបញ្ចូលសម្រាប់សមាសធាតុកម្មវិធីបង្កប់ទាំងអស់។
- វាកំណត់ឧបករណ៍ស៊េរី STM32WBA ដែលគាំទ្រដោយអនុញ្ញាតឱ្យកម្មវិធីបញ្ជា CMSIS និង HAL ត្រូវបានកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវ។
- វាផ្តល់ជូនអ្នកប្រើប្រាស់ដែលត្រៀមរួចជាស្រេច files កំណត់រចនាសម្ព័ន្ធជាមុនដូចបានបង្ហាញខាងក្រោម៖
HAL បានចាប់ផ្តើមជាមួយនឹងមូលដ្ឋានពេលវេលាលំនាំដើមជាមួយ Arm® core SysTick ។ SysTick ISR ត្រូវបានអនុវត្តសម្រាប់គោលបំណង HAL_Delay() ។
ចំណាំ៖ នៅពេលចម្លងគម្រោងដែលមានស្រាប់ទៅទីតាំងផ្សេងទៀត ត្រូវប្រាកដថាផ្លូវដែលបានរួមបញ្ចូលទាំងអស់ត្រូវបានធ្វើបច្ចុប្បន្នភាព។
- បន្ថែមឧបករណ៍កណ្តាលចាំបាច់ទៅគម្រោងអ្នកប្រើប្រាស់ (ជាជម្រើស)
ដើម្បីកំណត់អត្តសញ្ញាណប្រភព files ដែលត្រូវបន្ថែមទៅក្នុងគម្រោង file បញ្ជី យោងទៅឯកសារដែលបានផ្តល់សម្រាប់ឧបករណ៍កណ្តាលនីមួយៗ។ សូមមើលកម្មវិធីក្រោម \Projects\STM32xxx_yyy\Applications\ (កន្លែងណា សំដៅទៅលើជង់ផ្នែកកណ្តាល ដូចជា ThreadX) ដើម្បីដឹងថាប្រភពណា files និងរួមបញ្ចូលផ្លូវត្រូវតែបន្ថែម។ - កំណត់រចនាសម្ព័ន្ធសមាសធាតុកម្មវិធីបង្កប់
សមាសធាតុ HAL និង Middleware ផ្តល់ជូននូវជម្រើសកំណត់រចនាសម្ព័ន្ធពេលវេលាសាងសង់ដោយប្រើម៉ាក្រូ #define បានប្រកាសនៅក្នុងបឋមកថា file. ការកំណត់រចនាសម្ព័ន្ធគំរូ file ត្រូវបានផ្ដល់ក្នុងសមាសភាគនីមួយៗ ដែលត្រូវចម្លងទៅថតគម្រោង (ជាធម្មតាការកំណត់រចនាសម្ព័ន្ធ file ត្រូវបានដាក់ឈ្មោះថា xxx_conf_template.h ពាក្យ _template ត្រូវការដកចេញនៅពេលចម្លងវាទៅថតគម្រោង)។ ការកំណត់រចនាសម្ព័ន្ធ file ផ្តល់ព័ត៌មានគ្រប់គ្រាន់ដើម្បីយល់ពីផលប៉ះពាល់នៃជម្រើសនៃការកំណត់រចនាសម្ព័ន្ធនីមួយៗ។ ព័ត៌មានបន្ថែមមាននៅក្នុងឯកសារដែលបានផ្តល់សម្រាប់សមាសធាតុនីមួយៗ។ - ចាប់ផ្តើមបណ្ណាល័យ HAL
បន្ទាប់ពីលោតទៅកម្មវិធីមេ កូដកម្មវិធីត្រូវតែហៅទៅ HAL_Init() API ដើម្បីចាប់ផ្តើមបណ្ណាល័យ HAL ដែលបំពេញការងារដូចខាងក្រោម៖- ការកំណត់រចនាសម្ព័ន្ធនៃ flash memory prefetch និង SysTick រំខានអាទិភាព (តាមរយៈម៉ាក្រូដែលបានកំណត់ក្នុង st m32wbaxx_hal_conf.h) ។
- ការកំណត់រចនាសម្ព័ន្ធ SysTick ដើម្បីបង្កើតការរំខានរាល់មិល្លីវិនាទីនៅអាទិភាពរំខាន SysTick TICK_INT_PRIO ដែលបានកំណត់ក្នុង stm32wbaxx_hal_conf.h ។
- ការកំណត់អាទិភាពក្រុម NVIC ទៅ 0 ។
- មុខងារហៅត្រឡប់មកវិញ HAL_MspInit() ដែលបានកំណត់ក្នុងអ្នកប្រើប្រាស់ stm32wbaxx_hal_msp.c file ដើម្បីអនុវត្តការចាប់ផ្តើមផ្នែករឹងកម្រិតទាបជាសកល។
- កំណត់រចនាសម្ព័ន្ធនាឡិកា
ការកំណត់រចនាសម្ព័ន្ធនាឡិកាប្រព័ន្ធត្រូវបានធ្វើឡើងដោយហៅ APIs ទាំងពីរដែលបានពិពណ៌នាខាងក្រោម៖- HAL_RCC_OscConfig(): API នេះកំណត់រចនាសម្ព័ន្ធលំយោលខាងក្នុង និងខាងក្រៅ។ អ្នកប្រើប្រាស់ជ្រើសរើសដើម្បីកំណត់រចនាសម្ព័ន្ធលំយោលមួយ ឬទាំងអស់។
- HAL_RCC_ClockConfig(): API នេះកំណត់រចនាសម្ព័ន្ធប្រភពនាឡិកាប្រព័ន្ធ ភាពយឺតនៃអង្គចងចាំពន្លឺ និង AHB និង APB prescalers ។
- ចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ
- ដំបូងសរសេរអនុគមន៍ HAL_PPP_MspInit គ្រឿងកុំព្យូទ័រ។ បន្តដូចខាងក្រោម៖
- បើកនាឡិកាគ្រឿងកុំព្យូទ័រ។
- កំណត់រចនាសម្ព័ន្ធ GPIOs គ្រឿងកុំព្យូទ័រ។
- កំណត់រចនាសម្ព័ន្ធឆានែល DMA និងបើកការរំខាន DMA (ប្រសិនបើចាំបាច់) ។
- បើកការរំខានគ្រឿងកុំព្យូទ័រ (បើចាំបាច់)។
- កែសម្រួល stm32xxx_it.c ដើម្បីហៅទៅឧបករណ៍ដោះស្រាយការរំខានដែលត្រូវការ (គ្រឿងកុំព្យូទ័រ និង DMA) ប្រសិនបើចាំបាច់។
- ដំណើរការសរសេរមុខងារហៅត្រឡប់មកវិញពេញលេញ ប្រសិនបើការរំខានផ្នែកកុំព្យូទ័រ ឬ DMA ត្រូវបានគ្រោងនឹងប្រើប្រាស់។
- នៅក្នុងអ្នកប្រើប្រាស់ main.c fileចាប់ផ្តើមរចនាសម្ព័ន្ធចំណុចទាញគ្រឿងកុំព្យូទ័រ បន្ទាប់មកហៅមុខងារ HAL_PPP_Init() ដើម្បីចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ។
- ដំបូងសរសេរអនុគមន៍ HAL_PPP_MspInit គ្រឿងកុំព្យូទ័រ។ បន្តដូចខាងក្រោម៖
- អភិវឌ្ឍកម្មវិធី
- នៅ សtage ប្រព័ន្ធរួចរាល់ហើយ ការអភិវឌ្ឍន៍កូដកម្មវិធីអ្នកប្រើប្រាស់អាចចាប់ផ្តើម។
- HAL ផ្តល់នូវ APIs វិចារណញាណ និងរួចរាល់ក្នុងការប្រើប្រាស់ដើម្បីកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ។ វាគាំទ្រការស្ទង់មតិ ការរំខាន និងគំរូកម្មវិធី DMA ដើម្បីបំពេញតម្រូវការកម្មវិធីណាមួយ។ សម្រាប់ព័ត៌មានលម្អិតបន្ថែមអំពីរបៀបប្រើគ្រឿងកុំព្យូទ័រនីមួយៗ សូមមើលអតីតអ្នកមានampសំណុំដែលបានផ្តល់ឱ្យនៅក្នុងកញ្ចប់ STM32CubeWBA MCU ។
ប្រយ័ត្ន៖ នៅក្នុងការអនុវត្ត HAL លំនាំដើម កម្មវិធីកំណត់ពេលវេលា SysTick ត្រូវបានប្រើជាមូលដ្ឋានពេលវេលា៖ វាបង្កើតការរំខាននៅចន្លោះពេលទៀងទាត់។ ប្រសិនបើ HAL_Delay() ត្រូវបានហៅចេញពីដំណើរការ ISR គ្រឿងកុំព្យូទ័រ ត្រូវប្រាកដថាការរំខាន SysTick មានអាទិភាពខ្ពស់ (ជាលេខទាបជាង) ជាងការរំខានគ្រឿងកុំព្យូទ័រ។ បើមិនដូច្នោះទេ ដំណើរការ ISR អ្នកហៅចូលត្រូវបានរារាំង។ មុខងារដែលប៉ះពាល់ដល់ការកំណត់រចនាសម្ព័ន្ធពេលវេលាត្រូវបានប្រកាសថា __weak ដើម្បីធ្វើឱ្យការបដិសេធអាចធ្វើទៅបានក្នុងករណីមានការអនុវត្តផ្សេងទៀតនៅក្នុងអ្នកប្រើប្រាស់ file (ដោយប្រើកម្មវិធីកំណត់ពេលវេលាគោលបំណងទូទៅ ឧទាហរណ៍ample ឬប្រភពពេលវេលាផ្សេងទៀត) ។ សម្រាប់ព័ត៌មានលម្អិត សូមមើល HAL_TimeBase exampលេ
កម្មវិធី LL
ផ្នែកនេះពិពណ៌នាអំពីជំហានដែលត្រូវការដើម្បីបង្កើតកម្មវិធី LL ផ្ទាល់ខ្លួនដោយប្រើ STM32CubeWBA ។
- បង្កើតគម្រោងមួយ។
- ដើម្បីបង្កើតគម្រោងថ្មី ចាប់ផ្តើមពីគម្រោង Templates_LL ដែលផ្តល់សម្រាប់ក្តារនីមួយៗនៅក្រោម \Projects\ \Templates_LL ឬពីគម្រោងដែលមាននៅក្រោម \Projects \ ឧamples_LL ( សំដៅលើឈ្មោះក្រុមប្រឹក្សាភិបាល ដូចជា NUCLEO-WBA32CG)។
- គម្រោងគំរូផ្តល់នូវមុខងាររង្វិលជុំមេទទេ ដែលជាចំណុចចាប់ផ្តើមដ៏ល្អដើម្បីយល់ពីការកំណត់គម្រោងសម្រាប់ STM32CubeWBA។ លក្ខណៈសំខាន់ៗនៃគំរូមានដូចខាងក្រោម៖
- វាមានកូដប្រភពនៃកម្មវិធីបញ្ជា LL និង CMSIS ដែលជាសំណុំអប្បបរមានៃសមាសភាគដែលត្រូវការដើម្បីបង្កើតកូដនៅលើក្តារដែលបានផ្តល់ឱ្យ។
- វាមានផ្លូវដែលរួមបញ្ចូលសម្រាប់សមាសធាតុកម្មវិធីបង្កប់ដែលត្រូវការទាំងអស់។
- វាជ្រើសរើសឧបករណ៍ស៊េរី STM32WBA ដែលគាំទ្រ និងអនុញ្ញាតឱ្យកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវនៃកម្មវិធីបញ្ជា CMSIS និង LL ។
- វាផ្តល់ជូនអ្នកប្រើប្រាស់ដែលត្រៀមរួចជាស្រេច files ដែលត្រូវបានកំណត់ជាមុនដូចខាងក្រោម:
◦ main.h៖ LED និង USER_BUTTON និយមន័យស្រទាប់អរូបី។
◦ main.c៖ ការកំណត់រចនាសម្ព័ន្ធនាឡិកាប្រព័ន្ធសម្រាប់ប្រេកង់អតិបរមា។
- ច្រកគម្រោងដែលមានស្រាប់ទៅកាន់ក្តារផ្សេងទៀត។
ដើម្បីគាំទ្រគម្រោងដែលមានស្រាប់នៅលើក្តារគោលដៅផ្សេងទៀត ចាប់ផ្តើមពីគម្រោង Templates_LL ដែលផ្តល់សម្រាប់ក្រុមប្រឹក្សាភិបាលនីមួយៗ ហើយមាននៅក្រោម \Projects\ \Templates_LL.- ជ្រើសរើស LL example: ដើម្បីស្វែងរកក្តារដែល LL examples ត្រូវបានដាក់ពង្រាយ យោងទៅបញ្ជីនៃ LL examples STM32CubeProjectsList.html ។
- ច្រក LL exampលេ៖
- ចម្លង/បិទភ្ជាប់ថត Templates_LL - ដើម្បីរក្សាប្រភពដំបូង - ឬធ្វើបច្ចុប្បន្នភាពដោយផ្ទាល់នូវគម្រោង Templates_LL ដែលមានស្រាប់។
- បន្ទាប់មកការបញ្ជូនមានជាចម្បងក្នុងការជំនួស Templates_LL files ដោយ Exampគម្រោងគោលដៅ les_LL ។
- រក្សាផ្នែកជាក់លាក់នៃក្តារទាំងអស់។ សម្រាប់ហេតុផលនៃភាពច្បាស់លាស់ ផ្នែកជាក់លាក់នៃក្តារត្រូវបានសម្គាល់ដោយជាក់លាក់ tags:
- ដូច្នេះជំហានសំខាន់នៃការច្រកមានដូចខាងក្រោម:
- ជំនួស stm32wbaxx_it.h file
- ជំនួស stm32wbaxx_it.c file
- ជំនួស main.h file ហើយធ្វើបច្ចុប្បន្នភាពវា៖ រក្សាការកំណត់ LED និងប៊ូតុងអ្នកប្រើប្រាស់នៃគំរូ LL នៅក្រោម BOARD SPECIFIC CONFIGURATION tags.
- ជំនួស main.c file ហើយធ្វើបច្ចុប្បន្នភាពវា៖
- រក្សាការកំណត់រចនាសម្ព័ន្ធនាឡិកានៃមុខងារគំរូ SystemClock_Config() LL នៅក្រោម BOARD SPECIFIC CONFIGURATION tags.
- អាស្រ័យលើនិយមន័យ LED ជំនួសការកើតឡើង LDx នីមួយៗជាមួយនឹង LDy ផ្សេងទៀតដែលមាននៅក្នុង main.h file.
- ជាមួយនឹងការកែប្រែទាំងនេះ ឧampឥឡូវនេះ le ដំណើរការលើក្តារដែលបានកំណត់
កម្មវិធីសុវត្ថិភាព
កញ្ចប់នេះត្រូវបានផ្តល់ជូនជាមួយនឹងកម្មវិធីសុវត្ថិភាព។
កម្មវិធី SBSFU
- SBSFU ផ្តល់នូវដំណោះស្រាយ Root of Trust រួមទាំងមុខងារ Secure Boot និង Secure Firmware Update (ផ្អែកលើ MCUboot)។
- ដំណោះស្រាយត្រូវបានប្រើមុនពេលប្រតិបត្តិកម្មវិធី។
- ដំណោះស្រាយផ្តល់នូវអតីតample នៃសេវាកម្មសុវត្ថិភាព (GPIO toggle) ដែលដាច់ចេញពីកម្មវិធីដែលមិនមានសុវត្ថិភាព។ កម្មវិធីដែលមិនមានសុវត្ថិភាពនៅពេលដំណើរការនៅតែអាចប្រើដំណោះស្រាយនេះ។
កម្មវិធី TFM
TFM ផ្តល់នូវដំណោះស្រាយ Root of Trust រួមទាំងមុខងារ Secure Boot និង Secure Firmware Update មុខងារ
(ផ្អែកលើ MCUboot) ។ ដំណោះស្រាយត្រូវបានប្រើមុនពេលប្រតិបត្តិកម្មវិធី។ ដំណោះស្រាយផ្តល់នូវសេវាកម្មសុវត្ថិភាព TFM ដែលដាច់ចេញពីកម្មវិធីដែលមិនមានសុវត្ថិភាព។ កម្មវិធីដែលមិនមានសុវត្ថិភាពនៅពេលដំណើរការនៅតែអាចប្រើដំណោះស្រាយនេះ។
កម្មវិធី RF
កម្មវិធី RF ត្រូវបានពិពណ៌នានៅក្នុងកំណត់សម្គាល់កម្មវិធីនេះ៖ ការកសាងកម្មវិធីឥតខ្សែជាមួយនឹងឧបករណ៍បញ្ជាមីក្រូកុងទ័រស៊េរី STM32WBA (AN5928) ។
ទទួលបានបច្ចុប្បន្នភាពនៃការចេញផ្សាយ STM32CubeWBA
ការចេញផ្សាយកញ្ចប់ និងបំណះ STM32CubeWBA MCU ចុងក្រោយបំផុតអាចរកបានពីស៊េរី STM32WBA ។ ពួកគេអាចត្រូវបានទាញយកពីប៊ូតុង ពិនិត្យរកមើលបច្ចុប្បន្នភាពនៅក្នុង STM32CubeMX ។ សម្រាប់ព័ត៌មានលម្អិត សូមមើលផ្នែកទី 3 នៃសៀវភៅណែនាំអ្នកប្រើប្រាស់ STM32CubeMX សម្រាប់ការកំណត់រចនាសម្ព័ន្ធ STM32 និងការចាប់ផ្ដើមបង្កើតកូដ C (UM1718)។
សំណួរគេសួរញឹកញាប់
- តើខ្ញុំគួរប្រើ HAL ជំនួសអ្នកបើកបរ LL នៅពេលណា?
- កម្មវិធីបញ្ជា HAL ផ្តល់ជូននូវ APIs កម្រិតខ្ពស់ និងតម្រង់ទិសមុខងារ ជាមួយនឹងកម្រិតខ្ពស់នៃការចល័ត។ ភាពស្មុគស្មាញនៃផលិតផល ឬគ្រឿងកុំព្យូទ័រត្រូវបានលាក់សម្រាប់អ្នកប្រើប្រាស់ចុងក្រោយ។
- កម្មវិធីបញ្ជា LL ផ្តល់ជូន APIs កម្រិតចុះឈ្មោះកម្រិតទាប ជាមួយនឹងការបង្កើនប្រសិទ្ធភាពប្រសើរជាងមុន ប៉ុន្តែអាចចល័តបានតិច។ ពួកគេត្រូវការចំណេះដឹងស៊ីជម្រៅអំពីផលិតផល ឬលក្ខណៈបច្ចេកទេស IP ។
- តើខ្ញុំអាចប្រើកម្មវិធីបញ្ជា HAL និង LL ជាមួយគ្នាបានទេ? បើខ្ញុំអាច តើមានឧបសគ្គអ្វីខ្លះ?
- វាអាចទៅរួចក្នុងការប្រើប្រាស់ទាំងកម្មវិធីបញ្ជា HAL និង LL ។ ប្រើ HAL សម្រាប់ដំណាក់កាលចាប់ផ្តើម IP ហើយបន្ទាប់មកគ្រប់គ្រងប្រតិបត្តិការ I/O ជាមួយកម្មវិធីបញ្ជា LL ។
- ភាពខុសគ្នាសំខាន់រវាង HAL និង LL គឺថាកម្មវិធីបញ្ជា HAL តម្រូវឱ្យបង្កើត និងប្រើចំណុចទាញសម្រាប់ការគ្រប់គ្រងប្រតិបត្តិការ ខណៈដែលកម្មវិធីបញ្ជា LL ដំណើរការដោយផ្ទាល់លើការចុះឈ្មោះគ្រឿងកុំព្យូទ័រ។ អតីតamples_MIX ឧample បង្ហាញពីរបៀបលាយ HAL និង LL ។
- តើ LL ចាប់ផ្តើម APIs ត្រូវបានបើកដោយរបៀបណា?
- និយមន័យនៃ APIs នៃការចាប់ផ្តើម LL និងធនធានដែលពាក់ព័ន្ធ (រចនាសម្ព័ន្ធ ព្យញ្ជនៈ និងគំរូដើម) ត្រូវបានកំណត់ដោយ USE_FULL_LL_DRIVER កុងតាក់ចងក្រង។
- ដើម្បីអាចប្រើ LL initialization APIs សូមបន្ថែមកុងតាក់នេះនៅក្នុង toolchain compiler preprocessor។
- តើ STM32CubeMX អាចបង្កើតកូដដោយផ្អែកលើកម្មវិធីដែលបានបង្កប់ដោយរបៀបណា?
STM32CubeMX មានចំនេះដឹងដែលភ្ជាប់មកជាមួយនូវឧបករណ៍បញ្ជាមីក្រូ STM32 រួមទាំងគ្រឿងកុំព្យូទ័រ និងកម្មវិធីរបស់ពួកគេ ដែលអនុញ្ញាតឱ្យផ្តល់នូវតំណាងក្រាហ្វិកដល់អ្នកប្រើប្រាស់ និងបង្កើត *.h ឬ *.c files ផ្អែកលើការកំណត់អ្នកប្រើប្រាស់។
ការជូនដំណឹងសំខាន់ - អានដោយប្រុងប្រយ័ត្ន
- STMicroelectronics NV និងក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន (“ST”) រក្សាសិទ្ធិដើម្បីធ្វើការផ្លាស់ប្តូរ ការកែតម្រូវ ការកែលម្អ ការកែប្រែ និងការកែលម្អចំពោះផលិតផល ST និង/ឬឯកសារនេះនៅពេលណាមួយដោយគ្មានការជូនដំណឹងជាមុន។ អ្នកទិញគួរតែទទួលបានព័ត៌មានពាក់ព័ន្ធចុងក្រោយបំផុតលើផលិតផល ST មុនពេលធ្វើការបញ្ជាទិញ។ ផលិតផល ST ត្រូវបានលក់ដោយអនុលោមតាមលក្ខខណ្ឌនៃការលក់របស់ ST នៅពេលទទួលស្គាល់ការបញ្ជាទិញ។
- អ្នកទិញទទួលខុសត្រូវទាំងស្រុងចំពោះជម្រើស ការជ្រើសរើស និងការប្រើប្រាស់ផលិតផល ST ហើយ ST មិនទទួលខុសត្រូវចំពោះជំនួយកម្មវិធី ឬការរចនាផលិតផលរបស់អ្នកទិញឡើយ។
- គ្មានអាជ្ញាប័ណ្ណ បង្ហាញ ឬបង្កប់ន័យចំពោះសិទ្ធិកម្មសិទ្ធិបញ្ញាណាមួយត្រូវបានផ្តល់ដោយ ST នៅទីនេះ។
- ការលក់បន្តនៃផលិតផល ST ជាមួយនឹងបទប្បញ្ញត្តិខុសពីព័ត៌មានដែលមានចែងនៅទីនេះ នឹងត្រូវចាត់ទុកជាមោឃៈនូវការធានាណាមួយដែលផ្តល់ដោយ ST សម្រាប់ផលិតផលនោះ។
- ST និងនិមិត្តសញ្ញា ST គឺជាពាណិជ្ជសញ្ញារបស់ ST ។ សម្រាប់ព័ត៌មានបន្ថែមអំពីពាណិជ្ជសញ្ញា ST សូមមើល www.st.com/trademarks ។ ឈ្មោះផលិតផល ឬសេវាកម្មផ្សេងទៀតទាំងអស់គឺជាកម្មសិទ្ធិរបស់ម្ចាស់រៀងៗខ្លួន។
- ព័ត៌មាននៅក្នុងឯកសារនេះជំនួស និងជំនួសព័ត៌មានដែលបានផ្តល់ពីមុននៅក្នុងកំណែមុននៃឯកសារនេះ។
- © 2023 STMicroelectronics - រក្សាសិទ្ធិគ្រប់យ៉ាង
ឯកសារ/ធនធាន
![]() |
ស៊េរី STMicroelectronics STM32WBA ចាប់ផ្តើម [pdf] សៀវភៅណែនាំអ្នកប្រើប្រាស់ ស៊េរី STM32WBA ចាប់ផ្តើម, ចាប់ផ្តើម, ចាប់ផ្តើម |