STMicroelectronics-និមិត្តសញ្ញា

ស៊េរី STMicroelectronics STM32WBA ចាប់ផ្តើម

STMicroelectronics-STM32WBA-Series-Getting-Started-fig-1

ព័ត៌មានអំពីផលិតផល

លក្ខណៈ​ពិសេស៖

  • ឈ្មោះផលិតផល៖ កញ្ចប់ 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 ។

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-2

ស្ថាបត្យកម្ម STM32CubeWBA ត្រូវបានបញ្ចប់view

ដំណោះស្រាយកញ្ចប់ STM32CubeWBA MCU ត្រូវបានបង្កើតឡើងជុំវិញកម្រិតឯករាជ្យចំនួនបី ដែលងាយស្រួលធ្វើអន្តរកម្មដូចដែលបានពិពណ៌នាក្នុងរូបភាពទី 2 ។ ស្ថាបត្យកម្មកញ្ចប់ STM32CubeWBA MCU ។

STMicroelectronics-STM32WBA-Series-Getting-Started-fig-3

កម្រិត 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 ត្រូវបានបែងចែកជាពីរប្រភេទ៖
    1. Generic APIs ដែលផ្តល់មុខងារទូទៅ និងទូទៅដល់ microcontrollers ស៊េរី STM32 ទាំងអស់។
    2. 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
    • 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 ដ៏រឹងមាំ គាំទ្រ​ឧបករណ៍​ចាប់សញ្ញា​ប៉ះ​ជិត គ្រាប់ចុច លីនេអ៊ែរ និង​ឧបករណ៍ចាប់សញ្ញា​បង្វិល។ វាត្រូវបានផ្អែកលើគោលការណ៍នៃការផ្ទេរបន្ទុកលើផ្ទៃដែលបានបញ្ជាក់។

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 ។

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-4

  • សម្រាប់ក្រុមប្រឹក្សាភិបាលនីមួយៗសំណុំនៃអតីតamples ត្រូវបានផ្តល់ជូនជាមួយនឹងគម្រោងដែលបានកំណត់ទុកជាមុនសម្រាប់ EWARM, MDK-ARM, និង STM32CubeIDE toolchains ។
  • រូបភាពទី 4. STM32CubeWBA ឧampលើសview បង្ហាញរចនាសម្ព័ន្ធគម្រោងសម្រាប់បន្ទះ NUCLEO-WBA52CG, NUCLEO-WBA55CG និង STM32WBA55G-DK1 ។

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-5

  • អតីត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 នៃគោលការណ៍ណែនាំកម្មវិធី។

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-6

  • កញ្ចប់កម្មវិធីបង្កប់កញ្ចប់ 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៖

  1. ទាញយកកញ្ចប់ STM32CubeWBA MCU ។
  2. ពន្លាវាទៅក្នុងថតឯកសារដែលអ្នកជ្រើសរើស។
  3. ត្រូវប្រាកដថាមិនត្រូវកែប្រែរចនាសម្ព័ន្ធកញ្ចប់ដែលបង្ហាញក្នុងរូបភាពទី 1។ វាត្រូវបានណែនាំផងដែរឱ្យចម្លងកញ្ចប់នៅទីតាំងជិតនឹងទំហំ root របស់អ្នក (មានន័យថា C:\ST ឬ G:\Tests) ព្រោះ IDE ខ្លះជួបប្រទះបញ្ហានៅពេលផ្លូវ ប្រវែងគឺវែងពេក។

