STMicroelectronics STM32U0 Series Original Initiative ធ្វើអោយប្រសើរឡើងនូវផលិតភាពរបស់អ្នករចនា
លក្ខណៈបច្ចេកទេស
- ឈ្មោះផលិតផល៖ STM32CubeU0
- ភាពឆបគ្នា៖ ឧបករណ៍បញ្ជាខ្នាតតូចស៊េរី STM32U0
- លក្ខណៈពិសេស៖ RTOS, ជង់ឧបករណ៍ USB, File ប្រព័ន្ធ, ស្រទាប់បកប្រែអង្គចងចាំពន្លឺ, សមាសធាតុមជ្ឈិម
- អាជ្ញាប័ណ្ណ៖ អាជ្ញាប័ណ្ណ BSD ប្រភពបើកចំហ
ការណែនាំអំពីការប្រើប្រាស់ផលិតផល
ជាងview នៃ STM32CubeU0
STM32CubeU0 គឺជាកញ្ចប់ដ៏ទូលំទូលាយដែលរួមបញ្ចូលសមាសធាតុកម្មវិធីដែលបានបង្កប់សម្រាប់បង្កើតកម្មវិធីនៅលើ microcontrollers ស៊េរី STM32U0 ។ វាគឺជាការចល័តខ្ពស់និងត្រូវគ្នាជាមួយនឹងស៊េរី STM32 ផ្សេងទៀត។
លក្ខណៈពិសេសចម្បង
កញ្ចប់រួមមានស្រទាប់ទាប (LL) និងស្រទាប់អរូបីផ្នែករឹង (HAL) APIs ដែលគ្របដណ្តប់ផ្នែករឹងរបស់ microcontroller រួមជាមួយនឹងសំណុំទូលំទូលាយនៃ examples ។ វាក៏មានលក្ខណៈពិសេស RTOS រួមបញ្ចូលគ្នា ជង់ឧបករណ៍ USB, file ប្រព័ន្ធគាំទ្រ និងបណ្ណាល័យផ្សេងៗ។
ស្ថាបត្យកម្មជាងview
ស្ថាបត្យកម្មនេះត្រូវបានសាងសង់ឡើងនៅជុំវិញបីកម្រិត - កម្រិត 0 (HAL និងមូលដ្ឋានគ្រឿងកុំព្យូទ័រឧamples), កម្រិត 1 (កម្មវិធី និងបណ្ណាល័យ) និងកម្រិត 2 (ក្រុមប្រឹក្សាវាយតម្លៃ និងការបង្ហាញ)។
ស្រទាប់អរូបីផ្នែករឹង (HAL)
- កម្មវិធីបញ្ជា BSP៖ ផ្តល់ APIs សម្រាប់សមាសធាតុផ្នែករឹងនៅលើក្តារដូចជា LCD, យ៉យស្ទីកជាដើម។
- ស្រទាប់ទាប (LL)៖ ផ្តល់ជូនការប្រើប្រាស់គ្រឿងកុំព្យូទ័រជាមូលដ្ឋាន ឧamples និង HAL core drivers ។
កញ្ចប់គាំទ្រក្តារ (BSP)
ស្រទាប់នេះរួមបញ្ចូលកម្មវិធីបញ្ជាសម្រាប់ឧបករណ៍ខាងក្រៅនៅលើក្តារ និងផ្តល់ APIs សម្រាប់សមាសធាតុខាងក្រៅរបស់កម្មវិធីបញ្ជា BSP ដែលអាចចល័តបានតាមក្តារផ្សេងៗគ្នា។
សេចក្តីផ្តើម
STM32Cube គឺជាគំនិតផ្តួចផ្តើមដើមរបស់ STMicroelectronics ដើម្បីបង្កើនផលិតភាពអ្នករចនាយ៉ាងសំខាន់ ដោយកាត់បន្ថយការខិតខំប្រឹងប្រែងក្នុងការអភិវឌ្ឍន៍ ពេលវេលា និងការចំណាយ។ STM32Cube គ្របដណ្តប់លើផលប័ត្រ STM32 ទាំងមូល។
STM32Cube រួមបញ្ចូល
- សំណុំនៃឧបករណ៍អភិវឌ្ឍន៍កម្មវិធីដែលងាយស្រួលប្រើសម្រាប់គ្របដណ្តប់លើការអភិវឌ្ឍន៍គម្រោងពីគំនិតរហូតដល់ការសម្រេចបាន ដែលក្នុងនោះមាន៖
- STM32CubeMX ជាឧបករណ៍កំណត់រចនាសម្ព័ន្ធកម្មវិធីក្រាហ្វិកដែលអនុញ្ញាតឱ្យបង្កើតកូដការចាប់ផ្តើម C ដោយស្វ័យប្រវត្តិដោយប្រើអ្នកជំនួយក្រាហ្វិក
- STM32CubeIDE ជាឧបករណ៍អភិវឌ្ឍន៍ទាំងអស់ក្នុងមួយជាមួយនឹងការកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ ការបង្កើតកូដ ការចងក្រងកូដ និងមុខងារបំបាត់កំហុស
- STM32CubeCLT ដែលជាឧបករណ៍អភិវឌ្ឍន៍បន្ទាត់ពាក្យបញ្ជាទាំងអស់នៅក្នុងមួយជាមួយនឹងការចងក្រងកូដ ការសរសេរកម្មវិធីក្តារ និងលក្ខណៈពិសេសបំបាត់កំហុស
- STM32CubeProgrammer (STM32CubeProg) ដែលជាឧបករណ៍សរសេរកម្មវិធីដែលមាននៅក្នុងកំណែក្រាហ្វិក និងបន្ទាត់ពាក្យបញ្ជា
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD) ឧបករណ៍ត្រួតពិនិត្យដ៏មានអានុភាពដើម្បីកែសម្រួលឥរិយាបថ និងការអនុវត្តកម្មវិធី STM32 ក្នុងពេលវេលាជាក់ស្តែង
- STM32Cube MCU និង MPU Packages ដែលជាកម្មវិធីបង្កប់-កម្មវិធីបង្កប់យ៉ាងទូលំទូលាយជាក់លាក់ចំពោះ microcontroller និង microprocessor series (ដូចជា STM32CubeU0 for the STM32U0 series) ដែលរួមមានៈ
- STM32Cube hardware abstraction layer (HAL) ធានាបាននូវការចល័តអតិបរមានៅទូទាំង STM32 portfolio
- APIs ស្រទាប់ទាប STM32Cube ធានាបាននូវដំណើរការល្អបំផុត និងស្នាមជើងជាមួយនឹងកម្រិតខ្ពស់នៃការគ្រប់គ្រងអ្នកប្រើប្រាស់លើផ្នែករឹង
- សំណុំនៃសមាសភាគឧបករណ៍កណ្តាលដូចជា ThreadX, FileX/LevelX, USBX, touch library, embed-crypto, MCUboot, និង OpenBL
- ឧបករណ៍ប្រើប្រាស់កម្មវិធីដែលបានបង្កប់ទាំងអស់ជាមួយនឹងសំណុំពេញលេញនៃគ្រឿងកុំព្យូទ័រ និងកម្មវិធី examples
- កញ្ចប់ពង្រីក STM32Cube ដែលមានសមាសធាតុកម្មវិធីបង្កប់ដែលបំពេញមុខងាររបស់ STM32Cube MCU និង MPU Packages ជាមួយ៖
- ផ្នែកបន្ថែម Middleware និងស្រទាប់អនុវត្ត
- Examples កំពុងដំណើរការលើក្រុមប្រឹក្សាអភិវឌ្ឍន៍ STMicroelectronics ជាក់លាក់មួយចំនួន
សៀវភៅណែនាំអ្នកប្រើប្រាស់នេះពិពណ៌នាអំពីរបៀបចាប់ផ្តើមជាមួយកញ្ចប់ MCU STM32CubeU0 ។
ផ្នែកទី 2 ពិពណ៌នាអំពីលក្ខណៈសំខាន់ៗនៃកញ្ចប់ MCU STM32CubeU0 ។
ផ្នែកទី 3 និងផ្នែកទី 4 ផ្តល់នូវការបញ្ចប់view នៃស្ថាបត្យកម្ម STM32CubeU0 និងរចនាសម្ព័ន្ធកញ្ចប់ MCU ។
ព័ត៌មានទូទៅ
ចំណាំ
- កម្មវិធី STM32CubeU0 ដំណើរការលើ microcontrollers 32-bit ស៊េរី STM0U32 ដោយផ្អែកលើខួរក្បាល Arm® Cortex®-M ។
- Arm គឺជាពាណិជ្ជសញ្ញាដែលបានចុះបញ្ជីរបស់ Arm Limited (ឬសាខារបស់ខ្លួន) នៅសហរដ្ឋអាមេរិក និង/ឬកន្លែងផ្សេងទៀត។
លក្ខណៈពិសេសរបស់ STM32CubeU0
STM32CubeU0 ប្រមូលផ្តុំនៅក្នុងកញ្ចប់តែមួយ សមាសធាតុកម្មវិធីបង្កប់ទូទៅទាំងអស់ដែលទាមទារដើម្បីបង្កើតកម្មវិធីសម្រាប់ microcontrollers ស៊េរី STM32U0 ។ ស្របតាមគំនិតផ្តួចផ្តើម STM32Cube សំណុំនៃសមាសភាគនេះគឺអាចចល័តបានខ្ពស់មិនត្រឹមតែនៅក្នុង microcontrollers ស៊េរី STM32U0 ប៉ុណ្ណោះទេប៉ុន្តែថែមទាំងស៊េរី STM32 ផ្សេងទៀតផងដែរ។
STM32CubeU0 គឺឆបគ្នាយ៉ាងពេញលេញជាមួយម៉ាស៊ីនបង្កើតកូដ STM32CubeMX សម្រាប់បង្កើតលេខកូដចាប់ផ្តើម។ កញ្ចប់រួមមានស្រទាប់ទាប (LL) និងស្រទាប់អរូបីផ្នែករឹង (HAL) APIs ដែលគ្របដណ្ដប់លើផ្នែករឹងរបស់ microcontroller រួមជាមួយនឹងសំណុំទូលំទូលាយនៃ examples កំពុងដំណើរការលើក្តារ STMicroelectronics ។ HAL និង LL APIs មាននៅក្នុងអាជ្ញាប័ណ្ណ BSD ប្រភពបើកចំហសម្រាប់ភាពងាយស្រួលរបស់អ្នកប្រើប្រាស់។
កញ្ចប់ MCU STM32CubeU0 ក៏មានសមាសធាតុឧបករណ៍កណ្តាលដ៏ទូលំទូលាយដែលត្រូវបានសាងសង់ជុំវិញ Microsoft® Azure® RTOS មជ្ឈដ្ឋានកណ្តាល និងជង់ខាងក្នុង និងប្រភពបើកចំហផ្សេងទៀត ជាមួយនឹងអតីតដែលត្រូវគ្នាamples ។
ពួកគេមកជាមួយលក្ខខណ្ឌអាជ្ញាប័ណ្ណដែលងាយស្រួលប្រើដោយឥតគិតថ្លៃ៖
- រួមបញ្ចូល និងមុខងារពេញលេញ RTOS៖ ThreadX
- ការអនុវត្ត CMSIS-RTOS ជាមួយនឹងដំណោះស្រាយប្រភពបើកចំហ FreeRTOS
- ការអនុវត្ត CMSIS-RTOS ជាមួយ ThreadX
- ជង់ឧបករណ៍ USB មកជាមួយថ្នាក់ជាច្រើន៖ USBX
- កម្រិតខ្ពស់ file ប្រព័ន្ធ និងស្រទាប់បកប្រែអង្គចងចាំពន្លឺ៖ FileX/LevelX
- OpenBootloader (OpenBL)
- MCUboot
- បណ្ណាល័យ mbed-crypto
- បណ្ណាល័យ STM32_Touch
កម្មវិធី និងការបង្ហាញជាច្រើនដែលអនុវត្តសមាសធាតុឧបករណ៍កណ្ដាលទាំងអស់នេះក៏ត្រូវបានផ្ដល់ជូនក្នុងកញ្ចប់ STM32CubeU0 MCU ដែរ។
រូបភាពទី 1 បង្ហាញពីប្លង់សមាសភាគ STM32CubeU0 MCU ។
ស្ថាបត្យកម្ម STM32CubeU0 ត្រូវបានបញ្ចប់view
- ដំណោះស្រាយកញ្ចប់ STM32CubeU0 MCU ត្រូវបានបង្កើតឡើងនៅជុំវិញកម្រិតឯករាជ្យចំនួនបី ដែលងាយស្រួលធ្វើអន្តរកម្ម ដូចដែលបានពិពណ៌នានៅក្នុងរូបភាពទី 2។
កម្រិត 0
កម្រិតនេះត្រូវបានបែងចែកជាបីស្រទាប់រង៖
- កញ្ចប់គាំទ្រក្តារ (BSP)
- ស្រទាប់អរូបីផ្នែករឹង (HAL)
- កម្មវិធីបញ្ជាគ្រឿងកុំព្យូទ័រ HAL
- អ្នកបើកបរស្រទាប់ទាប
- ការប្រើប្រាស់គ្រឿងកុំព្យូទ័រជាមូលដ្ឋាន ឧamples
កញ្ចប់គាំទ្រក្តារ (BSP)
ស្រទាប់នេះផ្តល់នូវសំណុំនៃ APIs ដែលទាក់ទងទៅនឹងសមាសធាតុផ្នែករឹងនៅក្នុងបន្ទះ hardware (ដូចជា LCD, យ៉យស្ទីក និងឧបករណ៏សីតុណ្ហភាព)។ វាមានពីរផ្នែក៖
- សមាសភាគ
- នេះគឺជាកម្មវិធីបញ្ជាដែលទាក់ទងទៅនឹងឧបករណ៍ខាងក្រៅនៅលើក្តារ និងមិនមែនជាឧបករណ៍ STM32 ទេ។ កម្មវិធីបញ្ជាសមាសភាគផ្តល់ APIs ជាក់លាក់ដល់សមាសធាតុខាងក្រៅរបស់កម្មវិធីបញ្ជា BSP ហើយកាប៊ីនអាចចល័តបាននៅលើក្តារផ្សេងទៀត។
- កម្មវិធីបញ្ជា BSP
- វាអនុញ្ញាតឱ្យភ្ជាប់កម្មវិធីបញ្ជាសមាសភាគទៅក្រុមប្រឹក្សាភិបាលជាក់លាក់មួយ និងផ្តល់នូវសំណុំនៃ API ដែលងាយស្រួលប្រើ។ ច្បាប់ដាក់ឈ្មោះ API គឺ BSP_FUNCT_Action()។
- Exampឡេ៖ BSP_LED_Init(), BSP_LED_On()
BSP គឺផ្អែកលើស្ថាបត្យកម្មម៉ូឌុលដែលអនុញ្ញាតឱ្យងាយស្រួលច្រកលើប្រភេទណាមួយនៃផ្នែករឹងដោយអនុវត្តទម្លាប់កម្រិតទាប។
ស្រទាប់អរូបីផ្នែករឹង (HAL) និងស្រទាប់ទាប (LL)
STM32CubeU0 HAL និង LL គឺជាការបំពេញបន្ថែម និងគ្របដណ្តប់លើតម្រូវការកម្មវិធីជាច្រើន៖
- កម្មវិធីបញ្ជា HAL ផ្តល់ជូននូវ APIs ចល័តកម្រិតខ្ពស់ដែលផ្តោតលើមុខងារកម្រិតខ្ពស់។ ពួកគេលាក់ MCU និងភាពស្មុគស្មាញគ្រឿងកុំព្យូទ័រពីអ្នកប្រើប្រាស់ចុងក្រោយ។
- កម្មវិធីបញ្ជា HAL ផ្តល់នូវ APIs តម្រង់ទិសលក្ខណៈពិសេសពហុវត្ថុទូទៅ ដែលជួយសម្រួលដល់ការអនុវត្តកម្មវិធីរបស់អ្នកប្រើប្រាស់ ដោយផ្តល់នូវដំណើរការរួចរាល់សម្រាប់ប្រើប្រាស់។ សម្រាប់អតីតample សម្រាប់គ្រឿងកុំព្យូទ័រទំនាក់ទំនង (I2S, UART និងផ្សេងទៀត) វាផ្តល់នូវ APIs ដែលអនុញ្ញាតឱ្យចាប់ផ្តើម និងការកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ គ្រប់គ្រងការផ្ទេរទិន្នន័យដោយផ្អែកលើការស្ទង់មតិ ការរំខាន ឬដំណើរការ DMA និងការដោះស្រាយកំហុសទំនាក់ទំនងដែលអាចកើតឡើងក្នុងអំឡុងពេលទំនាក់ទំនង។ APIs កម្មវិធីបញ្ជា HAL ត្រូវបានបំបែកជាពីរប្រភេទ៖
- APIs ទូទៅដែលផ្តល់មុខងារទូទៅ និងទូទៅដល់ស៊េរី STM32 ទាំងអស់។
- Extension APIs ដែលផ្តល់មុខងារជាក់លាក់ និងប្ដូរតាមបំណងសម្រាប់គ្រួសារជាក់លាក់ ឬលេខផ្នែកជាក់លាក់មួយ។
- APIs ស្រទាប់ទាបផ្តល់នូវ APIs កម្រិតទាបនៅកម្រិតចុះឈ្មោះ ជាមួយនឹងការបង្កើនប្រសិទ្ធភាពកាន់តែប្រសើរ ប៉ុន្តែការចល័តតិចជាង។ ពួកគេទាមទារចំណេះដឹងជ្រៅជ្រះនៃ MCU និងការបញ្ជាក់គ្រឿងកុំព្យូទ័រ។
- កម្មវិធីបញ្ជា LL ត្រូវបានរចនាឡើងដើម្បីផ្តល់នូវស្រទាប់តម្រង់ទិសអ្នកជំនាញដែលមានទម្ងន់ស្រាលលឿន ដែលនៅជិតផ្នែករឹងជាង HAL ។ ផ្ទុយពី HAL LL APIs មិនត្រូវបានផ្តល់ជូនសម្រាប់គ្រឿងកុំព្យូទ័រដែលការចូលប្រើដែលត្រូវបានធ្វើឱ្យប្រសើរមិនមែនជាលក្ខណៈសំខាន់ ឬសម្រាប់អ្នកដែលត្រូវការការកំណត់រចនាសម្ព័ន្ធកម្មវិធីធ្ងន់ៗ និង/ឬជង់កម្រិតខ្ពស់ស្មុគស្មាញ។ លក្ខណៈពិសេសរបស់អ្នកបើកបរ LL:
- សំណុំនៃមុខងារដើម្បីចាប់ផ្តើមមុខងារសំខាន់នៃគ្រឿងកុំព្យូទ័រដោយយោងតាមប៉ារ៉ាម៉ែត្រដែលបានបញ្ជាក់នៅក្នុងរចនាសម្ព័ន្ធទិន្នន័យ។
- សំណុំនៃមុខងារដែលប្រើដើម្បីបំពេញរចនាសម្ព័ន្ធទិន្នន័យការចាប់ផ្តើមជាមួយនឹងតម្លៃកំណត់ឡើងវិញដែលត្រូវគ្នាទៅនឹងវាលនីមួយៗ។
- អនុគមន៍សម្រាប់ការលុបការចាប់ផ្ដើមគ្រឿងកុំព្យូទ័រ (ការចុះឈ្មោះគ្រឿងកុំព្យូទ័របានស្ដារទៅតម្លៃលំនាំដើមរបស់វា)។
- សំណុំនៃមុខងារក្នុងជួរសម្រាប់ការចូលដំណើរការចុះឈ្មោះដោយផ្ទាល់ និងអាតូមិច។
- ឯករាជ្យពេញលេញពី HAL និងសមត្ថភាពប្រើប្រាស់ក្នុងទម្រង់ឯកកោ (ដោយគ្មានកម្មវិធីបញ្ជា HAL) ។
- ការគ្របដណ្តប់ពេញលេញនៃលក្ខណៈពិសេសគ្រឿងកុំព្យូទ័រដែលគាំទ្រ។
ការប្រើប្រាស់គ្រឿងកុំព្យូទ័រជាមូលដ្ឋាន ឧamples
ស្រទាប់នេះរុំព័ទ្ធអតីតamples បានសាងសង់លើគ្រឿងកុំព្យូទ័រ STM32 ដោយប្រើតែធនធាន HAL និង BSP ប៉ុណ្ណោះ។
កម្រិត 1
កម្រិតនេះត្រូវបានបែងចែកជាពីរស្រទាប់រង៖
- សមាសធាតុឧបករណ៍កណ្តាល
- Examples ផ្អែកលើសមាសធាតុឧបករណ៍កណ្តាល
សមាសធាតុឧបករណ៍កណ្តាល
Middleware គឺជាសំណុំនៃបណ្ណាល័យដែលបានសាងសង់ជុំវិញ Microsoft® Azure® RTOS middleware និងខាងក្នុងផ្សេងទៀត (ដូចជា OpenBL) និង open-source (ដូចជា mbed-crypto) libraries។ ទាំងអស់ត្រូវបានរួមបញ្ចូល និងប្ដូរតាមបំណងសម្រាប់ឧបករណ៍ STM32 MCU និងសំបូរទៅដោយកម្មវិធីដែលត្រូវគ្នា ឧamples ផ្អែកលើផ្ទាំងផ្សព្វផ្សាយ។ អន្តរកម្មផ្តេករវាងធាតុផ្សំនៃស្រទាប់នេះត្រូវបានធ្វើឡើងដោយការហៅ APIs លក្ខណៈខណៈពេលដែលអន្តរកម្មបញ្ឈរជាមួយកម្មវិធីបញ្ជាស្រទាប់ទាបត្រូវបានធ្វើតាមរយៈការហៅត្រឡប់មកវិញជាក់លាក់ និងម៉ាក្រូឋិតិវន្តដែលបានអនុវត្តនៅក្នុងចំណុចប្រទាក់ហៅប្រព័ន្ធបណ្ណាល័យ។
លក្ខណៈសំខាន់ៗនៃសមាសភាគឧបករណ៍កណ្តាលនីមួយៗមានដូចខាងក្រោម៖
- ThreadX៖
ប្រព័ន្ធប្រតិបត្តិការតាមពេលវេលាពិត (RTOS) ដែលរចនាឡើងសម្រាប់ប្រព័ន្ធបង្កប់ ដែលមានមុខងារពីរ៖- របៀបទូទៅ៖ មុខងារ RTOS ទូទៅ ដូចជាការគ្រប់គ្រងខ្សែស្រឡាយ និងការធ្វើសមកាលកម្ម ការគ្រប់គ្រងអង្គចងចាំ ការផ្ញើសារ និងការដោះស្រាយព្រឹត្តិការណ៍។
- របៀបម៉ូឌុល៖ ជារបៀបប្រើប្រាស់កម្រិតខ្ពស់ដែលអនុញ្ញាតឱ្យផ្ទុក និងផ្ទុកម៉ូឌុល ThreadX ដែលបានភ្ជាប់ជាមុនតាមរយៈកម្មវិធីគ្រប់គ្រងម៉ូឌុល។
- FileX / LevelX៖
- ពន្លឺកម្រិតខ្ពស់ file ប្រព័ន្ធ (FS) / ស្រទាប់បកប្រែពន្លឺ (FTL): មានលក្ខណៈពិសេសពេញលេញដើម្បីគាំទ្រការចងចាំ NAND/NOR flash ។
- USBX៖
- ជង់ឧបករណ៍ USB មកជាមួយថ្នាក់ជាច្រើន (USB Type-C®) ។
- OpenBootloader៖
សមាសភាគឧបករណ៍កណ្តាលនេះផ្តល់នូវកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធបើកចំហដែលមានលក្ខណៈពិសេស និងឧបករណ៍ដូចគ្នាទៅនឹងកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធ STM32 ។ - បណ្ណាល័យ STM32 Touch Sensing៖
បណ្ណាល័យកម្មវិធីដែលប្រើដើម្បីគាំទ្រឧបករណ៍ចាប់សញ្ញាប៉ះជាមួយឧបករណ៍ចាប់សញ្ញា Touch Sensing Controller (TSC) ។ - MCUboot ។
- mbed-crypto៖
បណ្ណាល័យគ្រីបកូដប្រភពបើកចំហដែលគាំទ្រប្រតិបត្តិការគ្រីបគ្រីបយ៉ាងទូលំទូលាយ រួមទាំង៖- ការគ្រប់គ្រងគន្លឹះ។
- Hashing ។
- ការគ្រីបស៊ីមេទ្រី។
- ការគ្រីបមិនស៊ីមេទ្រី។
- ការផ្ទៀងផ្ទាត់សារ (MAC) ។
- ការបង្កើតនិងការបង្កើតគន្លឹះ។
- ការអ៊ិនគ្រីបដែលបានផ្ទៀងផ្ទាត់ជាមួយនឹងទិន្នន័យដែលពាក់ព័ន្ធ (AEAD) ។
Examples ផ្អែកលើសមាសធាតុឧបករណ៍កណ្តាល
សមាសធាតុឧបករណ៍កណ្តាលនីមួយៗភ្ជាប់មកជាមួយអតីតមួយ ឬច្រើន។amples (ហៅផងដែរថាកម្មវិធី) បង្ហាញពីរបៀបប្រើវា។ ការរួមបញ្ចូលឧamples ដែលប្រើសមាសធាតុកណ្តាលជាច្រើនត្រូវបានផ្តល់ជូនផងដែរ។
កម្រិត 2
កម្រិតនេះត្រូវបានផ្សំឡើងដោយស្រទាប់តែមួយដែលមានការបង្ហាញក្រាហ្វិកតាមពេលវេលាជាក់ស្តែង និងជាសកលដោយផ្អែកលើស្រទាប់សេវាកម្ម Middleware ស្រទាប់ abstraction កម្រិតទាប និងកម្មវិធីប្រើប្រាស់គ្រឿងកុំព្យូទ័រជាមូលដ្ឋានសម្រាប់លក្ខណៈពិសេសដែលមានមូលដ្ឋានលើក្តារ។
គាំទ្រឧបករណ៍ស៊េរី STM32CubeU0 និងផ្នែករឹង
- STM32Cube ផ្តល់នូវស្រទាប់អរូបីផ្នែករឹងចល័តខ្ពស់ (HAL) ដែលបង្កើតឡើងជុំវិញស្ថាបត្យកម្មទូទៅ។ វាអនុញ្ញាតឱ្យគោលការណ៍សាងសង់ឡើងលើស្រទាប់ ដូចជាការប្រើស្រទាប់កណ្តាលដើម្បីអនុវត្តមុខងាររបស់ពួកគេដោយមិនដឹងថា MCU ប្រើអ្វី។ វាធ្វើអោយប្រសើរឡើងនូវលទ្ធភាពប្រើប្រាស់ឡើងវិញនៃកូដបណ្ណាល័យ និងធានានូវភាពងាយស្រួលនៃការចល័តទៅកាន់ឧបករណ៍ផ្សេងទៀត។
- លើសពីនេះទៀត ដោយសារស្ថាបត្យកម្មស្រទាប់របស់វា STM32CubeU0 ផ្តល់នូវការគាំទ្រពេញលេញនៃឧបករណ៍ស៊េរី STM32U0 ទាំងអស់។
- អ្នកប្រើប្រាស់ត្រូវកំណត់ម៉ាក្រូត្រឹមត្រូវក្នុង stm32u0xx.h ប៉ុណ្ណោះ។
- តារាងទី 1 បង្ហាញម៉ាក្រូណាដែលត្រូវកំណត់ អាស្រ័យលើឧបករណ៍ស៊េរី STM32U0 ដែលបានប្រើ។ ម៉ាក្រូនេះក៏ត្រូវតែកំណត់នៅក្នុងកម្មវិធីចងក្រងជាមុនផងដែរ។
តារាង 1. ម៉ាក្រូសម្រាប់ STM32CubeU0
ម៉ាក្រូដែលបានកំណត់ក្នុង stm32u0xx.h | ឧបករណ៍ STM32U0 |
STM32U031x4 | STM32U031F4, STM32U031K4 |
STM32U031x6 | STM32U031F6, STM32U031K6, STM32U031C6, STM32U031R6, STM32U031G6 |
STM32U031x8 | STM32U031F8, STM32U031K8, STM32U031C8, STM32U031R8, STM32U031G8 |
STM32U073x8 | STM32U073K8, STM32U073H8, STM32U073C8, STM32U073R8, STM32U073M8 |
STM32U073xB | STM32U073KB, STM32U073HB, STM32U073CB, STM32U073RB, STM32U073MB |
STM32U073xC | STM32U073KC, STM32U073HC, STM32U073CC, STM32U073RC, STM32U073MC |
STM32U083xC | STM32U083KC, STM32U083HC, STM32U083CC, STM32U083RC, STM32U083MC |
STM32CubeU0 មានលក្ខណៈពិសេសជាច្រើននៃអតីតamples និងកម្មវិធីនៅគ្រប់កម្រិត ដែលធ្វើឱ្យវាងាយស្រួលយល់ និងប្រើកម្មវិធីបញ្ជា HAL និង/ឬសមាសធាតុផ្នែកកណ្តាលណាមួយ។ ទាំងនេះ អតីតamples ដំណើរការនៅលើក្តារ STMicroelectronics ដែលមានរាយក្នុងតារាងទី 2 ។
តារាង 2. ក្តារសម្រាប់ស៊េរី STM32CubeU0
ក្តារ | ឧបករណ៍ STM32CubeU0 ដែលគាំទ្រ |
NUCLEO-U031R8 | STM32U031xx |
NUCLEO-U083RC | STM32U073xx, STM32U083xx |
STM32U083C-DK | STM332U073xx, STM32U083xx |
កញ្ចប់ MCU STM32CubeU0 អាចដំណើរការលើផ្នែករឹងដែលត្រូវគ្នាទាំងអស់។ អ្នកប្រើធ្វើបច្ចុប្បន្នភាពកម្មវិធីបញ្ជា BSP ដើម្បីច្រកឧamples នៅលើក្តារផ្ទាល់ខ្លួនរបស់ពួកគេប្រសិនបើក្រោយមកទៀតមានលក្ខណៈពិសេសផ្នែករឹងដូចគ្នា (ដូចជា LED, LCD និងប៊ូតុង) ។
កញ្ចប់ MCU ចប់view
ដំណោះស្រាយកញ្ចប់ STM32CubeU0 MCU ត្រូវបានផ្តល់ជូនក្នុងកញ្ចប់ហ្ស៊ីបតែមួយ ជាមួយនឹងរចនាសម្ព័ន្ធបង្ហាញក្នុងរូបភាពទី 3 ។
រូបភាពទី 3. STM32CubeU0 MCU រចនាសម្ព័ន្ធកញ្ចប់
សម្រាប់ក្រុមប្រឹក្សាភិបាលនីមួយៗសំណុំនៃអតីតamples ត្រូវបានផ្តល់ជូនជាមួយនឹងគម្រោងដែលបានកំណត់ទុកជាមុនសម្រាប់ EWARM, MDK-ARM, និង STM32CubeIDE toolchains ។
រូបភាពទី 4 បង្ហាញពីរចនាសម្ព័ន្ធគម្រោងសម្រាប់បន្ទះ STM32U0xx_Nucleo ។
អតីតamples ត្រូវបានចាត់ថ្នាក់តាមកម្រិត STM32Cube ដែលពួកគេអនុវត្ត ហើយត្រូវបានដាក់ឈ្មោះដូចបានពន្យល់ខាងក្រោម៖
- កម្រិត 0 ឧamples ត្រូវបានគេហៅថា "Examples", "ឧamples_LL” និង “Examples_MIX”។ ពួកគេប្រើរៀងៗខ្លួន កម្មវិធីបញ្ជា HAL កម្មវិធីបញ្ជា LL និងកម្មវិធីបញ្ជា HAL និង LL ចម្រុះដោយមិនមានធាតុផ្សំផ្នែកកណ្តាលណាមួយឡើយ។
- កម្រិត 1 ឧamples ត្រូវបានគេហៅថាកម្មវិធី។ ពួកគេផ្តល់នូវករណីប្រើប្រាស់ធម្មតានៃសមាសភាគឧបករណ៍កណ្តាលនីមួយៗ។
កម្មវិធីកម្មវិធីបង្កប់ណាមួយសម្រាប់ក្តារដែលបានផ្តល់ឱ្យអាចត្រូវបានសាងសង់យ៉ាងឆាប់រហ័សដោយប្រើគម្រោងគំរូដែលមាននៅក្នុងថតឯកសារ Templates និង Templates_LL ។
ទាំងអស់អតីតamples មានរចនាសម្ព័ន្ធដូចគ្នា៖
- ថតឯកសារ \Inc ដែលមានបឋមកថាទាំងអស់។ files.
- ថត \\ Src សម្រាប់កូដប្រភព។
- ថត \EWARM, \MDK-ARM និង \STM32CubeIDE ដែលមានគម្រោងដែលបានកំណត់ទុកជាមុនសម្រាប់ខ្សែសង្វាក់ឧបករណ៍នីមួយៗ។
- readme.txt file ការពិពណ៌នាអំពីអតីតampលក្ខខណ្ឌនៃអាកប្បកិរិយា និងបរិស្ថានដើម្បីធ្វើឱ្យវាដំណើរការ។
- មួយ *.ioc fileអនុញ្ញាតឱ្យអ្នកប្រើបើកកម្មវិធីបង្កប់ភាគច្រើន examples ក្នុង STM32CubeMX (ចាប់ផ្តើមពី STM32CubeMX 6.11)។
តារាងទី 3. ចំនួនអតីតamples សម្រាប់បន្ទះនីមួយៗ
កម្រិត | NUCLEO-U031R8 | NUCLEO-U083RC | STM32U083C-DK | សរុប |
កម្មវិធី | 2 | 8 | 9 | 19 |
បាតុកម្ម | 0 | 0 | 1 | 1 |
Examples | 28 | 104 | 30 | 162 |
Examples_LL | 3 | 78 | 1 | 82 |
Examples_MIX | 0 | 14 | 0 | 14 |
គំរូ | 1 | 1 | 1 | 3 |
Templates_LL | 1 | 1 | 1 | 3 |
គម្រោងសរុប | 35 | 206 | 43 | 284 |
ដូចដែលបានបង្ហាញក្នុងតារាងទី 3 ខាងលើ កញ្ចប់ STM32CubeU0 មាន 284 ឧamples ត្រូវបានបញ្ជូននៅលើក្តារចំនួន 3 ដែល 193 គឺជាអតីតតែមួយគត់amples ។
ចាប់ផ្តើមជាមួយ STM32CubeU0
ដំណើរការអតីតអតីតample
ផ្នែកនេះពន្យល់ពីរបៀបដំណើរការ ex ទីមួយample នៅលើបន្ទះស៊េរី STM32U0 បិទបើក LED នៅលើបន្ទះ NUCLEO-U083RC ។
ចំណាំ
- ទាញយកកញ្ចប់ STM32CubeU0 MCU ហើយពន្លាវាទៅក្នុងថតដាច់ដោយឡែកមួយដោយមិនកែប្រែរចនាសម្ព័ន្ធកញ្ចប់ដូចដែលបានបង្ហាញក្នុងរូបភាពទី 3ample C:\Eval ឬ G:\Tests) ព្រោះ IDEs ខ្លះអាចជួបប្រទះបញ្ហានៅពេលដែលផ្លូវវែងពេក។
- រុករកទៅ \Projects\NUCLEO-U083RC\Examples ។
- បើក \GPIO បន្ទាប់មកថត \GPIO_EXTI ។
- បើកគម្រោងដោយប្រើខ្សែសង្វាក់ឧបករណ៍ដែលពេញចិត្ត។ លឿនជាងview អំពីរបៀបបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រត្រូវបានផ្តល់ឱ្យខាងក្រោម។
- កសាងឡើងវិញទាំងអស់។ files ហើយផ្ទុករូបភាពទៅក្នុងអង្គចងចាំគោលដៅ។
- រត់អតីតample: រាល់ពេលដែលប៊ូតុងរុញរបស់ USER ត្រូវបានចុច នោះ LED1 បិទបើក (សម្រាប់ព័ត៌មានលម្អិត សូមមើលអតីតampអានខ្ញុំ file).
ដើម្បីបើក បង្កើត និងដំណើរការអតីតample ជាមួយ toolchains ដែលគាំទ្រ សូមអនុវត្តតាមជំហានខាងក្រោម។
ក្តៅ
- បើកថតរង \EWARM នៅក្នុង exampថតឯកសារ។
- បើកដំណើរការកន្លែងធ្វើការ Project.eww ។
- ឈ្មោះកន្លែងធ្វើការអាចខុសគ្នាពីអតីតមួយ។ampឡេទៅមួយទៀត។
ចំណាំ
- កសាងឡើងវិញទាំងអស់។ files: [គម្រោង]> [កសាងឡើងវិញទាំងអស់]។
- ផ្ទុករូបភាពគម្រោង៖ [គម្រោង]> [បំបាត់កំហុស]។
- ដំណើរការកម្មវិធី៖ [Debug]>[Go (F5)]។
MDK-ARM៖
- បើកថតរង \MDK-ARM នៅក្នុង exampថតឯកសារ។ បើកដំណើរការគម្រោង។ កន្លែងធ្វើការ uvprojx ។
- ឈ្មោះកន្លែងធ្វើការអាចខុសគ្នាពីអតីតមួយ។ampឡេទៅមួយទៀត។
- កសាងឡើងវិញទាំងអស់។ files: [គម្រោង]>[កសាងឡើងវិញនូវគោលដៅទាំងអស់។ files] ។
- ផ្ទុករូបភាពគម្រោង៖ [គម្រោង]> [ចាប់ផ្តើម/បញ្ឈប់វគ្គបំបាត់កំហុស]។
- ដំណើរការកម្មវិធី៖ [បំបាត់កំហុស]> [រត់ (F5)] ។
STM32CubeIDE
- បើកខ្សែសង្វាក់ឧបករណ៍ STM32CubeIDE ។
- ចុចលើ [File]>[Switch Workspace]>[Other] ហើយរកមើលទៅកាន់ថតកន្លែងធ្វើការ STM32CubeIDE។
- ចុចលើ [File]>[នាំចូល] ជ្រើសរើស [ទូទៅ]>[គម្រោងដែលមានស្រាប់ទៅក្នុងកន្លែងធ្វើការ] ហើយចុច [បន្ទាប់]។
- រកមើលទៅកាន់ថតកន្លែងធ្វើការ STM32CubeIDE ហើយជ្រើសរើសគម្រោង។
- សាងសង់ឡើងវិញនូវគម្រោងទាំងអស់។ files៖ ជ្រើសរើសគម្រោងក្នុងបង្អួច Project Explorer បន្ទាប់មកចុចលើម៉ឺនុយ [គម្រោង]> [គម្រោងសាងសង់]។
- ដំណើរការកម្មវិធី៖ [រត់]> [បំបាត់កំហុស (F11)] ។
បង្កើតកម្មវិធីផ្ទាល់ខ្លួន
ការប្រើប្រាស់ STM32CubeMX ដើម្បីអភិវឌ្ឍ ឬធ្វើបច្ចុប្បន្នភាពកម្មវិធី
នៅក្នុងកញ្ចប់ MCU STM32CubeU0 ទាំងអស់ ឧampគម្រោង le ត្រូវបានបង្កើតជាមួយឧបករណ៍ STM32CubeMX ដើម្បីចាប់ផ្តើមប្រព័ន្ធ គ្រឿងកុំព្យូទ័រ និងឧបករណ៍កណ្តាល។
ការប្រើប្រាស់ដោយផ្ទាល់នៃអតីតដែលមានស្រាប់ampគម្រោងពីឧបករណ៍ STM32CubeMX ទាមទារ STM32CubeMX 6.11 ឬខ្ពស់ជាងនេះ។
- បន្ទាប់ពីការដំឡើង 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)។
សម្រាប់បញ្ជីនៃ example គម្រោងសម្រាប់ STM32CubeU0 សូមមើលកម្មវិធីបង្កប់កម្មវិធី STM32Cubeamples សម្រាប់ស៊េរី STM32U0 (AN6063) ។
កម្មវិធី HAL
ផ្នែកនេះពិពណ៌នាអំពីជំហានដែលត្រូវការដើម្បីបង្កើតកម្មវិធី HAL ផ្ទាល់ខ្លួនដោយប្រើ STM32CubeU0 ។
- បង្កើតគម្រោងមួយ។
ដើម្បីបង្កើតគម្រោងថ្មី ចាប់ផ្តើមពីគម្រោងគំរូ ដែលផ្តល់ជូនសម្រាប់ក្រុមប្រឹក្សាភិបាលនីមួយៗក្នុង \Projects\ \ គំរូ ឬពីគម្រោងដែលមាននៅក្នុង \Projects \ ឧamples ឬ \\ គម្រោង \\ \\ កម្មវិធី (កន្លែងណា សំដៅលើឈ្មោះក្រុមប្រឹក្សាភិបាល ដូចជា NUCLEO-U32RC)។
គម្រោងគំរូផ្តល់តែមុខងាររង្វិលជុំមេទទេ ដែលជាចំណុចចាប់ផ្តើមដ៏ល្អសម្រាប់ការយល់ដឹងអំពីការកំណត់គម្រោង STM32CubeU0 ។ គំរូមានលក្ខណៈដូចខាងក្រោមៈ- វាមានកូដប្រភព HAL និង CMSIS និងកម្មវិធីបញ្ជា BSP ដែលបង្កើតជាសំណុំអប្បបរមានៃសមាសភាគដែលត្រូវការដើម្បីបង្កើតកូដនៅលើក្តារដែលបានផ្តល់ឱ្យ។
- វាមានផ្លូវរួមបញ្ចូលសម្រាប់សមាសធាតុកម្មវិធីបង្កប់ទាំងអស់។
- វាកំណត់ឧបករណ៍ស៊េរី STM32U0 ដែលគាំទ្រដោយអនុញ្ញាតឱ្យកំណត់រចនាសម្ព័ន្ធកម្មវិធីបញ្ជា CMSIS និង HAL ។
- វាផ្តល់ជូនអ្នកប្រើប្រាស់ដែលត្រៀមរួចជាស្រេច files ដែលត្រូវបានកំណត់ជាមុនដូចបានបង្ហាញខាងក្រោម៖
- HAL បានចាប់ផ្តើមជាមួយនឹងមូលដ្ឋានពេលវេលាលំនាំដើមជាមួយ Arm® core SysTick ។
- SysTick ISR ត្រូវបានអនុវត្តសម្រាប់គោលបំណង HAL_Delay() ។
- នៅពេលចម្លងគម្រោងដែលមានស្រាប់ទៅទីតាំងផ្សេងទៀត ត្រូវប្រាកដថាផ្លូវដែលរួមបញ្ចូលទាំងអស់ត្រូវបានធ្វើបច្ចុប្បន្នភាព។
- បន្ថែមឧបករណ៍កណ្តាលចាំបាច់ទៅក្នុងគម្រោង (ជាជម្រើស)
ជង់ឧបករណ៍កណ្តាលដែលមានគឺបណ្ណាល័យ USBX, Azure® RTOS, Touch Sensing ។ ដើម្បីកំណត់អត្តសញ្ញាណប្រភព files ដែលត្រូវបន្ថែមទៅក្នុងគម្រោង file បញ្ជី, យោងទៅឯកសារដែលបានផ្តល់សម្រាប់សមាសភាគឧបករណ៍កណ្តាលនីមួយៗ។ សូមមើលកម្មវិធីនៅក្នុង \Projects\STM32xxx_yyy\Applications\ (កន្លែងណា សំដៅទៅជង់ឧបករណ៍កណ្តាល ដូចជា USBX) ដើម្បីដឹងថាប្រភពណា files និងរួមបញ្ចូលផ្លូវដែលត្រូវបន្ថែម។ - កំណត់រចនាសម្ព័ន្ធសមាសធាតុកម្មវិធីបង្កប់
សមាសធាតុ HAL និង Middleware ផ្តល់ជូននូវជម្រើសនៃការកំណត់រចនាសម្ព័ន្ធពេលវេលាសាងសង់ ដោយប្រើម៉ាក្រូ (#define) ដែលបានប្រកាសនៅក្នុងបឋមកថា file. ការកំណត់រចនាសម្ព័ន្ធគំរូ file ត្រូវបានផ្ដល់ក្នុងសមាសភាគនីមួយៗដែលត្រូវចម្លងទៅថតគម្រោង (ជាធម្មតាការកំណត់រចនាសម្ព័ន្ធ file ត្រូវបានដាក់ឈ្មោះថា xxx_conf_template.h និងពាក្យ
"_template" ត្រូវការដកចេញនៅពេលចម្លងវាទៅថតគម្រោង) ។ ការកំណត់រចនាសម្ព័ន្ធ file ផ្តល់ព័ត៌មានគ្រប់គ្រាន់ដើម្បីយល់ពីផលប៉ះពាល់នៃជម្រើសនៃការកំណត់រចនាសម្ព័ន្ធនីមួយៗ។ ព័ត៌មានបន្ថែមមាននៅក្នុងឯកសារដែលបានផ្តល់សម្រាប់សមាសធាតុនីមួយៗ។ - ចាប់ផ្តើមបណ្ណាល័យ HAL
បន្ទាប់ពីលោតទៅកម្មវិធីមេ កូដកម្មវិធីត្រូវតែហៅទៅ HAL_Init() API ដើម្បីចាប់ផ្តើមបណ្ណាល័យ HAL ដែលបំពេញការងារដូចខាងក្រោម៖- ការកំណត់រចនាសម្ព័ន្ធនៃ flash memory prefetch និង SysTick រំខានអាទិភាព (តាមរយៈម៉ាក្រូដែលបានកំណត់ក្នុង stm3 2u0xx_hal_conf.h) ។
- ការកំណត់រចនាសម្ព័ន្ធ SysTick ដើម្បីបង្កើតការរំខានរាល់មីលីវិនាទីនៅ SysTick interrupt អាទិភាព TICK_INT_PRIORITY ដែលកំណត់ក្នុង stm32u0xx_hal_conf.h ដែលកំណត់ដោយ MSI (នៅ stage, នាឡិកាមិនទាន់ត្រូវបានកំណត់រចនាសម្ព័ន្ធនៅឡើយទេ ហើយប្រព័ន្ធកំពុងដំណើរការពីខាងក្នុង 16 MHz MSI)។
- កំណត់អាទិភាពក្រុម NVIC ទៅ 0 ។
- ការហៅទៅមុខងារហៅត្រឡប់មកវិញ HAL_MspInit() ដែលបានកំណត់ក្នុងអ្នកប្រើប្រាស់ stm32u0xx_hal_msp.c file ដើម្បីអនុវត្តការចាប់ផ្តើមផ្នែករឹងកម្រិតទាបជាសកល។
- កំណត់រចនាសម្ព័ន្ធនាឡិកា
ការកំណត់រចនាសម្ព័ន្ធនាឡិកាប្រព័ន្ធត្រូវបានធ្វើឡើងដោយហៅ APIs ទាំងពីរដែលបានពិពណ៌នាខាងក្រោម៖
– HAL_RCC_OscConfig(): API នេះកំណត់រចនាសម្ព័ន្ធលំយោលខាងក្នុង និង/ឬខាងក្រៅ ក៏ដូចជាប្រភព និងកត្តា PLL ។ អ្នកប្រើប្រាស់ជ្រើសរើសដើម្បីកំណត់រចនាសម្ព័ន្ធលំយោលមួយ ឬទាំងអស់។ ពួកគេអាចរំលងការកំណត់រចនាសម្ព័ន្ធ PLL ប្រសិនបើមិនចាំបាច់ដំណើរការប្រព័ន្ធនៅប្រេកង់ខ្ពស់។
– HAL_RCC_ClockConfig(): API នេះកំណត់រចនាសម្ព័ន្ធប្រភពនាឡិកាប្រព័ន្ធ, ភាពយឺតនៃអង្គចងចាំពន្លឺ,
កុមារមត្តេយ្យសិក្សា AHB និងកុមារមត្តេយ្យ APB ។
ចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ- ដំបូង សរសេរអនុគមន៍ HAL_PPP_MspInit គ្រឿងកុំព្យូទ័រដោយបន្តដូចខាងក្រោម៖
- បើកនាឡិកាគ្រឿងកុំព្យូទ័រ។
- កំណត់រចនាសម្ព័ន្ធ GPIOs គ្រឿងកុំព្យូទ័រ។
- កំណត់រចនាសម្ព័ន្ធឆានែល DMA និងបើកការរំខាន DMA (ប្រសិនបើចាំបាច់) ។
- បើកការរំខានគ្រឿងកុំព្យូទ័រ (បើចាំបាច់)។
- កែសម្រួល stm32xxx_it.c ដើម្បីហៅទៅឧបករណ៍ដោះស្រាយការរំខានដែលត្រូវការ (គ្រឿងកុំព្យូទ័រ និង DMA) បើចាំបាច់។
- សរសេរដំណើរការបំពេញមុខងារហៅត្រឡប់មកវិញ ប្រសិនបើគ្រឿងកុំព្យូទ័ររំខាន ឬ DMA នឹងត្រូវបានប្រើ។
- នៅក្នុង main.c ចាប់ផ្តើមរចនាសម្ព័ន្ធចំណុចទាញគ្រឿងកុំព្យូទ័រ បន្ទាប់មកហៅមុខងារ HAL_PPP_Init() ដើម្បីចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ។
- អភិវឌ្ឍកម្មវិធី
នៅ សtage ប្រព័ន្ធរួចរាល់ហើយ ការអភិវឌ្ឍន៍កូដកម្មវិធីអ្នកប្រើប្រាស់អាចចាប់ផ្តើម។- HAL ផ្តល់នូវ APIs វិចារណញាណ និងរួចរាល់ក្នុងការប្រើប្រាស់ដើម្បីកំណត់រចនាសម្ព័ន្ធគ្រឿងកុំព្យូទ័រ។ វាគាំទ្រការស្ទង់មតិ ការរំខាន និងគំរូកម្មវិធី DMA ដើម្បីបំពេញតម្រូវការកម្មវិធីណាមួយ។ សម្រាប់ព័ត៌មានលម្អិតបន្ថែមអំពីរបៀបប្រើគ្រឿងកុំព្យូទ័រនីមួយៗ សូមមើលអតីតអ្នកមានampសំណុំដែលបានផ្តល់ឱ្យនៅក្នុងកញ្ចប់ MCU STM32CubeU0 ។
- ប្រសិនបើកម្មវិធីមានឧបសគ្គក្នុងពេលជាក់ស្តែង STM32CubeU0 ផ្តល់នូវសំណុំនៃអតីតamples បង្ហាញពីរបៀបប្រើ FreeRTOS™ និងរួមបញ្ចូលវាជាមួយឧបករណ៍កណ្តាលទាំងអស់ ដែលធ្វើឱ្យវាក្លាយជាចំណុចចាប់ផ្តើមដ៏ល្អសម្រាប់បង្កើតកម្មវិធី
ការប្រុងប្រយ័ត្ន
ប្រយ័ត្ន៖ នៅក្នុងការអនុវត្ត HAL លំនាំដើម កម្មវិធីកំណត់ពេលវេលា SysTick ត្រូវបានប្រើជាមូលដ្ឋានពេលវេលា។ វាបង្កើតការរំខាននៅចន្លោះពេលទៀងទាត់។ ប្រសិនបើ HAL_Delay() ត្រូវបានហៅចេញពីដំណើរការ ISR គ្រឿងកុំព្យូទ័រ ត្រូវប្រាកដថាការរំខាន SysTick មានអាទិភាពខ្ពស់ (ជាលេខទាបជាង) ជាងការរំខានគ្រឿងកុំព្យូទ័រ។ បើមិនដូច្នោះទេ ដំណើរការ ISR អ្នកហៅចូលត្រូវបានរារាំង។ មុខងារដែលប៉ះពាល់ដល់ការកំណត់រចនាសម្ព័ន្ធពេលវេលាត្រូវបានប្រកាសថា __weak ដើម្បីធ្វើឱ្យការបដិសេធអាចធ្វើទៅបានក្នុងករណីមានការអនុវត្តផ្សេងទៀតនៅក្នុងអ្នកប្រើប្រាស់ file (ដោយប្រើកម្មវិធីកំណត់ពេលវេលាគោលបំណងទូទៅ ឬប្រភពពេលវេលាផ្សេងទៀត)។ សម្រាប់ព័ត៌មានលម្អិត សូមមើល HAL_TimeBase exampលេ
ការដាក់ពាក្យ
- ផ្នែកនេះពិពណ៌នាអំពីជំហានដែលត្រូវការដើម្បីបង្កើតកម្មវិធី LL ផ្ទាល់ខ្លួនដោយប្រើ STM32CubeU0 ។
បង្កើតគម្រោងមួយ។
ដើម្បីបង្កើតគម្រោងថ្មី ចាប់ផ្តើមពីគម្រោង Templates_LL ដែលផ្តល់សម្រាប់ក្រុមប្រឹក្សាភិបាលនីមួយៗក្នុង \Projects\ \Templates_LL ឬពីគម្រោងដែលមាននៅក្នុង \Projects\ \ ឧampឡេ s_LL ( សំដៅលើឈ្មោះក្រុមប្រឹក្សាភិបាល ដូចជា NUCLEO-U32RC)។
គម្រោងគំរូផ្តល់នូវមុខងាររង្វិលជុំមេទទេ ដែលជាចំណុចចាប់ផ្តើមដ៏ល្អសម្រាប់ការយល់ដឹងអំពីការកំណត់គម្រោង STM32CubeU0 ។ គំរូមានលក្ខណៈដូចខាងក្រោមៈ
- វាមានកូដប្រភពនៃកម្មវិធីបញ្ជា LL និង CMSIS ដែលបង្កើតជាសំណុំអប្បបរមានៃសមាសភាគដែលត្រូវការដើម្បីបង្កើតកូដនៅលើក្តារដែលបានផ្តល់ឱ្យ។
- វាមានផ្លូវរួមបញ្ចូលសម្រាប់សមាសធាតុកម្មវិធីបង្កប់ដែលត្រូវការទាំងអស់។
- វាជ្រើសរើសឧបករណ៍ស៊េរី STM32U0 ដែលគាំទ្រ និងអនុញ្ញាតឱ្យកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវនៃកម្មវិធីបញ្ជា CMSIS និង LL ។
- វាផ្តល់ជូនអ្នកប្រើប្រាស់ដែលត្រៀមរួចជាស្រេច files ដែលត្រូវបានកំណត់ជាមុនដូចខាងក្រោមៈ
- main.h: LED និង USER_BUTTON និយមន័យស្រទាប់អរូបី។
- main.c: ការកំណត់រចនាសម្ព័ន្ធនាឡិកាប្រព័ន្ធសម្រាប់ប្រេកង់អតិបរមា។
ច្រកគម្រោងដែលមានស្រាប់ទៅកាន់ក្តារផ្សេងទៀត។
- ចាប់ផ្តើមពីគម្រោង Templates_LL ដែលផ្តល់សម្រាប់ក្រុមប្រឹក្សាភិបាលនីមួយៗ ដែលមាននៅក្នុង \Projects\ ថតឯកសារ \ Templates_LL ។
- ជ្រើសរើស LL exampលេ
ចំណាំ៖ ដើម្បីស្វែងរកក្តារដែល LL examples ត្រូវបានដាក់ពង្រាយ យោងទៅបញ្ជីនៃ LL examples ក្នុង STM32CubePro jectsList.html ។
ច្រក LL example
- ចម្លង/បិទភ្ជាប់ថត Templates_LL ដើម្បីរក្សាប្រភពដំបូង ឬធ្វើបច្ចុប្បន្នភាពដោយផ្ទាល់នូវគម្រោង Templat es_LL ដែលមានស្រាប់។
- ជំនួស Templates_LL files ជាមួយ Exampគម្រោងគោលដៅ les_LL files.
- រក្សាផ្នែកជាក់លាក់នៃក្តារទាំងអស់។ សម្រាប់ហេតុផលច្បាស់លាស់ ផ្នែកជាក់លាក់នៃក្តារត្រូវបានសម្គាល់ដោយជាក់លាក់ដូចខាងក្រោម tags:
ជំហានសំខាន់នៃការបញ្ជូនមានដូចខាងក្រោម៖
- ជំនួស stm32u0xx_it.h file.
- ជំនួស stm32u0xx_it.c file.
- ជំនួស main.h file និងធ្វើបច្ចុប្បន្នភាពវា។ រក្សាការកំណត់ LED និងប៊ូតុងអ្នកប្រើប្រាស់ពីគំរូ LL នៅក្រោម "ការកំណត់រចនាសម្ព័ន្ធជាក់លាក់នៃក្រុមប្រឹក្សា" tags.
- ជំនួស main.c file ហើយធ្វើបច្ចុប្បន្នភាពវា៖
- រក្សាការកំណត់រចនាសម្ព័ន្ធនាឡិកានៃមុខងារគំរូ SystemClock_Config() LL នៅក្រោម
"ការកំណត់រចនាសម្ព័ន្ធជាក់លាក់របស់ក្រុមប្រឹក្សាភិបាល" tags. - អាស្រ័យលើនិយមន័យ LED ជំនួសការកើតឡើង LEDx នីមួយៗជាមួយនឹង LEDy ផ្សេងទៀតដែលមាននៅក្នុង main.h file.
ជាមួយនឹងការកែប្រែទាំងនេះ ឧampឥឡូវនេះ le អាចដំណើរការនៅលើក្តារដែលបានកំណត់។
- រក្សាការកំណត់រចនាសម្ព័ន្ធនាឡិកានៃមុខងារគំរូ SystemClock_Config() LL នៅក្រោម
ទទួលបានបច្ចុប្បន្នភាពនៃការចេញផ្សាយ STM32CubeU0
កញ្ចប់ MCU STM32CubeU0 ភ្ជាប់មកជាមួយឧបករណ៍ប្រើប្រាស់កម្មវិធីធ្វើបច្ចុប្បន្នភាព STM32CubeUpdater ក៏មានជាម៉ឺនុយនៅក្នុងឧបករណ៍បង្កើតកូដ STM32CubeMX ផងដែរ។
ដំណោះស្រាយកម្មវិធីអាប់ដេតរកឃើញការចេញផ្សាយកម្មវិធីបង្កប់ថ្មី និងបំណះដែលអាចរកបានពី ហើយស្នើឱ្យទាញយកពួកវាទៅកុំព្យូទ័ររបស់អ្នកប្រើ។
ការដំឡើង និងដំណើរការកម្មវិធី STM32CubeUpdater
អនុវត្តតាមជំហានខាងក្រោមដើម្បីដំឡើង និងដំណើរការ STM32CubeUpdater ។
- ចុចពីរដងលើ SetupSTM32CubeUpdater.exe file ដើម្បីចាប់ផ្តើមការដំឡើង។
- ទទួលយកលក្ខខណ្ឌអាជ្ញាប័ណ្ណ ហើយអនុវត្តតាមជំហានដំឡើងផ្សេងគ្នា។
- នៅពេលដំឡើងដោយជោគជ័យ STM32CubeUpdater អាចប្រើបានជាកម្មវិធី STMicroelectronics នៅក្នុងកម្មវិធី Files folder ហើយត្រូវបានបើកដំណើរការដោយស្វ័យប្រវត្តិ។ រូបតំណាង STM32CubeUpdater លេចឡើងក្នុងថាសប្រព័ន្ធ។
- ចុចកណ្ដុរស្ដាំលើរូបតំណាងកម្មវិធីអាប់ដេត ហើយជ្រើសរើស [ការកំណត់អាប់ដេត] ដើម្បីកំណត់រចនាសម្ព័ន្ធការតភ្ជាប់កម្មវិធីអាប់ដេត និងថាតើត្រូវធ្វើការពិនិត្យដោយដៃ ឬដោយស្វ័យប្រវត្តិ។
សម្រាប់ព័ត៌មានលម្អិតអំពីការកំណត់រចនាសម្ព័ន្ធអាប់ដេត សូមមើលផ្នែកទី 3 នៃសៀវភៅណែនាំអ្នកប្រើប្រាស់ STM32CubeMX សម្រាប់ការកំណត់រចនាសម្ព័ន្ធ STM32 និងការចាប់ផ្ដើមបង្កើតកូដ C (UM1718)។
សំណួរគេសួរញឹកញាប់
តើគ្រោងការណ៍អាជ្ញាប័ណ្ណសម្រាប់កញ្ចប់ STM32CubeU0 MCU គឺជាអ្វី?
HAL ត្រូវបានចែកចាយក្រោមអាជ្ញាប័ណ្ណ BSD (ការចែកចាយកម្មវិធី berkeley) ដែលមិនមានការរឹតបន្តឹង។ ជង់ឧបករណ៍កណ្តាលដែលផលិតដោយ STMicroelectronics (បណ្ណាល័យឧបករណ៍ USB, STM32_TouchSensing) ភ្ជាប់មកជាមួយគំរូអាជ្ញាប័ណ្ណដែលអនុញ្ញាតឱ្យប្រើឡើងវិញបានយ៉ាងងាយស្រួល ដោយផ្តល់ឱ្យវាដំណើរការលើឧបករណ៍ STMicroelectronics ។ សមាសធាតុឧបករណ៍កណ្តាលដោយផ្អែកលើដំណោះស្រាយប្រភពបើកចំហល្បី (FreeRTOS™ និង FatFS) មានលក្ខខណ្ឌអាជ្ញាប័ណ្ណងាយស្រួលប្រើ។ សម្រាប់ព័ត៌មានលម្អិត សូមមើលកិច្ចព្រមព្រៀងអាជ្ញាបណ្ណផ្នែកកណ្តាលដែលពាក់ព័ន្ធ។
តើបន្ទះអ្វីខ្លះដែលត្រូវបានគាំទ្រដោយកញ្ចប់ MCU STM32CubeU0?
កញ្ចប់ MCU STM32CubeU0 ផ្តល់នូវកម្មវិធីបញ្ជា BSP និង ឧamples សម្រាប់បន្ទះស៊េរី STM32CubeU0 ខាងក្រោម៖ • NUCLEO-U031R8 • NUCLEO-U083RC • STM32U083C-DK
តើមានអតីតទេ?amples បានផ្តល់ជាមួយនឹងគម្រោងឧបករណ៍ត្រៀមសម្រាប់ប្រើហើយឬនៅ?
បាទ។ STM32CubeU0 ផ្តល់នូវសំណុំសម្បូរបែបនៃអតីតamples និងកម្មវិធី។ ពួកគេមកជាមួយគម្រោងដែលបានកំណត់ទុកជាមុនសម្រាប់ IAR Embedded Workbench®, Keil® និង STM32CubeIDE។
តើមានតំណភ្ជាប់ជាមួយបណ្ណាល័យគ្រឿងកុំព្យូទ័រស្តង់ដារដែរឬទេ?
កម្មវិធីបញ្ជា STM32CubeU0 HAL និង LL គឺជាការជំនួសបណ្ណាល័យគ្រឿងកុំព្យូទ័រស្តង់ដារ៖ • កម្មវិធីបញ្ជា HAL ផ្តល់នូវកម្រិតអរូបីខ្ពស់ជាងបើប្រៀបធៀបទៅនឹង APIs គ្រឿងកុំព្យូទ័រស្តង់ដារ។ ពួកគេផ្តោតលើលក្ខណៈពិសេសដែលជារឿងធម្មតាសម្រាប់គ្រឿងកុំព្យូទ័រជាជាងផ្នែករឹង។ សំណុំនៃ API ដែលងាយស្រួលប្រើអនុញ្ញាតឱ្យមានកម្រិតអរូបីខ្ពស់ជាងមុន ដែលធ្វើឱ្យវាអាចចល័តបានយ៉ាងងាយស្រួលពីផលិតផលមួយទៅផលិតផលមួយទៀត។ • កម្មវិធីបញ្ជា LL ផ្តល់ជូននូវ APIs កម្រិតចុះឈ្មោះកម្រិតទាប។ ពួកគេត្រូវបានរៀបចំតាមរបៀបសាមញ្ញ និងច្បាស់លាស់ជាងមុន ដើម្បីជៀសវាងការចូលចុះឈ្មោះដោយផ្ទាល់។ កម្មវិធីបញ្ជា LL ក៏រួមបញ្ចូលផងដែរនូវ APIs ការចាប់ផ្តើមគ្រឿងកុំព្យូទ័រ ដែលត្រូវបានធ្វើឱ្យប្រសើរឡើងជាងបើប្រៀបធៀបទៅនឹងអ្វីដែល SPL ផ្តល់ជូន ខណៈពេលដែលមានមុខងារស្រដៀងគ្នា។ បើប្រៀបធៀបទៅនឹងកម្មវិធីបញ្ជា HAL, APIs ចាប់ផ្តើម LL ទាំងនេះអនុញ្ញាតឱ្យមានការចំណាកស្រុកត្រង់ពី SPL ទៅកម្មវិធីបញ្ជា STM32CubeU0 LL ចាប់តាំងពី SPL API នីមួយៗមាន LL API ដែលសមមូលរបស់វា។
តើស្រទាប់ HAL យក advantage នៃការរំខានឬ DMA? តើនេះអាចគ្រប់គ្រងដោយរបៀបណា?
បាទ។ ស្រទាប់ HAL គាំទ្រគំរូកម្មវិធី API ចំនួនបី៖ ការស្ទង់មតិ ការរំខាន និង DMA (មាន ឬគ្មានការរំខាន)។
តើផលិតផល-/លក្ខណៈជាក់លាក់នៃគ្រឿងកុំព្យូទ័រត្រូវបានគ្រប់គ្រងដោយរបៀបណា?
កម្មវិធីបញ្ជា HAL ផ្តល់ជូននូវ APIs បន្ថែម ដែលជាមុខងារជាក់លាក់ដែលត្រូវបានផ្តល់ជាកម្មវិធីបន្ថែមទៅ API ទូទៅ ដើម្បីគាំទ្រលក្ខណៈពិសេសដែលមាននៅលើផលិតផល/បន្ទាត់មួយចំនួនប៉ុណ្ណោះ។
តើ STM32CubeMX អាចបង្កើតកូដដោយផ្អែកលើកម្មវិធីដែលបានបង្កប់ដោយរបៀបណា?
STM32CubeMX មានចំណេះដឹងដែលភ្ជាប់មកជាមួយនូវឧបករណ៍បញ្ជាមីក្រូ STM32 រួមទាំងគ្រឿងកុំព្យូទ័រ និងកម្មវិធីរបស់ពួកគេ។ វាផ្តល់នូវតំណាងក្រាហ្វិកដល់អ្នកប្រើប្រាស់ ហើយអាចបង្កើត *.h និង *.c files ជាមួយនឹងការកំណត់រចនាសម្ព័ន្ធអ្នកប្រើប្រាស់។
តើធ្វើដូចម្តេចដើម្បីទទួលបានការអាប់ដេតជាទៀងទាត់លើការចេញផ្សាយកញ្ចប់ MCU STM32CubeU0 ចុងក្រោយបំផុត?
កញ្ចប់ MCU STM32CubeU0 ភ្ជាប់មកជាមួយឧបករណ៍ធ្វើបច្ចុប្បន្នភាព STM32CubeUpdater ដែលអាចកំណត់រចនាសម្ព័ន្ធសម្រាប់ការត្រួតពិនិត្យដោយស្វ័យប្រវត្តិ ឬតាមតម្រូវការសម្រាប់ការអាប់ដេតកញ្ចប់កម្មវិធីបង្កប់ថ្មី (ការចេញផ្សាយថ្មី និងបំណះ) STM32CubeUpdater ត្រូវបានរួមបញ្ចូលនៅក្នុងឧបករណ៍ STM32CubeMX ។ នៅពេលប្រើឧបករណ៍នេះសម្រាប់ការកំណត់រចនាសម្ព័ន្ធ STM32U0 និងការចាប់ផ្តើមបង្កើតកូដ C អ្នកប្រើប្រាស់ទទួលបានអត្ថប្រយោជន៍ពីការធ្វើបច្ចុប្បន្នភាពដោយស្វ័យប្រវត្តិ STM32CubeU0 ក៏ដូចជាការធ្វើបច្ចុប្បន្នភាពកញ្ចប់ MCU STM32CubeU0 ។ សម្រាប់ព័ត៌មានលម្អិត សូមមើលផ្នែកទី 5.3៖ ការទទួលបានបច្ចុប្បន្នភាពនៃការចេញផ្សាយ STM32CubeU0 ។
ពេលណាត្រូវប្រើកម្មវិធីបញ្ជា HAL ធៀបនឹង LL?
កម្មវិធីបញ្ជា HAL ផ្តល់ជូននូវ APIs កម្រិតខ្ពស់ និងតម្រង់ទិសមុខងារ ជាមួយនឹងកម្រិតខ្ពស់នៃការចល័ត។ ភាពស្មុគស្មាញនៃផលិតផល/IP ត្រូវបានលាក់ពីអ្នកប្រើប្រាស់ចុងក្រោយ។ កម្មវិធីបញ្ជា LL ផ្តល់ជូន APIs កម្រិតចុះឈ្មោះកម្រិតទាប ជាមួយនឹងការបង្កើនប្រសិទ្ធភាពប្រសើរជាងមុន ប៉ុន្តែអាចចល័តបានតិច។ ពួកគេត្រូវការចំណេះដឹងស៊ីជម្រៅអំពីលក្ខណៈបច្ចេកទេសផលិតផល/IP។
តើធ្វើដូចម្តេចដើម្បីបញ្ចូលកម្មវិធីបញ្ជា LL នៅក្នុងបរិយាកាសដែលមានស្រាប់? តើមានការកំណត់រចនាសម្ព័ន្ធ LL fileដូចជាសម្រាប់ HAL?
មិនមានការកំណត់រចនាសម្ព័ន្ធទេ។ file. កូដប្រភពគួរតែរួមបញ្ចូលដោយផ្ទាល់ stm32u0xx_ll_ppp.h ចាំបាច់ file(ស)
តើអ្នកបើកបរ HAL និង LL អាចប្រើជាមួយគ្នាបានទេ? បើដូច្នេះ តើមានឧបសគ្គអ្វីខ្លះ?
វាអាចទៅរួចក្នុងការប្រើប្រាស់ទាំងកម្មវិធីបញ្ជា HAL និង LL ។ ប្រើកម្មវិធីបញ្ជា HAL សម្រាប់ដំណាក់កាលចាប់ផ្តើម IP និងគ្រប់គ្រងប្រតិបត្តិការ I/O ជាមួយកម្មវិធីបញ្ជា LL ។ ភាពខុសគ្នាសំខាន់រវាង HAL និង LL គឺថាកម្មវិធីបញ្ជា HAL ទាមទារការបង្កើត និងប្រើប្រាស់ចំណុចទាញសម្រាប់ការគ្រប់គ្រងប្រតិបត្តិការ ខណៈដែលកម្មវិធីបញ្ជា LL ដំណើរការដោយផ្ទាល់លើការចុះឈ្មោះគ្រឿងកុំព្យូទ័រ។ ការលាយបញ្ចូលគ្នានៃ HAL និង LL ត្រូវបានបង្ហាញនៅក្នុង Examples_MIX ឧampលេ
តើមាន LL APIs ដែលមិនមានជាមួយ HAL ទេ?
បាទ មាន។ Cortex® APIs មួយចំនួនត្រូវបានបន្ថែមនៅក្នុង stm32u0xx_ll_cortex.h ឧទាហរណ៍ ដើម្បីចូលប្រើការចុះឈ្មោះ SCB ឬ SysTick។
ហេតុអ្វីបានជាការរំខាន SysTick មិនបើកនៅលើកម្មវិធីបញ្ជា LL?
នៅពេលប្រើកម្មវិធីបញ្ជា LL នៅក្នុងរបៀបឯករាជ្យ មិនចាំបាច់បើកការរំខាន SysTick ទេ ព្រោះវាមិនត្រូវបានប្រើនៅក្នុង LL APIs ខណៈពេលដែលមុខងារ HAL ទាមទារឱ្យមានការរំខាន SysTick ដើម្បីគ្រប់គ្រងការអស់ពេល។
តើ LL ចាប់ផ្តើម APIs ត្រូវបានបើកដោយរបៀបណា?
និយមន័យនៃ APIs នៃការចាប់ផ្តើម LL និងធនធានដែលពាក់ព័ន្ធ (រចនាសម្ព័ន្ធ ព្យញ្ជនៈ និងគំរូដើម) ត្រូវបានកំណត់ដោយកុងតាក់ចងក្រង SE_FULL_LL_DRIVER ។ ដើម្បីប្រើ LL initialization APIs សូមបន្ថែមកុងតាក់នេះទៅកាន់ toolchain compiler preprocessor។
ប្រវត្តិនៃការពិនិត្យឡើងវិញ
តារាងទី 4. ប្រវត្តិកែប្រែឯកសារ
កាលបរិច្ឆេទ | ការពិនិត្យឡើងវិញ | ការផ្លាស់ប្តូរ |
១៣-មករា-២២ | 1 | ការចេញផ្សាយដំបូង។ |
ការជូនដំណឹងសំខាន់ - អានដោយប្រុងប្រយ័ត្ន
STMicroelectronics NV និងក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន (“ST”) រក្សាសិទ្ធិដើម្បីធ្វើការផ្លាស់ប្តូរ ការកែតម្រូវ ការកែលម្អ ការកែប្រែ និងការកែលម្អចំពោះផលិតផល ST និង/ឬឯកសារនេះនៅពេលណាមួយដោយគ្មានការជូនដំណឹងជាមុន។ អ្នកទិញគួរតែទទួលបានព័ត៌មានពាក់ព័ន្ធចុងក្រោយបំផុតលើផលិតផល ST មុនពេលធ្វើការបញ្ជាទិញ។ ផលិតផល ST ត្រូវបានលក់ដោយអនុលោមតាមលក្ខខណ្ឌនៃការលក់របស់ ST នៅពេលទទួលស្គាល់ការបញ្ជាទិញ។
អ្នកទិញទទួលខុសត្រូវទាំងស្រុងចំពោះជម្រើស ការជ្រើសរើស និងការប្រើប្រាស់ផលិតផល ST ហើយ ST មិនទទួលខុសត្រូវចំពោះជំនួយកម្មវិធី ឬការរចនាផលិតផលរបស់អ្នកទិញឡើយ។
គ្មានអាជ្ញាប័ណ្ណ បង្ហាញ ឬបង្កប់ន័យចំពោះសិទ្ធិកម្មសិទ្ធិបញ្ញាណាមួយត្រូវបានផ្តល់ដោយ ST នៅទីនេះ។
ការលក់បន្តនៃផលិតផល ST ជាមួយនឹងបទប្បញ្ញត្តិខុសពីព័ត៌មានដែលមានចែងនៅទីនេះ នឹងត្រូវចាត់ទុកជាមោឃៈនូវការធានាណាមួយដែលផ្តល់ដោយ ST សម្រាប់ផលិតផលនោះ។
ST និងនិមិត្តសញ្ញា ST គឺជាពាណិជ្ជសញ្ញារបស់ ST ។ សម្រាប់ព័ត៌មានបន្ថែមអំពីពាណិជ្ជសញ្ញា ST សូមមើល www.st.com/trademarks. ឈ្មោះផលិតផល ឬសេវាកម្មផ្សេងទៀតទាំងអស់គឺជាកម្មសិទ្ធិរបស់ម្ចាស់រៀងៗខ្លួន។
ព័ត៌មាននៅក្នុងឯកសារនេះជំនួស និងជំនួសព័ត៌មានដែលបានផ្តល់ពីមុននៅក្នុងកំណែមុននៃឯកសារនេះ។
© 2024 STMicroelectronics - រក្សាសិទ្ធិគ្រប់យ៉ាង
ឯកសារ/ធនធាន
![]() |
STMicroelectronics STM32U0 Series Original Initiative ធ្វើអោយប្រសើរឡើងនូវផលិតភាពរបស់អ្នករចនា [pdf] សៀវភៅណែនាំអ្នកប្រើប្រាស់ គំនិតផ្តួចផ្តើមដើមស៊េរី STM32U0 ធ្វើអោយប្រសើរឡើងនូវផលិតភាពអ្នករចនា គំនិតផ្តួចផ្តើមដើម ធ្វើអោយប្រសើរឡើងនូវផលិតភាពអ្នករចនា ធ្វើអោយប្រសើរឡើងនូវផលិតភាពអ្នករចនា ផលិតភាពអ្នករចនា |