កំពុងដំណើរការ TrustZone® ដំបូងដែលបានបើក ឧample

  • មុនពេលផ្ទុក និងដំណើរការ TrustZone® ដែលបានបើក ឧample, វាជាកាតព្វកិច្ចក្នុងការអានអតីតampអានខ្ញុំ file សម្រាប់ការកំណត់រចនាសម្ព័ន្ធជាក់លាក់ណាមួយ ដែលធានាថាសុវត្ថិភាពត្រូវបានបើកដូចដែលបានពិពណ៌នានៅក្នុងផ្នែក 4.2.1 គម្រោងដែលបានបើក TrustZone® (TZEN=1 (បៃជម្រើសអ្នកប្រើប្រាស់))។
    1. រុករកទៅ \Projects\NUCLEO-WBA52CG\Examples ។
    2. បើក \GPIO បន្ទាប់មក \GPIO_IOToggle_TrustZone ថត។
    3. បើកគម្រោងជាមួយ toolchain ដែលអ្នកពេញចិត្ត។ លឿនជាងview អំពីរបៀបបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រត្រូវបានផ្តល់ឱ្យខាងក្រោម។
    4. កសាងឡើងវិញតាមលំដាប់លំដោយនូវរាល់គម្រោងដែលមានសុវត្ថិភាព និងមិនមានសុវត្ថិភាព files ហើយផ្ទុករូបភាពដែលមានសុវត្ថិភាព និងមិនមានសុវត្ថិភាពទៅក្នុងអង្គចងចាំគោលដៅ។
    5. រត់អតីតample៖ ជាទៀងទាត់ កម្មវិធីសុវត្ថិភាពបិទបើក LD2 រៀងរាល់វិនាទី ហើយកម្មវិធីដែលមិនមានសុវត្ថិភាពបិទបើក LD3 ពីរដងលឿនជាងមុន។ សម្រាប់ព័ត៌មានលម្អិត សូមមើល readme file របស់អតីតampលេ
  • ដើម្បីបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រ សូមអនុវត្តតាមជំហានខាងក្រោម៖
    • ក្តៅ៖
      1. នៅក្រោមអតីតampបើកថតឯកសាររង \\ EWARM ។
      2. បើកដំណើរការកន្លែងធ្វើការ Project.eww
      3. កសាងគម្រោងសុវត្ថិភាព xxxx_S ឡើងវិញ files: [គម្រោង]> [កសាងឡើងវិញទាំងអស់]។
      4. កំណត់គម្រោង xxxxx_NS មិនមានសុវត្ថិភាពជាកម្មវិធីសកម្ម (ចុចកណ្ដុរស្ដាំលើគម្រោង xxxxx_NS [កំណត់ជាសកម្ម])
      5. កសាងគម្រោងដែលមិនមានសុវត្ថិភាព xxxx_NS ឡើងវិញ files: [គម្រោង]> [កសាងឡើងវិញទាំងអស់]។
      6. បញ្ចេញប្រព័ន្ធគោលពីរដែលមិនមានសុវត្ថិភាពជាមួយ [គម្រោង]> [ទាញយក]> [ទាញយកកម្មវិធីសកម្ម] ។
      7. កំណត់ xxxxx_S ជាកម្មវិធីសកម្ម (ចុចកណ្ដុរស្ដាំលើគម្រោង xxxxx_S [កំណត់ជាសកម្ម] ។
      8. បញ្ចេញប្រព័ន្ធគោលពីរដែលមានសុវត្ថិភាពដោយប្រើ [ទាញយក និងបំបាត់កំហុស] (Ctrl+D)។
      9. ដំណើរការកម្មវិធី៖ [Debug]> [Go(F5)]
    • MDK-ARM៖
      1. បើកខ្សែសង្វាក់ឧបករណ៍ MDK-ARM ។
      2. បើកកន្លែងធ្វើការពហុគម្រោង file Project.uvmpw ។
      3. ជ្រើសរើសគម្រោង xxxxx_s ជាកម្មវិធីសកម្ម ([កំណត់ជាគម្រោងសកម្ម])។
      4. បង្កើតគម្រោង xxxxx_s ។
      5. ជ្រើសរើសគម្រោង xxxxx_ns ជាគម្រោងសកម្ម ([កំណត់ជាគម្រោងសកម្ម])។
      6. បង្កើតគម្រោង xxxxx_ns ។
      7. ផ្ទុកប្រព័ន្ធគោលពីរដែលមិនមានសុវត្ថិភាព ([F8]) ។ នេះទាញយក \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf ទៅក្នុងអង្គចងចាំពន្លឺ)
      8. ជ្រើសរើសគម្រោង Project_s ជាគម្រោងសកម្ម ([កំណត់ជាគម្រោងសកម្ម])។
      9. ផ្ទុកប្រព័ន្ធគោលពីរដែលមានសុវត្ថិភាព ([F8])។ នេះទាញយក \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf ទៅអង្គចងចាំពន្លឺ)។
      10. រត់អតីតampលេ
    • STM32CubeIDE៖
      1. បើកខ្សែសង្វាក់ឧបករណ៍ STM32CubeIDE ។
      2. បើកកន្លែងធ្វើការពហុគម្រោង file .គម្រោង។
      3. កសាងគម្រោង xxxx_Secure ឡើងវិញ។
      4. កសាងគម្រោង xxxxx_NonSecure ឡើងវិញ។
      5. បើកដំណើរការកម្មវិធី [Debug as STM32 Cortex-M C/C++] សម្រាប់គម្រោងសុវត្ថិភាព។
      6. នៅក្នុងបង្អួច [កែសម្រួលការកំណត់រចនាសម្ព័ន្ធ] ជ្រើសរើសបន្ទះ [ចាប់ផ្ដើម] ហើយបន្ថែមការផ្ទុករូបភាព និងនិមិត្តសញ្ញានៃគម្រោងដែលមិនមានសុវត្ថិភាព។
        សំខាន់៖ គម្រោងមិនមានសុវត្ថិភាពត្រូវតែផ្ទុកមុនពេលគម្រោងសុវត្ថិភាព។
      7. ចុច [យល់ព្រម] ។
      8. រត់អតីតampពីទស្សនៈនៃការបំបាត់កំហុស។

កំពុងដំណើរការ TrustZone® ទីមួយដែលត្រូវបានបិទ ឧample

  • មុនពេលផ្ទុក និងដំណើរការ TrustZone® អតីតដែលបានបិទample, វាជាកាតព្វកិច្ចក្នុងការអានអតីតampអានខ្ញុំ file សម្រាប់ការកំណត់ជាក់លាក់ណាមួយ។ ប្រសិនបើមិនមានការលើកឡើងជាក់លាក់ណាមួយទេ សូមប្រាកដថាឧបករណ៍ក្រុមប្រឹក្សាភិបាលបានបិទសុវត្ថិភាព (TZEN=0 (បៃជម្រើសអ្នកប្រើប្រាស់))។ សូមមើល FAQ សម្រាប់ការធ្វើតំរែតំរង់ស្រេចចិត្តទៅ TZEN = 0
    1. រុករកទៅ \Projects\NUCLEO-WBA52CG\Examples ។
    2. បើក \GPIO បន្ទាប់មក \GPIO_EXTI ថត។
    3. បើកគម្រោងជាមួយ toolchain ដែលអ្នកពេញចិត្ត។ លឿនជាងview អំពីរបៀបបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រត្រូវបានផ្តល់ឱ្យខាងក្រោម។
    4. កសាងឡើងវិញទាំងអស់។ files ហើយផ្ទុករូបភាពរបស់អ្នកទៅក្នុងអង្គចងចាំគោលដៅ។
    5. រត់អតីតample: រាល់ពេលដែលប៊ូតុងរុញ [USER] ត្រូវបានចុច LD1 LED បិទបើក។ សម្រាប់ព័ត៌មានលម្អិត សូមមើល readme file របស់អតីតampលេ
  • ដើម្បីបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រ សូមអនុវត្តតាមជំហានខាងក្រោម៖
    • ក្តៅ៖
      1. នៅក្រោមអតីតampបើកថតឯកសាររង \\ EWARM ។
      2. បើកដំណើរការ Project.eww workspace (ឈ្មោះកន្លែងធ្វើការអាចផ្លាស់ប្តូរពីអតីតមួយ។ampទៅមួយទៀត) ។
      3. កសាងឡើងវិញទាំងអស់។ files: [គម្រោង]> [កសាងឡើងវិញទាំងអស់]។
      4. ផ្ទុករូបភាពគម្រោង៖ [គម្រោង]> [បំបាត់កំហុស]។
      5. ដំណើរការកម្មវិធី៖ [Debug]>[Go (F5)]។
    • MDK-ARM៖
      1. នៅក្រោមអតីតampបើកថតរង MDK-ARM ។
      2. បើកដំណើរការកន្លែងធ្វើការ Project.uvproj (ឈ្មោះកន្លែងធ្វើការអាចផ្លាស់ប្តូរពីអតីតមួយ។ampទៅមួយទៀត) ។
      3. កសាងឡើងវិញទាំងអស់។ files:[គម្រោង]>[កសាងគោលដៅទាំងអស់ឡើងវិញ files] ។
      4. ផ្ទុករូបភាពគម្រោង៖ [Debug]>[Start/Stop Debug Session]។
      5. ដំណើរការកម្មវិធី៖ [បំបាត់កំហុស]> [រត់ (F5)] ។
    • STM32CubeIDE៖
      1. បើកខ្សែសង្វាក់ឧបករណ៍ STM32CubeIDE ។
      2. ចុចលើ [File]>[Switch Workspace]>[Other] ហើយរកមើលទៅកាន់ថតកន្លែងធ្វើការ STM32CubeIDE។
      3. ចុចលើ [File]>[នាំចូល] ជ្រើសរើស [ទូទៅ]>[គម្រោងដែលមានស្រាប់ទៅក្នុងកន្លែងធ្វើការ] ហើយបន្ទាប់មកចុច [បន្ទាប់]។
      4. រកមើលទៅកាន់ថតកន្លែងធ្វើការ STM32CubeIDE ហើយជ្រើសរើសគម្រោង។
      5. សាងសង់ឡើងវិញនូវគម្រោងទាំងអស់។ files៖ ជ្រើសរើស​គម្រោង​ក្នុង​បង្អួច [Project Explorer] បន្ទាប់មក​ចុច​លើ​ម៉ឺនុយ [Project]> [Build project]។
      6. ដំណើរការកម្មវិធី៖ [រត់]> [បំបាត់កំហុស (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 សូមអនុវត្តតាមដំណើរការជាជំហានៗ៖
    1. ជ្រើសរើស microcontroller STM32 ដែលត្រូវនឹងសំណុំគ្រឿងកុំព្យូទ័រដែលត្រូវការ។
    2. កំណត់រចនាសម្ព័ន្ធកម្មវិធីដែលបានបង្កប់ដែលត្រូវការទាំងអស់ ដោយប្រើឧបករណ៍ដោះស្រាយជម្លោះ pinout ឧបករណ៍ជំនួយការកំណត់ដើមឈើ ការគណនាការប្រើប្រាស់ថាមពល និងឧបករណ៍ប្រើប្រាស់ដែលដំណើរការការកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ MCU (ដូចជា GPIO ឬ USART) និងឧបករណ៍កណ្តាល (ដូចជា USB)។
    3. បង្កើត​កូដ​ការ​ចាប់​ផ្ដើម C ដោយ​ផ្អែក​លើ​ការ​កំណត់​រចនាសម្ព័ន្ធ​ដែល​បាន​ជ្រើស។ កូដនេះរួចរាល់សម្រាប់ប្រើប្រាស់ក្នុងបរិយាកាសអភិវឌ្ឍន៍ជាច្រើន។ លេខកូដអ្នកប្រើប្រាស់ត្រូវបានរក្សាទុកនៅជំនាន់កូដបន្ទាប់។
  • សម្រាប់ព័ត៌មានបន្ថែមអំពី STM32CubeMX សូមមើលសៀវភៅដៃអ្នកប្រើប្រាស់ STM32CubeMX សម្រាប់ការកំណត់រចនាសម្ព័ន្ធ STM32 និងការចាប់ផ្ដើមបង្កើតកូដ C (UM1718)។
  • សម្រាប់បញ្ជីនៃគម្រោងដែលមាន ឧamples សម្រាប់ STM32CubeWBA សូមមើលកម្មវិធីបង្កប់កម្មវិធី STM32Cube examples សម្រាប់ស៊េរី STM32WBA (AN5929) ។

កម្មវិធីអ្នកបើកបរ

កម្មវិធី HAL
ផ្នែកនេះពិពណ៌នាអំពីជំហានដែលត្រូវការដើម្បីបង្កើតកម្មវិធី HAL ផ្ទាល់ខ្លួនដោយប្រើ STM32CubeWBA៖

  1. បង្កើតគម្រោងមួយ។
    • ដើម្បីបង្កើតគម្រោងថ្មី សូមចាប់ផ្តើមពីគម្រោងគំរូដែលបានផ្តល់សម្រាប់ក្តារនីមួយៗនៅក្រោម \Projects\ \ គំរូ ឬពីគម្រោងដែលមាននៅក្រោម \ គម្រោង\ \Exam ples ឬ \Projects\ \\ កម្មវិធី (កន្លែង សំដៅលើឈ្មោះក្រុមប្រឹក្សាភិបាល ដូចជា STM32CubeWBA)។
    • គម្រោងគំរូផ្តល់នូវមុខងាររង្វិលជុំមេទទេ។ ទោះយ៉ាងណាក៏ដោយ វាគឺជាចំណុចចាប់ផ្តើមដ៏ល្អមួយដើម្បីយល់ពីការកំណត់គម្រោង STM32CubeWBA ។ គំរូមានលក្ខណៈដូចខាងក្រោមៈ
      • វាមានកូដប្រភព HAL, CMSIS, និង BSP drivers ដែលជាសំណុំអប្បបរមានៃសមាសភាគដែលត្រូវការដើម្បីបង្កើតកូដនៅលើក្តារដែលបានផ្តល់ឱ្យ។
      • វាមានផ្លូវដែលរួមបញ្ចូលសម្រាប់សមាសធាតុកម្មវិធីបង្កប់ទាំងអស់។
      • វាកំណត់ឧបករណ៍ស៊េរី STM32WBA ដែលគាំទ្រដោយអនុញ្ញាតឱ្យកម្មវិធីបញ្ជា CMSIS និង HAL ត្រូវបានកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវ។
      • វាផ្តល់ជូនអ្នកប្រើប្រាស់ដែលត្រៀមរួចជាស្រេច files កំណត់រចនាសម្ព័ន្ធជាមុនដូចបានបង្ហាញខាងក្រោម៖
        HAL បានចាប់ផ្តើមជាមួយនឹងមូលដ្ឋានពេលវេលាលំនាំដើមជាមួយ Arm® core SysTick ។ SysTick ISR ត្រូវបានអនុវត្តសម្រាប់គោលបំណង HAL_Delay() ។
        ចំណាំ៖ នៅពេលចម្លងគម្រោងដែលមានស្រាប់ទៅទីតាំងផ្សេងទៀត ត្រូវប្រាកដថាផ្លូវដែលបានរួមបញ្ចូលទាំងអស់ត្រូវបានធ្វើបច្ចុប្បន្នភាព។
  2. បន្ថែមឧបករណ៍កណ្តាលចាំបាច់ទៅគម្រោងអ្នកប្រើប្រាស់ (ជាជម្រើស)
    ដើម្បីកំណត់អត្តសញ្ញាណប្រភព files ដែលត្រូវបន្ថែមទៅក្នុងគម្រោង file បញ្ជី យោងទៅឯកសារដែលបានផ្តល់សម្រាប់ឧបករណ៍កណ្តាលនីមួយៗ។ សូមមើលកម្មវិធីក្រោម \Projects\STM32xxx_yyy\Applications\ (កន្លែងណា សំដៅ​ទៅ​លើ​ជង់​ផ្នែក​កណ្តាល ដូចជា ThreadX) ដើម្បី​ដឹង​ថា​ប្រភព​ណា files និងរួមបញ្ចូលផ្លូវត្រូវតែបន្ថែម។
  3. កំណត់រចនាសម្ព័ន្ធសមាសធាតុកម្មវិធីបង្កប់
    សមាសធាតុ HAL និង Middleware ផ្តល់ជូននូវជម្រើសកំណត់រចនាសម្ព័ន្ធពេលវេលាសាងសង់ដោយប្រើម៉ាក្រូ #define បានប្រកាសនៅក្នុងបឋមកថា file. ការកំណត់រចនាសម្ព័ន្ធគំរូ file ត្រូវ​បាន​ផ្ដល់​ក្នុង​សមាសភាគ​នីមួយៗ ដែល​ត្រូវ​ចម្លង​ទៅ​ថត​គម្រោង (ជា​ធម្មតា​ការ​កំណត់​រចនាសម្ព័ន្ធ file ត្រូវបានដាក់ឈ្មោះថា xxx_conf_template.h ពាក្យ _template ត្រូវការដកចេញនៅពេលចម្លងវាទៅថតគម្រោង)។ ការកំណត់រចនាសម្ព័ន្ធ file ផ្តល់ព័ត៌មានគ្រប់គ្រាន់ដើម្បីយល់ពីផលប៉ះពាល់នៃជម្រើសនៃការកំណត់រចនាសម្ព័ន្ធនីមួយៗ។ ព័ត៌មានបន្ថែមមាននៅក្នុងឯកសារដែលបានផ្តល់សម្រាប់សមាសធាតុនីមួយៗ។
  4. ចាប់ផ្តើមបណ្ណាល័យ 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 ដើម្បីអនុវត្តការចាប់ផ្តើមផ្នែករឹងកម្រិតទាបជាសកល។
  5. កំណត់រចនាសម្ព័ន្ធនាឡិកា
    ការកំណត់រចនាសម្ព័ន្ធនាឡិកាប្រព័ន្ធត្រូវបានធ្វើឡើងដោយហៅ APIs ទាំងពីរដែលបានពិពណ៌នាខាងក្រោម៖
    • HAL_RCC_OscConfig(): API នេះកំណត់រចនាសម្ព័ន្ធលំយោលខាងក្នុង និងខាងក្រៅ។ អ្នកប្រើប្រាស់ជ្រើសរើសដើម្បីកំណត់រចនាសម្ព័ន្ធលំយោលមួយ ឬទាំងអស់។
    • HAL_RCC_ClockConfig(): API នេះកំណត់រចនាសម្ព័ន្ធប្រភពនាឡិកាប្រព័ន្ធ ភាពយឺតនៃអង្គចងចាំពន្លឺ និង AHB និង APB prescalers ។
  6. ចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ
    • ដំបូងសរសេរអនុគមន៍ HAL_PPP_MspInit គ្រឿងកុំព្យូទ័រ។ បន្តដូចខាងក្រោម៖
      • បើកនាឡិកាគ្រឿងកុំព្យូទ័រ។
      • កំណត់រចនាសម្ព័ន្ធ GPIOs គ្រឿងកុំព្យូទ័រ។
      • កំណត់រចនាសម្ព័ន្ធឆានែល DMA និងបើកការរំខាន DMA (ប្រសិនបើចាំបាច់) ។
      • បើកការរំខានគ្រឿងកុំព្យូទ័រ (បើចាំបាច់)។
    • កែសម្រួល stm32xxx_it.c ដើម្បីហៅទៅឧបករណ៍ដោះស្រាយការរំខានដែលត្រូវការ (គ្រឿងកុំព្យូទ័រ និង DMA) ប្រសិនបើចាំបាច់។
    • ដំណើរការសរសេរមុខងារហៅត្រឡប់មកវិញពេញលេញ ប្រសិនបើការរំខានផ្នែកកុំព្យូទ័រ ឬ DMA ត្រូវបានគ្រោងនឹងប្រើប្រាស់។
    • នៅក្នុងអ្នកប្រើប្រាស់ main.c fileចាប់ផ្តើមរចនាសម្ព័ន្ធចំណុចទាញគ្រឿងកុំព្យូទ័រ បន្ទាប់មកហៅមុខងារ HAL_PPP_Init() ដើម្បីចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ។
  7. អភិវឌ្ឍកម្មវិធី
    • នៅ សtage ប្រព័ន្ធរួចរាល់ហើយ ការអភិវឌ្ឍន៍កូដកម្មវិធីអ្នកប្រើប្រាស់អាចចាប់ផ្តើម។
    • HAL ផ្តល់នូវ APIs វិចារណញាណ និងរួចរាល់ក្នុងការប្រើប្រាស់ដើម្បីកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ។ វាគាំទ្រការស្ទង់មតិ ការរំខាន និងគំរូកម្មវិធី DMA ដើម្បីបំពេញតម្រូវការកម្មវិធីណាមួយ។ សម្រាប់ព័ត៌មានលម្អិតបន្ថែមអំពីរបៀបប្រើគ្រឿងកុំព្យូទ័រនីមួយៗ សូមមើលអតីតអ្នកមានampសំណុំដែលបានផ្តល់ឱ្យនៅក្នុងកញ្ចប់ STM32CubeWBA MCU ។
      ប្រយ័ត្ន៖ នៅក្នុងការអនុវត្ត HAL លំនាំដើម កម្មវិធីកំណត់ពេលវេលា SysTick ត្រូវបានប្រើជាមូលដ្ឋានពេលវេលា៖ វាបង្កើតការរំខាននៅចន្លោះពេលទៀងទាត់។ ប្រសិនបើ HAL_Delay() ត្រូវបានហៅចេញពីដំណើរការ ISR គ្រឿងកុំព្យូទ័រ ត្រូវប្រាកដថាការរំខាន SysTick មានអាទិភាពខ្ពស់ (ជាលេខទាបជាង) ជាងការរំខានគ្រឿងកុំព្យូទ័រ។ បើមិនដូច្នោះទេ ដំណើរការ ISR អ្នកហៅចូលត្រូវបានរារាំង។ មុខងារដែលប៉ះពាល់ដល់ការកំណត់រចនាសម្ព័ន្ធពេលវេលាត្រូវបានប្រកាសថា __weak ដើម្បីធ្វើឱ្យការបដិសេធអាចធ្វើទៅបានក្នុងករណីមានការអនុវត្តផ្សេងទៀតនៅក្នុងអ្នកប្រើប្រាស់ file (ដោយប្រើកម្មវិធីកំណត់ពេលវេលាគោលបំណងទូទៅ ឧទាហរណ៍ample ឬប្រភពពេលវេលាផ្សេងទៀត) ។ សម្រាប់ព័ត៌មានលម្អិត សូមមើល HAL_TimeBase exampលេ

កម្មវិធី LL
ផ្នែកនេះពិពណ៌នាអំពីជំហានដែលត្រូវការដើម្បីបង្កើតកម្មវិធី LL ផ្ទាល់ខ្លួនដោយប្រើ STM32CubeWBA ។

  1. បង្កើតគម្រោងមួយ។
    • ដើម្បីបង្កើតគម្រោងថ្មី ចាប់ផ្តើមពីគម្រោង Templates_LL ដែលផ្តល់សម្រាប់ក្តារនីមួយៗនៅក្រោម \Projects\ \Templates_LL ឬពីគម្រោងដែលមាននៅក្រោម \Projects \ ឧamples_LL ( សំដៅលើឈ្មោះក្រុមប្រឹក្សាភិបាល ដូចជា NUCLEO-WBA32CG)។
    • គម្រោងគំរូផ្តល់នូវមុខងាររង្វិលជុំមេទទេ ដែលជាចំណុចចាប់ផ្តើមដ៏ល្អដើម្បីយល់ពីការកំណត់គម្រោងសម្រាប់ STM32CubeWBA។ លក្ខណៈសំខាន់ៗនៃគំរូមានដូចខាងក្រោម៖
      • វាមានកូដប្រភពនៃកម្មវិធីបញ្ជា LL និង CMSIS ដែលជាសំណុំអប្បបរមានៃសមាសភាគដែលត្រូវការដើម្បីបង្កើតកូដនៅលើក្តារដែលបានផ្តល់ឱ្យ។
      • វាមានផ្លូវដែលរួមបញ្ចូលសម្រាប់សមាសធាតុកម្មវិធីបង្កប់ដែលត្រូវការទាំងអស់។
      • វាជ្រើសរើសឧបករណ៍ស៊េរី STM32WBA ដែលគាំទ្រ និងអនុញ្ញាតឱ្យកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវនៃកម្មវិធីបញ្ជា CMSIS និង LL ។
      • វាផ្តល់ជូនអ្នកប្រើប្រាស់ដែលត្រៀមរួចជាស្រេច files ដែលត្រូវបានកំណត់ជាមុនដូចខាងក្រោម:
        ◦ main.h៖ LED និង USER_BUTTON និយមន័យស្រទាប់អរូបី។
        ◦ main.c៖ ការកំណត់រចនាសម្ព័ន្ធនាឡិកាប្រព័ន្ធសម្រាប់ប្រេកង់អតិបរមា។
  2. ច្រកគម្រោងដែលមានស្រាប់ទៅកាន់ក្តារផ្សេងទៀត។
    ដើម្បីគាំទ្រគម្រោងដែលមានស្រាប់នៅលើក្តារគោលដៅផ្សេងទៀត ចាប់ផ្តើមពីគម្រោង Templates_LL ដែលផ្តល់សម្រាប់ក្រុមប្រឹក្សាភិបាលនីមួយៗ ហើយមាននៅក្រោម \Projects\ \Templates_LL.
    • ជ្រើសរើស LL example: ដើម្បីស្វែងរកក្តារដែល LL examples ត្រូវបានដាក់ពង្រាយ យោងទៅបញ្ជីនៃ LL examples STM32CubeProjectsList.html ។
  3. ច្រក LL exampលេ៖
    • ចម្លង/បិទភ្ជាប់ថត Templates_LL - ដើម្បីរក្សាប្រភពដំបូង - ឬធ្វើបច្ចុប្បន្នភាពដោយផ្ទាល់នូវគម្រោង Templates_LL ដែលមានស្រាប់។
    • បន្ទាប់មកការបញ្ជូនមានជាចម្បងក្នុងការជំនួស Templates_LL files ដោយ Exampគម្រោងគោលដៅ les_LL ។
    • រក្សាផ្នែកជាក់លាក់នៃក្តារទាំងអស់។ សម្រាប់ហេតុផលនៃភាពច្បាស់លាស់ ផ្នែកជាក់លាក់នៃក្តារត្រូវបានសម្គាល់ដោយជាក់លាក់ tags:

      STMicroelectronics-STM32WBA-Series-Getting-Started-fig-7

    • ដូច្នេះ​ជំហាន​សំខាន់​នៃ​ការ​ច្រក​មាន​ដូច​ខាង​ក្រោម​:
      • ជំនួស 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 ចាប់ផ្តើម, ចាប់ផ្តើម, ចាប់ផ្តើម

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *