STMmicroelectronics STM32WBA මාලාව ආරම්භ කිරීම
නිෂ්පාදන තොරතුරු
පිරිවිතර:
- නිෂ්පාදන නම: STM32CubeWBA MCU පැකේජය
- නිෂ්පාදකයා: STM microelectronics
- ගැළපුම: STM32WBA ශ්රේණියේ ක්ෂුද්ර පාලක
- බලපත්ර ලබා දීම: විවෘත මූලාශ්ර BSD බලපත්රය
නිෂ්පාදන භාවිත උපදෙස්
STM32CubeWBA MCU පැකේජයේ ප්රධාන විශේෂාංග:
STM32CubeWBA MCU පැකේජය STM32WBA ශ්රේණියේ ක්ෂුද්ර පාලක මත යෙදුම් සංවර්ධනය කිරීම සඳහා අවශ්ය සියලුම කාවැද්දූ මෘදුකාංග සංරචක සපයයි. එය STM32 ශ්රේණිය තුළ ඉතා අතේ ගෙන යා හැකි අතර HAL සහ LL API සමඟ පැමිණේ, උදාamples, සහ මිඩ්ල්වෙයාර් සංරචක.
ගෘහ නිර්මාණ ශිල්පය අවසන්view:
STM32CubeWBA MCU පැකේජයේ ගෘහ නිර්මාණ ශිල්පය මට්ටම් තුනකින් සමන්විත වේ - යෙදුම්, පුස්තකාලය සහ ප්රොටෝකෝලය මත පදනම් වූ සංරචක, දෘඪාංග වියුක්ත ස්තරය, BSP ධාවක, මූලික ධාවක සහ පහත් ස්ථර API.
නිති අසන පැණ
- STM32CubeWBA MCU පැකේජයේ ඇතුළත් වන්නේ කුමක්ද?
පැකේජයට අඩු-ස්ථර (LL) සහ දෘඪාංග වියුක්ත ස්ථරය (HAL) API ඇතුළත් වේ, උදාamples, යෙදුම්, මිඩ්ල්වෙයාර් සංරචක වැනි FileX/LevelX, NetX Duo, mbed-crypto පුස්තකාල, සහ තවත්. - STM32CubeWBA MCU පැකේජය STM32CubeMX කේත උත්පාදක යන්ත්රය සමඟ අනුකූලද?
ඔව්, ආරම්භක කේතය ජනනය කිරීම සඳහා පැකේජය STM32CubeMX කේත උත්පාදක යන්ත්රය සමඟ සම්පුර්ණයෙන්ම අනුකූල වේ.
හැඳින්වීම
- STM32Cube යනු සංවර්ධන උත්සාහය, කාලය සහ පිරිවැය අඩු කිරීම මගින් නිර්මාණකරුවන්ගේ ඵලදායිතාව සැලකිය යුතු ලෙස වැඩිදියුණු කිරීම සඳහා වූ STMicroelectronics මුල් මුලපිරීමකි. STM32Cube මුළු STM32 කළඹම ආවරණය කරයි.
STM32Cube හි ඇතුළත් වන්නේ:- සංකල්පයේ සිට අවබෝධය දක්වා ව්යාපෘති සංවර්ධනය ආවරණය කිරීම සඳහා පරිශීලක-හිතකාමී මෘදුකාංග සංවර්ධන මෙවලම් කට්ටලයක්, ඒවා අතර:
- STM32CubeMX, චිත්රක විශාරදයන් භාවිතයෙන් C ආරම්භක කේතය ස්වයංක්රීයව උත්පාදනය කිරීමට ඉඩ සලසන චිත්රක මෘදුකාංග වින්යාස කිරීමේ මෙවලමකි.
- STM32CubeIDE, පර්යන්ත වින්යාසය, කේත උත්පාදනය, කේත සම්පාදනය සහ දෝශ නිරාකරණ විශේෂාංග සහිත සියල්ලෙන් එක සංවර්ධන මෙවලමකි.
- STM32CubeCLT, කේත සම්පාදනය, පුවරු ක්රමලේඛනය සහ දෝශ නිරාකරණ විශේෂාංග සහිත සියල්ලෙන් එක විධාන රේඛා සංවර්ධන මෙවලම් කට්ටලයක්
- STM32CubeProgrammer (STM32CubeProg), චිත්රක සහ විධාන රේඛා අනුවාද වලින් ලබා ගත හැකි ක්රමලේඛන මෙවලමකි.
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), තත්ය කාලීනව STM32 යෙදුම්වල හැසිරීම සහ ක්රියාකාරිත්වය මනාව සකස් කිරීමට ප්රබල අධීක්ෂණ මෙවලම්
- STM32Cube MCU සහ MPU පැකේජ, එක් එක් ක්ෂුද්ර පාලක සහ මයික්රොප්රොසෙසර් ශ්රේණි සඳහා විශේෂිත වූ (STM32WBA ශ්රේණි සඳහා STM32CubeWBA වැනි) සවිස්තරාත්මක කාවැද්දූ-මෘදුකාංග වේදිකා, ඒවාට ඇතුළත් වන්නේ:
- STM32Cube දෘඪාංග වියුක්ත ස්ථරය (HAL), STM32 කළඹ හරහා උපරිම අතේ ගෙන යා හැකි බව සහතික කරයි
- STM32Cube පහත්-ස්ථර API, දෘඪාංග පිළිබඳ ඉහළ මට්ටමේ පරිශීලක පාලනයක් සහිත හොඳම කාර්ය සාධනය සහ අඩිපාර සහතික කරයි
- ThreadX වැනි මිඩ්ල්වෙයාර් සංරචකවල ස්ථාවර කට්ටලයක්, FileX / LevelX, NetX Duo, USBX, touch library, mbed-crypto, TFM, MCUboot, OpenBL, සහ STM32_WPAN (Bluetooth® Low Energy pro ඇතුළුවfiles සහ සේවා, Mesh, Zigbee®, OpenThread, Matter, සහ 802.15.4 MAC ස්ථරය)
- පර්යන්ත සහ යෙදුම් සම්පූර්ණ කට්ටල සහිත සියලුම කාවැද්දූ මෘදුකාංග උපයෝගිතාamples
- STM32Cube MCU සහ MPU පැකේජවල ක්රියාකාරීත්වයට අනුපූරක වන කාවැද්දූ මෘදුකාංග සංරචක අඩංගු STM32Cube පුළුල් කිරීමේ පැකේජ:
- Middleware දිගු සහ යෙදුම් ස්ථර
- Examples සමහර විශේෂිත STMicroelectronics සංවර්ධන පුවරු මත ධාවනය වේ
- සංකල්පයේ සිට අවබෝධය දක්වා ව්යාපෘති සංවර්ධනය ආවරණය කිරීම සඳහා පරිශීලක-හිතකාමී මෘදුකාංග සංවර්ධන මෙවලම් කට්ටලයක්, ඒවා අතර:
- මෙම පරිශීලක අත්පොත STM32CubeWBA MCU පැකේජය සමඟ ආරම්භ කරන්නේ කෙසේද යන්න විස්තර කරයි.
- 2 කොටස STM32CubeWBA ප්රධාන විශේෂාංග STM32CubeWBA MCU පැකේජයේ ප්රධාන ලක්ෂණ විස්තර කරයි.
- 3 වන කොටස STM32CubeWBA ගෘහ නිර්මාණ ශිල්පය අවසන්view ඕවරයක් සපයයිview STM32CubeWBA ගෘහ නිර්මාණ ශිල්පය සහ MCU පැකේජ ව්යුහය.
සාමාන්ය තොරතුරු
STM32CubeWBA MCU පැකේජය Arm® TrustZone® සහ FPU සමඟ Arm® Cortex®-M32 ප්රොසෙසරය මත පදනම්ව STM32 33-bit microcontrollers මත ධාවනය වේ.
සටහන: Arm සහ TrustZone යනු එක්සත් ජනපදයේ සහ/හෝ වෙනත් තැන්වල Arm Limited (හෝ එහි අනුබද්ධිත ආයතන) හි ලියාපදිංචි වෙළඳ ලකුණු වේ.
STM32CubeWBA ප්රධාන ලක්ෂණ
- STM32CubeWBA MCU පැකේජය TrustZone® සහ FPU සමඟ Arm® Cortex®-M32 ප්රොසෙසරය මත පදනම්ව STM32 33-bit microcontrollers මත ධාවනය වේ.
- STM32CubeWBA STM32WBA ශ්රේණියේ ක්ෂුද්ර පාලක සඳහා යෙදුමක් සංවර්ධනය කිරීමට අවශ්ය සියලුම සාමාන්ය කාවැද්දූ මෘදුකාංග සංරචක තනි පැකේජයක් තුළ රැස් කරයි. STM32Cube මූලාරම්භයට අනුකූලව, මෙම සංරචක කට්ටලය STM32WBA ශ්රේණියේ ක්ෂුද්ර පාලක තුළ පමණක් නොව අනෙකුත් STM32 ශ්රේණි වෙතද ඉතා අතේ ගෙන යා හැකි වේ.
- STM32CubeWBA ආරම්භක කේතය ජනනය කිරීම සඳහා STM32CubeMX කේත උත්පාදක යන්ත්රය සමඟ සම්පුර්ණයෙන්ම අනුකූල වේ. පැකේජයට අඩු-ස්ථර (LL) සහ දෘඪාංග වියුක්ත ස්ථරය (HAL) API ඇතුළත් වන අතර එය ක්ෂුද්ර පාලක දෘඪාංග ආවරණය කරයි.amples STMicroelectronics පුවරු මත ධාවනය වේ. HAL සහ LL API පරිශීලක පහසුව සඳහා විවෘත මූලාශ්ර BSD බලපත්රයක ඇත.
- STM32CubeWBA MCU පැකේජයේ Microsoft® Azure® RTOS මිඩ්ල්වෙයාර්, සහ අනෙකුත් අභ්යන්තර සහ විවෘත මූලාශ්ර තොග, අනුරූප හිටපු සමග ගොඩනගා ඇති විස්තීර්ණ මිඩ්ල්වෙයාර් සංරචකයක් ද අඩංගු වේ.amples.
- ඒවා නොමිලේ, පරිශීලක-හිතකාමී බලපත්ර කොන්දේසි සමඟ පැමිණේ:
- ඒකාබද්ධ සහ සම්පූර්ණ විශේෂාංග සහිත Azure® RTOS: Azure® RTOS ThreadX
- Azure® RTOS ThreadX සමඟ CMSIS-RTOS ක්රියාත්මක කිරීම
- USB සත්කාරක සහ උපාංග තොග බොහෝ පන්ති සමඟින් පැමිණේ: Azure® RTOS USBX
- උසස් file පද්ධතිය සහ ෆ්ලෑෂ් පරිවර්තන ස්ථරය: FileX / LevelX
- කාර්මික ශ්රේණියේ ජාලකරණ තොගය: බොහෝ IoT ප්රොටෝකෝල සමඟ එන කාර්ය සාධනය සඳහා ප්රශස්ත කර ඇත: NetX Duo
- OpenBootloader
- Arm® විශ්වාසනීය ස්ථිරාංග-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)
මෙම ස්තරය දෘඪාංග පුවරු (LCD, Audio,\ microSD™, සහ MEMS ධාවක වැනි) දෘඪාංග සංරචක වලට සාපේක්ෂව API කට්ටලයක් ඉදිරිපත් කරයි. එය කොටස් දෙකකින් සමන්විත වේ:
- සංරචක ධාවකය:
මෙම ධාවකය පුවරුවේ ඇති බාහිර උපාංගයට සම්බන්ධ වන අතර, STM32 උපාංගයට නොවේ. සංරචක ධාවකය BSP ධාවක බාහිර සංරචක සඳහා නිශ්චිත API සපයන අතර වෙනත් ඕනෑම පුවරුවක ගෙන යා හැකිය. - BSP රියදුරු:
BSP ධාවකය මඟින් සංරචක ධාවක නිශ්චිත පුවරුවකට සම්බන්ධ කිරීමට ඉඩ ලබා දෙන අතර පරිශීලක-හිතකාමී කට්ටලයක් සපයයි
APIs. API නම් කිරීමේ රීතිය BSP_FUNCT_Action() වේ.
Example: BSP_LED_Init(), BSP_LED_On()
BSP පදනම් වී ඇත්තේ පහත් මට්ටමේ චර්යාවන් ක්රියාත්මක කිරීමෙන් ඕනෑම දෘඪාංගයකට පහසුවෙන් ගෙනයාමට ඉඩ සලසන මොඩියුලර් ගෘහ නිර්මාණ ශිල්පයක් මත ය.
දෘඪාංග වියුක්ත ස්ථරය (HAL) සහ පහත් ස්ථරය (LL)
STM32CubeWBA HAL සහ LL අනුපූරක වන අතර පුළුල් පරාසයක යෙදුම් අවශ්යතා ආවරණය කරයි:
- HAL රියදුරන් ඉහළ මට්ටමේ ක්රියාකාරීත්වයට නැඹුරු වූ ඉහළ අතේ ගෙන යා හැකි API ලබා දෙයි. ඔවුන් MCU සහ පර්යන්ත සංකීර්ණත්වය අවසාන පරිශීලකයාට සඟවයි.
HAL ධාවක සාමාන්ය බහු-උදාහරණ විශේෂාංග-නැඹුරු API සපයයි, එය භාවිතයට සූදානම් ක්රියාවලි ලබා දීමෙන් පරිශීලක යෙදුම් ක්රියාත්මක කිරීම සරල කරයි. උදාහරණයක් ලෙසample, සන්නිවේදන පර්යන්ත (I2S, UART, සහ වෙනත්) සඳහා, එය පර්යන්තය ආරම්භ කිරීමට සහ වින්යාස කිරීමට, ඡන්ද විමසීම, බාධා කිරීම් හෝ DMA ක්රියාවලිය මත පදනම්ව දත්ත හුවමාරුව කළමනාකරණය කිරීම සහ සන්නිවේදනය අතරතුර පැන නගින සන්නිවේදන දෝෂ හැසිරවීමට ඉඩ දෙන API සපයයි. HAL ධාවක API වර්ග දෙකකට බෙදා ඇත:- සියලුම STM32 ශ්රේණියේ ක්ෂුද්ර පාලක සඳහා පොදු සහ සාමාන්ය කාර්යයන් සපයන සාමාන්ය API.
- නිශ්චිත පවුලක් හෝ නිශ්චිත කොටස් අංකයක් සඳහා නිශ්චිත සහ අභිරුචිකරණය කළ කාර්යයන් සපයන දිගු API.
- අඩු-ස්ථර APIs, වඩා හොඳ ප්රශස්තකරණයක් සහිත නමුත් අඩු අතේ ගෙන යා හැකි මට්ටමකින් අඩු මට්ටමේ API ලබා දෙයි.
- ඔවුන්ට MCU සහ පර්යන්ත පිරිවිතර පිළිබඳ ගැඹුරු දැනුමක් අවශ්ය වේ.
- LL ධාවකයන් නිර්මාණය කර ඇත්තේ HAL වලට වඩා දෘඪාංගයට සමීප වන වේගවත් සැහැල්ලු විශේෂඥ-නැඹුරු ස්ථරයක් පිරිනැමීමටය. HAL වලට පටහැනිව, ප්රශස්ත ප්රවේශය ප්රධාන අංගයක් නොවන පර්යන්ත සඳහා හෝ බර මෘදුකාංග වින්යාස කිරීම හෝ සංකීර්ණ ඉහළ මට්ටමේ තොගයක් අවශ්ය වන ඒවා සඳහා LL API ලබා නොදේ.
- LL ධාවක විශේෂාංග:
- දත්ත ව්යුහයන්හි දක්වා ඇති පරාමිති අනුව පර්යන්ත ප්රධාන ලක්ෂණ ආරම්භ කිරීමට ශ්රිත සමූහයක්.
- එක් එක් ක්ෂේත්රයට අනුරූප වන යළි පිහිටුවීමේ අගයන් සමඟ ආරම්භක දත්ත ව්යුහයන් පිරවීම සඳහා ශ්රිත සමූහයක්.
- පර්යන්ත deinitialization සඳහා කාර්යය (පර්යන්ත ලේඛන ඒවායේ පෙරනිමි අගයන් වෙත ප්රතිෂ්ඨාපනය කර ඇත).
- සෘජු සහ පරමාණුක ලේඛන ප්රවේශය සඳහා පේළිගත ශ්රිත කට්ටලයක්.
- HAL වෙතින් පූර්ණ ස්වාධීනත්වය සහ ස්වාධීන මාදිලියේ (HAL ධාවකයන් නොමැතිව) භාවිතා කිරීමේ හැකියාව.
- සහාය දක්වන පර්යන්ත විශේෂාංගවල සම්පූර්ණ ආවරණය.
මූලික පර්යන්ත භාවිතය උදාamples
මෙම ස්තරය ex වට කර ඇතampHAL සහ BSP සම්පත් පමණක් භාවිතා කරමින් STM32 පර්යන්ත මත ගොඩනගා ඇත.
1 මට්ටම
මෙම මට්ටම උපස්ථර දෙකකට බෙදා ඇත:
- Middleware සංරචක
- Examples මිඩ්ල්වෙයාර් සංරචක මත පදනම් වේ
Middleware සංරචක
- Middleware යනු Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®, ආවරණය වන පුස්තකාල සමූහයකි.
- Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot, සහ mbed-crypto.
- මෙම ස්ථරයේ සංරචක අතර තිරස් අන්තර්ක්රියා සිදු කරනු ලබන්නේ විශේෂාංගගත API ඇමතීමෙන්.
- පුස්තකාල පද්ධතියේ ඇමතුම් අතුරුමුහුණත තුළ ක්රියාත්මක කර ඇති විශේෂිත ඇමතුම් සහ ස්ථිතික මැක්රෝස් හරහා පහත ස්ථර ධාවක සමඟ සිරස් අන්තර්ක්රියා සිදු කෙරේ.
- එක් එක් මිඩ්ල්වෙයාර් සංරචකයේ ප්රධාන ලක්ෂණ පහත පරිදි වේ:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: තත්ය කාලීන මෙහෙයුම් පද්ධතියක් (RTOS), ක්රියාකාරී ආකාර දෙකක් සහිත කාවැද්දූ පද්ධති සඳහා නිර්මාණය කර ඇත.
- පොදු මාදිලිය: නූල් කළමනාකරණය සහ සමමුහුර්තකරණය, මතක සංචිත කළමනාකරණය, පණිවිඩ යැවීම සහ සිදුවීම් හැසිරවීම වැනි පොදු RTOS ක්රියාකාරීත්වයන්.
- මොඩියුල ප්රකාරය: මොඩියුල කළමණාකරුවෙකු හරහා පියාසර කරන විට පෙර සම්බන්ධිත ThreadX මොඩියුල පැටවීමට සහ බෑමට ඉඩ සලසන උසස් පරිශීලක මාදිලියකි.
- NetX Duo
- FileX
- USBX
- Azure® RTOS ThreadX: තත්ය කාලීන මෙහෙයුම් පද්ධතියක් (RTOS), ක්රියාකාරී ආකාර දෙකක් සහිත කාවැද්දූ පද්ධති සඳහා නිර්මාණය කර ඇත.
- Bluetooth® Low Energy (BLE): Link සහ Stack ස්ථර සඳහා Bluetooth® Low Energy ප්රොටෝකෝලය ක්රියාත්මක කරයි.
- MCUboot (විවෘත මූලාශ්ර මෘදුකාංග)
- තොග සහ අදාළ පොකුරු සඳහා Zigbee® ප්රොටෝකෝල.
- Thread® ප්රොටෝකෝල තොගය සහ සම්බන්ධක ස්ථරය.
- Arm® විශ්වාසදායී ස්ථිරාංග-M, TF‑M (විවෘත-මූලාශ්ර මෘදුකාංග): ආශ්රිත ආරක්ෂිත සේවාවන් සමඟ TrustZone® සඳහා Arm® වේදිකා ආරක්ෂණ ගෘහ නිර්මාණ ශිල්පය (PSA) යොමු ක්රියාත්මක කිරීම.
- mbed-crypto (විවෘත-මූලාශ්ර මෘදුකාංග): mbed-crypto මිඩ්ල්වෙයාර් PSA ගුප්ත ලේඛන API ක්රියාත්මක කිරීමක් සපයයි.
- STM32 ස්පර්ශ සංවේදක පුස්තකාලය: ශක්තිමත් STMTouch ධාරිත්රක ස්පර්ශ සංවේද විසඳුම, ආධාරක සමීපත්වය, ස්පර්ශ යතුරු, රේඛීය සහ භ්රමණ ස්පර්ශ සංවේදක. එය ඔප්පු කරන ලද මතුපිට ආරෝපණ හුවමාරු අත්පත් කර ගැනීමේ මූලධර්මය මත පදනම් වේ.
- Microsoft® Azure® RTOS
Examples මිඩ්ල්වෙයාර් සංරචක මත පදනම් වේ
සෑම මිඩ්ල්වෙයාර් සංරචකයක්ම හිටපු එකක් හෝ වැඩි ගණනක් සමඟ පැමිණේamples (යෙදුම් ලෙසද හැඳින්වේ) එය භාවිතා කරන ආකාරය පෙන්වයි. ඒකාබද්ධ කිරීම උදාampමිඩ්ල්වෙයාර් සංරචක කිහිපයක් භාවිතා කරන les ද සපයනු ලැබේ.
STM32CubeWBA ස්ථිරාංග පැකේජය අවසන්view
සහාය දක්වන STM32WBA ශ්රේණි උපාංග සහ දෘඩාංග
- STM32Cube සාමාන්ය ගෘහනිර්මාණ ශිල්පයක් වටා ගොඩනගා ඇති ඉහළ අතේ ගෙන යා හැකි දෘඪාංග වියුක්ත ස්ථරයක් (HAL) ඉදිරිපත් කරයි. MCU භාවිතා කරන්නේ කුමක් දැයි ගැඹුරින්, නොදැන ඔවුන්ගේ ක්රියාකාරකම් ක්රියාත්මක කිරීමට මිඩ්ල්වෙයාර් ස්ථරය භාවිතා කිරීම වැනි ගොඩ නැගීමේ ස්ථර මූලධර්මයට එය ඉඩ දෙයි. මෙය පුස්තකාල කේත නැවත භාවිතා කිරීමේ හැකියාව වැඩි දියුණු කරන අතර අනෙකුත් උපාංග වෙත පහසුවෙන් ගෙන යා හැකි බව සහතික කරයි.
- මීට අමතරව, එහි ස්ථර ගෘහනිර්මාණ ශිල්පයට ස්තූතිවන්ත වන අතර, STM32CubeWBA සියලු STM32WBA ශ්රේණි සඳහා පූර්ණ සහාය ලබා දෙයි.
- පරිශීලකයාට ඇත්තේ stm32wbaxx.h හි නිවැරදි මැක්රෝව නිර්වචනය කිරීමට පමණි.
- භාවිතා කරන STM1WBA ශ්රේණියේ උපාංගය මත පදනම්ව නිර්වචනය කිරීමට සාර්ව 32 වගුව පෙන්වයි. මෙම මැක්රෝව සම්පාදක ප්රොසෙසරය තුළද අර්ථ දැක්විය යුතුය.
වගුව 1. STM32WBA ශ්රේණි සඳහා මැක්රෝස්මැක්රෝ stm32wbaxx.h හි අර්ථ දක්වා ඇත STM32WBA ශ්රේණියේ උපාංග stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6 stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7 - STM32CubeWBA හිටපු පොහොසත් කට්ටලයක් දක්වයිamples සහ යෙදුම් ඕනෑම HAL ධාවකයක් හෝ මිඩ්ල්වෙයාර් සංරචක තේරුම් ගැනීමට සහ භාවිතා කිරීමට පහසු කරවයි. මෙම හිටපුamples වගුව 2 හි ලැයිස්තුගත කර ඇති STMicroelectronics පුවරු මත ධාවනය වේ.
වගුව 2. STM32WBA ශ්රේණි සඳහා පුවරුමණ්ඩලය පුවරු STM32WBA සහාය දක්වන උපාංග NUCLEO-WBA52CG STM32WBA52CGU6 NUCLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - STM32CubeWBA MCU පැකේජය ඕනෑම ගැළපෙන දෘඪාංගයක් මත ධාවනය කළ හැක. පරිශීලකයා සරලව BSP ධාවක යාවත්කාලීන කර සපයා ඇති ex එක පෝට් කිරීමටamples පුවරුවේ, දෙවැන්නෙහි එකම දෘඩාංග විශේෂාංග තිබේ නම් (LED, LCD සංදර්ශකය සහ බොත්තම් වැනි).
ස්ථිරාංග පැකේජය අවසන්view
- STM32CubeWBA පැකේජ විසඳුම රූප සටහන 3 හි පෙන්වා ඇති ව්යුහය සහිත තනි zip පැකේජයක් තුළ සපයා ඇත. STM32CubeWBA ස්ථිරාංග පැකේජ ව්යුහය.
- එක් එක් පුවරුව සඳහා, හිටපු කට්ටලයක්amples හට EWARM, MDK-ARM, සහ STM32CubeIDE මෙවලම් කට්ටල සඳහා පූර්ව වින්යාසගත ව්යාපෘති සපයා ඇත.
- රූපය 4. STM32CubeWBA උදාampඉවරයිview NUCLEO‑WBA52CG, NUCLEO-WBA55CG සහ STM32WBA55G-DK1 පුවරු සඳහා ව්යාපෘති ව්යුහය පෙන්වයි.
- හිටපුampඔවුන් අදාළ වන STM32Cube මට්ටම අනුව වර්ගීකරණය කර ඇති අතර ඒවා පහත පරිදි නම් කර ඇත:
- මට්ටම 0 examples කියන්නේ Ex කියලාamples, Examples_LL, සහ Examples_MIX. ඔවුන් පිළිවෙළින් HAL ධාවක, LL ධාවක සහ කිසිදු මිඩ්ල්වෙයාර් සංරචකයකින් තොරව HAL සහ LL ධාවක මිශ්රණයක් භාවිතා කරයි.
- මට්ටම 1 examples යෙදුම් ලෙස හැඳින්වේ. ඔවුන් එක් එක් මිඩ්ල්වෙයාර් සංරචක සඳහා සාමාන්ය භාවිත අවස්ථා සපයයි. Template ates සහ Templates_LL නාමාවලිවල ඇති සැකිලි ව්යාපෘති වලට ස්තුති වන්නට දී ඇති පුවරුවක් සඳහා ඕනෑම ස්ථිරාංග යෙදුමක් ඉක්මනින් ගොඩනගා ගත හැක.
TrustZone® සබල කළ ව්යාපෘති
- TrustZone® සබල කර ඇති Examples නම් වල _TrustZone උපසර්ගය අඩංගු වේ. මෙම රීතිය Applicatio ns සඳහාද අදාළ වේ (TFM සහ SBSFU හැර, ඒවා දේශීයව TrustZone® සඳහා වේ).
- TrustZone®-සක්රීය Exampරූප සටහන 5 හි දක්වා ඇති පරිදි ආරක්ෂිත සහ අනාරක්ෂිත උප ව්යාපෘති වලින් සමන්විත බහු ව්යාපෘති ව්යුහයක් සමඟ යෙදුම් සපයා ඇත. බහු ව්යාපෘති ආරක්ෂිත සහ අනාරක්ෂිත ව්යාපෘති ව්යුහය.
- TrustZone®-සක්රීය ව්යාපෘති CMSIS-5 උපාංග අච්චුව අනුව සංවර්ධනය කර ඇත, පද්ධති කොටස් කිරීමේ ශීර්ෂය ඇතුළත් කිරීමට දීර්ඝ කර ඇත. file කොටස_ .h, ආරක්ෂිත ගුණාංග ඒකකය (SAU), FPU සැකසීම සඳහා ප්රධාන වශයෙන් වගකිව යුතු සහ ආරක්ෂිත ක්රියාත්මක කිරීමේ තත්වයේ ආරක්ෂිත/අනාරක්ෂිත බාධා කිරීම් පැවරීම.
- මෙම සැකසුම ආරක්ෂිත CMSIS SystemInit() ශ්රිතය තුළ සිදු කරයි, එය ආරක්ෂිත යෙදුම් main() ශ්රිතයට ඇතුළු වීමට පෙර ආරම්භයේදී කැඳවනු ලැබේ. Arm® TrustZone®-M මෘදුකාංග මාර්ගෝපදේශ වල ලේඛන වෙත යොමු වන්න.
- STM32CubeWBA පැකේජ ස්ථිරාංග පැකේජය _ කොටසෙහි පෙරනිමි මතක කොටස් කිරීම සපයයි. .එච් files ලබා ගත හැක්කේ: \ Drivers\CMSIS\Device\ST\STM32WBAxx\T emplates
- මෙම බෙදීම තුළ files, SAU පෙරනිමියෙන් අබල කර ඇත. එහි ප්රතිඵලයක් ලෙස, IDAU මතක සිතියම්කරණය ආරක්ෂක ආරෝපණය සඳහා භාවිතා වේ. RM0495 සමුද්දේශ අත්පොතෙහි TrustZone® තාක්ෂණය භාවිතයෙන් ආරක්ෂිත/ආරක්ෂිත නොවන කොටස් කිරීම රූපය වෙත යොමු කරන්න.
- පරිශීලකයා SAU සක්රීය කරන්නේ නම්, පෙරනිමි SAU කලාප වින්යාසයක් කොටස් තුළ පූර්ව නිර්වචනය කර ඇත. fileපහත පරිදි වේ:
- SAU කලාපය 0: 0x08080000 – 0x081FFFFF (ෆ්ලෑෂ් මතකයේ අනාරක්ෂිත ආරක්ෂිත අඩක් (512 Kbytes))
- SAU කලාපය 1: 0x0BF88000 – 0x0BF97FFF (අනාරක්ෂිත පද්ධති මතකය)
- SAU කලාපය 2: 0x0C07E000 – 0x0C07FFFF (ආරක්ෂිත, අනාරක්ෂිත ලෙස ඇමතිය හැකි)
- SAU කලාපය 3: 0x20010000 – 0x2001FFFF (අනාරක්ෂිත SRAM2 (64 Kbytes))
- SAU කලාපය 4: 0x40000000 – 0x4FFFFFFF (අනාරක්ෂිත පර්යන්ත සිතියම්ගත මතකය)
- පෙරනිමි කොටස්කරණයට ගැළපීමට, 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 හිටපු විස්තර කරයිampහැසිරීම සහ එය ක්රියාත්මක කිරීමට අවශ්ය පරිසරය.
- ioc file එය බොහෝ ස්ථිරාංග ex විවෘත කිරීමට පරිශීලකයින්ට ඉඩ සලසයිamples STM32CubeMX තුළ.
STM32CubeWBA සමඟ ආරම්භ කිරීම
පළමු HAL හිටපු එකක් ධාවනය කිරීමample
මෙම කොටස පළමු හිටපු ධාවනය කිරීම කොතරම් සරලද යන්න පැහැදිලි කරයිampSTM32CubeWBA තුළ le. එය නිදර්ශනයක් ලෙස NUCLEO-WBA52CG පුවරුව මත ධාවනය වන සරල LED ටොගල් උත්පාදනය භාවිතා කරයි:
- STM32CubeWBA MCU පැකේජය බාගන්න.
- එය ඔබ කැමති නාමාවලියකට ඉවත් කරන්න.
- රූප සටහන 1 හි පෙන්වා ඇති පැකේජ ව්යුහය වෙනස් නොකිරීමට වග බලා ගන්න. සමහර IDEs මාර්ගයේදී ගැටළු වලට මුහුණ දෙන බැවින්, ඔබේ මූල පරිමාවට ආසන්න ස්ථානයක (C:\ST හෝ G:\Tests) පැකේජය පිටපත් කිරීම නිර්දේශ කෙරේ. දිග වැඩියි.
පළමු TrustZone® සබල කළ example
- TrustZone® සබල කර ඇති ex පූරණය කර ධාවනය කිරීමට පෙරample, එය ex කියවීම අනිවාර්ය වේampමට කියවන්න file 4.2.1 කොටසේ TrustZone® සක්රීය ව්යාපෘති (TZEN=1 (පරිශීලක විකල්ප බයිට්)) හි විස්තර කර ඇති පරිදි ආරක්ෂාව සක්රීය කර ඇති බව සහතික කරන ඕනෑම විශේෂිත වින්යාසයක් සඳහා.
- \Projects\NUCLEO-WBA52CG\Ex වෙත බ්රවුස් කරන්නamples.
- \GPIO විවෘත කරන්න, ඉන්පසු \GPIO_IOToggle_TrustZone ෆෝල්ඩර.
- ඔබ කැමති මෙවලම් දාමය සමඟ ව්යාපෘතිය විවෘත කරන්න. ඉක්මන් ඉවරයක්view හිටපු එකක් විවෘත කරන්නේ කෙසේද, ගොඩනඟන්නේ කෙසේද සහ ධාවනය කරන්නේ කෙසේද යන්න පිළිබඳවampසහය දක්වන මෙවලම් දාම සහිත le පහත දක්වා ඇත.
- සියලුම ආරක්ෂිත සහ අනාරක්ෂිත ව්යාපෘති අනුපිළිවෙලින් නැවත ගොඩනඟන්න files සහ ආරක්ෂිත සහ අනාරක්ෂිත රූප ඉලක්ක මතකයට පූරණය කරන්න.
- හිටපු එක දුවන්නample: නිතිපතා, ආරක්ෂිත යෙදුම සෑම තත්පරයකම LD2 ටොගල් කරයි, සහ අනාරක්ෂිත යෙදුම LD3 දෙගුණයක් වේගයෙන් ටොගල් කරයි. වැඩි විස්තර සඳහා, readme බලන්න file හිටපු අයගෙන්ample.
- විවෘත කිරීමට, ගොඩනැගීමට සහ ධාවනය කිරීමට හිටපුampසහාය දක්වන මෙවලම් දාම සමඟ, පහත පියවර අනුගමනය කරන්න:
- EWARM:
- හිටපු යටතේample ෆෝල්ඩරය, \EWARM උප ෆෝල්ඩරය විවෘත කරන්න.
- Project.eww වැඩබිම දියත් කරන්න
- xxxxx_S ආරක්ෂිත ව්යාපෘතිය නැවත ගොඩනඟන්න files: [ව්යාපෘතිය]>[සියල්ල නැවත ගොඩනඟන්න].
- xxxxx_NS අනාරක්ෂිත ව්යාපෘතිය සක්රීය යෙදුමක් ලෙස සකසන්න (xxxxx_NS ව්යාපෘතිය මත දකුණු ක්ලික් කරන්න [සක්රිය ලෙස සකසන්න])
- xxxxx_NS අනාරක්ෂිත ව්යාපෘතිය නැවත ගොඩනඟන්න files: [ව්යාපෘතිය]>[සියල්ල නැවත ගොඩනඟන්න].
- [Project]>[Download]>[සක්රීය යෙදුම බාගන්න] සමඟින් අනාරක්ෂිත ද්විමය ෆ්ලෑෂ් කරන්න.
- xxxxx_S සක්රීය යෙදුම ලෙස සකසන්න (xxxxx_S ව්යාපෘතිය මත දකුණු ක්ලික් කරන්න [සක්රිය ලෙස සකසන්න].
- [බාගැනීම් සහ නිදොස්කරණය] (Ctrl+D) සමඟ ආරක්ෂිත ද්විමය ෆ්ලෑෂ් කරන්න.
- වැඩසටහන ක්රියාත්මක කරන්න: [Debug]>[Go(F5)]
- MDK-ARM:
- \MDK-ARM මෙවලම් දාමය විවෘත කරන්න.
- Multiprojects වැඩබිම විවෘත කරන්න file Project.uvmpw.
- සක්රීය යෙදුම ලෙස xxxxx_s ව්යාපෘතිය තෝරන්න ([ක්රියාකාරී ව්යාපෘතිය ලෙස සකසන්න]).
- xxxxx_s ව්යාපෘතිය ගොඩනඟන්න.
- xxxxx_ns ව්යාපෘතිය සක්රීය ව්යාපෘතිය ලෙස තෝරන්න ([ක්රියාකාරී ව්යාපෘතිය ලෙස සකසන්න]).
- xxxxx_ns ව්යාපෘතිය ගොඩනඟන්න.
- අනාරක්ෂිත ද්විමය ([F8]) පූරණය කරන්න. මෙය \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf ෆ්ලෑෂ් මතකයට බාගත කරයි)
- Project_s ව්යාපෘතිය Active project ලෙස තෝරන්න ([ක්රියාකාරී ව්යාපෘතිය ලෙස සකසන්න]).
- ආරක්ෂිත ද්විමය ([F8]) පූරණය කරන්න. මෙය ෆ්ලෑෂ් මතකයට \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf බාගත කරයි).
- හිටපු එක දුවන්නample.
- STM32CubeIDE:
- STM32CubeIDE මෙවලම් දාමය විවෘත කරන්න.
- Multiprojects වැඩබිම විවෘත කරන්න file .ව්යාපෘතිය.
- xxxxx_Secure ව්යාපෘතිය නැවත ගොඩනඟන්න.
- xxxxx_NonSecure ව්යාපෘතිය නැවත ගොඩනඟන්න.
- ආරක්ෂිත ව්යාපෘතිය සඳහා [Debug as STM32 Cortex-M C/C++] යෙදුම දියත් කරන්න.
- [සංස්කරණ වින්යාසය] කවුළුව තුළ, [ආරම්භක] පැනලය තෝරන්න, සහ අනාරක්ෂිත ව්යාපෘතියේ රූපය සහ සංකේත පැටවීම එක් කරන්න.
වැදගත්: ආරක්ෂිත ව්යාපෘතියට පෙර අනාරක්ෂිත ව්යාපෘතිය පූරණය කළ යුතුය. - [Ok] ක්ලික් කරන්න.
- හිටපු එක දුවන්නample on debug perspective.
- EWARM:
පළමු TrustZone® ආබාධිත හිටපු එකක් ධාවනය කිරීමample
- TrustZone® ආබාධිත හිටපු එකක් පූරණය කර ධාවනය කිරීමට පෙරample, එය ex කියවීම අනිවාර්ය වේampමට කියවන්න file ඕනෑම විශේෂිත වින්යාසයක් සඳහා. නිශ්චිත සඳහනක් නොමැති නම්, පුවරු උපාංගයේ ආරක්ෂාව අබල කර ඇති බව සහතික කර ගන්න (TZEN=0 (පරිශීලක විකල්ප බයිට්)). TZEN = 0 වෙත විකල්ප ප්රතිගමනය කිරීම සඳහා නිතර අසන පැන බලන්න
- \Projects\NUCLEO-WBA52CG\Ex වෙත බ්රවුස් කරන්නamples.
- \GPIO, පසුව \GPIO_EXTI ෆෝල්ඩර විවෘත කරන්න.
- ඔබ කැමති මෙවලම් දාමය සමඟ ව්යාපෘතිය විවෘත කරන්න. ඉක්මන් ඉවරයක්view හිටපු එකක් විවෘත කරන්නේ කෙසේද, ගොඩනඟන්නේ කෙසේද සහ ධාවනය කරන්නේ කෙසේද යන්න පිළිබඳවampසහය දක්වන මෙවලම් දාම සහිත le පහත දක්වා ඇත.
- සියල්ල නැවත ගොඩනඟන්න files සහ ඔබේ රූපය ඉලක්ක මතකයට පූරණය කරන්න.
- හිටපු එක දුවන්නample: [USER] push-බොත්තම එබූ සෑම අවස්ථාවකම, LD1 LED ටොගල් වේ. වැඩි විස්තර සඳහා, readme බලන්න file හිටපු අයගෙන්ample.
- විවෘත කිරීමට, ගොඩනැගීමට සහ ධාවනය කිරීමට හිටපුampසහාය දක්වන මෙවලම් දාම සමඟ, පහත පියවර අනුගමනය කරන්න:
- EWARM:
- හිටපු යටතේample ෆෝල්ඩරය, \EWARM උප ෆෝල්ඩරය විවෘත කරන්න.
- Project.eww වැඩබිම දියත් කරන්න (වැඩ අවකාශයේ නම එක් හිටපු අයෙකුගෙන් වෙනස් විය හැකample වෙනත් කෙනෙකුට).
- සියල්ල නැවත ගොඩනඟන්න files: [ව්යාපෘතිය]>[සියල්ල නැවත ගොඩනඟන්න].
- ව්යාපෘති රූපය පූරණය කරන්න: [ව්යාපෘතිය]>[නිදොස්කරණය].
- වැඩසටහන ධාවනය කරන්න: [Debug]>[Go (F5)].
- MDK-ARM:
- හිටපු යටතේample ෆෝල්ඩරය, \MDK-ARM උප ෆෝල්ඩරය විවෘත කරන්න.
- Project.uvproj වැඩබිම දියත් කරන්න (වැඩ අවකාශයේ නම එක් හිටපු අයෙකුගෙන් වෙනස් විය හැකample වෙනත් කෙනෙකුට).
- සියල්ල නැවත ගොඩනඟන්න files:[ව්යාපෘතිය]>[සියලු ඉලක්කය නැවත ගොඩනඟන්න files].
- ව්යාපෘති රූපය පූරණය කරන්න: [නිදොස්කරණය]>[දෝෂ නිරාකරණ සැසිය ආරම්භ කරන්න/නවත්වන්න].
- වැඩසටහන ක්රියාත්මක කරන්න: [Debug]>[Run (F5)].
- STM32CubeIDE:
- STM32CubeIDE මෙවලම් දාමය විවෘත කරන්න.
- ක්ලික් කරන්න [File]>[වැඩ අවකාශය මාරු කරන්න]>[වෙනත්] සහ STM32CubeIDE වැඩබිම් නාමාවලිය වෙත බ්රවුස් කරන්න.
- ක්ලික් කරන්න [File]>[ආයාත] , [සාමාන්ය]> [වැඩ අවකාශයට පවතින ව්යාපෘති] තෝරන්න, ඉන්පසු [ඊළඟ] ක්ලික් කරන්න.
- STM32CubeIDE වැඩබිම් නාමාවලිය වෙත බ්රවුස් කර ව්යාපෘතිය තෝරන්න.
- සියලු ව්යාපෘති නැවත ගොඩනඟන්න files: [Project Explorer] කවුළුවේ ව්යාපෘතිය තෝරන්න, පසුව [Project]>[Build project] මෙනුව ක්ලික් කරන්න.
- වැඩසටහන ක්රියාත්මක කරන්න: [ධාවනය]>[Debug (F11)]
- EWARM:
අභිරුචි යෙදුමක් සංවර්ධනය කිරීම
සටහන: මෘදුකාංගය ෆ්ලෑෂ් මතකයෙන් 0 පොරොත්තු-තත්ත්ව ක්රියාත්මක කිරීම සඳහා උපදෙස් හැඹිලිය (ICACHE) සක්රීය කළ යුතු අතර, උපරිම කාර්ය සාධනය සහ වඩා හොඳ බලශක්ති පරිභෝජනයකට ළඟා විය යුතුය.
යෙදුමක් සංවර්ධනය කිරීමට හෝ යාවත්කාලීන කිරීමට STM32CubeMX භාවිතා කිරීම
- STM32CubeWBA MCU පැකේජය තුළ, සියලුම ව්යාපෘති පාහේ exampපද්ධතිය, පර්යන්ත සහ මිඩ්ල්වෙයාර් ආරම්භ කිරීමට STM32CubeMX මෙවලම සමඟින් les ජනනය වේ.
- පවතින ව්යාපෘතියක සෘජු භාවිතය exampSTM32CubeMX මෙවලමෙන් le සඳහා STM32CubeMX 6.10.0 හෝ ඉහළ අවශ්ය වේ:
- STM32CubeMX ස්ථාපනය කිරීමෙන් පසු, යෝජිත ව්යාපෘතියක් විවෘත කර අවශ්ය නම් යාවත්කාලීන කරන්න. පවතින ව්යාපෘතියක් විවෘත කිරීමේ සරලම ක්රමය නම් *.ioc මත දෙවරක් ක්ලික් කිරීමයි file එවිට STM32CubeMX ස්වයංක්රීයව ව්යාපෘතිය සහ එහි මූලාශ්රය විවෘත කරයි files.
- STM32CubeMX එවැනි ව්යාපෘතිවල ආරම්භක මූල කේතය ජනනය කරයි. ප්රධාන යෙදුම් මූලාශ්ර කේතය අඩංගු වන්නේ "USER CODE BEGIN" සහ "USER CODE END" යන අදහස් මගිනි. IP තේරීම සහ සැකසුම වෙනස් කර ඇති අවස්ථාවක, STM32CubeMX කේතයේ ආරම්භක කොටස යාවත්කාලීන කරන නමුත් ප්රධාන යෙදුම් මූල කේතය ආරක්ෂා කරයි.
- STM32CubeMX හි අභිරුචි ව්යාපෘතියක් සංවර්ධනය කිරීම සඳහා, පියවරෙන් පියවර ක්රියාවලිය අනුගමනය කරන්න:
- අවශ්ය පර්යන්ත කට්ටලයට ගැලපෙන STM32 ක්ෂුද්ර පාලකය තෝරන්න.
- පින්අවුට්-ගැටුම් විසදුමක්, ඔරලෝසු-ගස් සැකසුම් සහායකයක්, බල පරිභෝජන කැල්කියුලේටරයක් සහ MCU පර්යන්ත වින්යාසය (GPIO හෝ USART වැනි) සහ මිඩ්ල්වෙයාර් ස්ටැක් (USB වැනි) ක්රියාත්මක කරන උපයෝගීතා භාවිතයෙන් අවශ්ය සියලුම කාවැද්දූ මෘදුකාංග වින්යාස කරන්න.
- තෝරාගත් වින්යාසය මත පදනම්ව ආරම්භක C කේතය ජනනය කරන්න. මෙම කේතය සංවර්ධන පරිසරයන් කිහිපයක් තුළ භාවිතා කිරීමට සූදානම්ය. පරිශීලක කේතය ඊළඟ කේත උත්පාදනයේ තබා ඇත.
- STM32CubeMX පිළිබඳ වැඩි විස්තර සඳහා, STM32 වින්යාස කිරීම සහ ආරම්භක C කේත උත්පාදනය (UM32) සඳහා පරිශීලක අත්පොත STM1718CubeMX බලන්න.
- පවතින ව්යාපෘති ලැයිස්තුවක් සඳහා exampSTM32CubeWBA සඳහා les, යෙදුම් සටහන බලන්න STM32Cube firmware exampSTM32WBA ශ්රේණි සඳහා les (AN5929).
රියදුරු යෙදුම්
HAL යෙදුම
මෙම කොටස STM32CubeWBA භාවිතයෙන් අභිරුචි HAL යෙදුමක් නිර්මාණය කිරීමට අවශ්ය පියවර විස්තර කරයි:
- ව්යාපෘතියක් සාදන්න
- නව ව්යාපෘතියක් තැනීමට, \Projects\ යටතේ එක් එක් පුවරුව සඳහා ලබා දී ඇති සැකිලි ව්යාපෘතියෙන් ආරම්භ කරන්න. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \Exam ples හෝ \Projects\ \යෙදුම් (කොහේ STM32CubeWBA වැනි පුවරු නාමයට යොමු කරයි).
- සැකිලි ව්යාපෘතිය හිස් ප්රධාන ලූප ශ්රිතයක් සපයයි. කෙසේ වෙතත්, එය STM32CubeWBA ව්යාපෘති සැකසුම් තේරුම් ගැනීමට හොඳ ආරම්භක ලක්ෂ්යයකි. සැකිල්ලට පහත ලක්ෂණ ඇත:
- එහි HAL මූල කේතය, CMSIS සහ BSP ධාවක අඩංගු වන අතර, එය ලබා දී ඇති පුවරුවක කේතයක් සංවර්ධනය කිරීමට අවශ්ය අවම සංරචක සමූහය වේ.
- සියලුම ස්ථිරාංග සංරචක සඳහා ඇතුළත් කර ඇති මාර්ග එහි අඩංගු වේ.
- එය සහාය දක්වන STM32WBA ශ්රේණි උපාංග නිර්වචනය කරයි, CMSIS සහ HAL ධාවක නිවැරදිව වින්යාස කිරීමට ඉඩ සලසයි.
- එය භාවිතා කිරීමට සූදානම් පරිශීලක සපයයි fileපහත දැක්වෙන පරිදි පෙර වින්යාස කර ඇත:
HAL Arm® core SysTick සමඟ පෙරනිමි කාල පදනම සමඟ ආරම්භ කරන ලදී. SysTick ISR HAL_Delay() අරමුණ සඳහා ක්රියාත්මක කරන ලදී.
සටහන: පවතින ව්යාපෘතියක් වෙනත් ස්ථානයකට පිටපත් කිරීමේදී, ඇතුළත් කර ඇති සියලුම මාර්ග යාවත්කාලීන කර ඇති බවට වග බලා ගන්න.
- පරිශීලක ව්යාපෘතියට අවශ්ය මිඩ්ල්වෙයාර් එක් කරන්න (විකල්ප)
මූලාශ්රය හඳුනා ගැනීමට fileව්යාපෘතියට එකතු කිරීමට නියමිතයි file ලැයිස්තුව, එක් එක් මිඩ්ල්වෙයාර් සඳහා සපයා ඇති ලියකියවිලි වෙත යොමු වන්න. \Projects\STM32xxx_yyy\Applications\ යටතේ යෙදුම් බලන්න (කොහේ කුමන මූලාශ්රයදැයි දැන ගැනීමට ThreadX) වැනි මිඩ්ල්වෙයාර් තොගයට යොමු කරයි files සහ ඇතුළත් මාර්ග එකතු කළ යුතුය. - ස්ථිරාංග සංරචක වින්යාස කරන්න
HAL සහ මිඩ්ල්වෙයාර් සංරචක මැක්රෝස් භාවිතා කරමින් ගොඩනගන කාල වින්යාස විකල්ප කට්ටලයක් ඉදිරිපත් කරයි #define ප්රකාශිත ශීර්ෂකය file. අච්චු වින්යාසයක් file එක් එක් සංරචකය තුළ සපයනු ලැබේ, එය ව්යාපෘති ෆෝල්ඩරයට පිටපත් කළ යුතුය (සාමාන්යයෙන් වින්යාසය file xxx_conf_template.h ලෙස නම් කර ඇත, ව්යාපෘති ෆෝල්ඩරයට පිටපත් කිරීමේදී _template යන වචනය ඉවත් කළ යුතුය). වින්යාසය file එක් එක් වින්යාස විකල්පයේ බලපෑම තේරුම් ගැනීමට ප්රමාණවත් තොරතුරු සපයයි. එක් එක් සංරචක සඳහා සපයන ලද ලේඛනවල වඩාත් සවිස්තරාත්මක තොරතුරු තිබේ. - HAL පුස්තකාලය ආරම්භ කරන්න
ප්රධාන වැඩසටහනට පැනීමෙන් පසු, පහත සඳහන් කාර්යයන් ඉටු කරන HAL පුස්තකාලය ආරම්භ කිරීමට යෙදුම් කේතය HAL_Init() API ඇමතීමට අවශ්ය වේ:- ෆ්ලෑෂ් මතක ප්රිෆෙච් සහ SysTick බාධා කිරීම් ප්රමුඛතාවයේ වින්යාසය (st m32wbaxx_hal_conf.h හි අර්ථ දක්වා ඇති මැක්රෝස් හරහා).
- stm32wbaxx_hal_conf.h හි අර්ථ දක්වා ඇති SysTick බාධා කිරීම් ප්රමුඛතාවයේ TICK_INT_PRIO හි සෑම මිලි තත්පරයකම බාධාවක් ජනනය කිරීමට SysTick වින්යාස කිරීම.
- NVIC කණ්ඩායම් ප්රමුඛතාවය 0 ට සැකසීම.
- stm32wbaxx_hal_msp.c පරිශීලකයා තුළ අර්ථ දක්වා ඇති HAL_MspInit() ආපසු ඇමතුම් ශ්රිතයේ ඇමතුම file ගෝලීය පහත් මට්ටමේ දෘඪාංග ආරම්භ කිරීම් සිදු කිරීමට.
- පද්ධති ඔරලෝසුව වින්යාස කරන්න
පද්ධති ඔරලෝසු වින්යාසය පහත විස්තර කර ඇති API දෙක ඇමතීමෙන් සිදු කෙරේ:- HAL_RCC_OscConfig(): මෙම API අභ්යන්තර සහ බාහිර ඔස්කිලේටර් වින්යාස කරයි. පරිශීලකයා ඔස්කිලේටර් එකක් හෝ සියල්ලම වින්යාස කිරීමට තෝරා ගනී.
- HAL_RCC_ClockConfig(): මෙම API මඟින් පද්ධති ඔරලෝසු මූලාශ්රය, ෆ්ලෑෂ් මතක ප්රමාදය, සහ AHB සහ APB prescalers වින්යාස කරයි.
- පර්යන්තය ආරම්භ කරන්න
- මුලින්ම පර්යන්ත HAL_PPP_MspInit ශ්රිතය ලියන්න. පහත පරිදි ඉදිරියට යන්න:
- පර්යන්ත ඔරලෝසුව සක්රිය කරන්න.
- පර්යන්ත GPIOs වින්යාස කරන්න.
- DMA නාලිකාව වින්යාස කර DMA බාධාව සබල කරන්න (අවශ්ය නම්).
- පර්යන්ත බාධා කිරීම් සක්රිය කරන්න (අවශ්ය නම්).
- අවශ්ය නම් අවශ්ය බාධා හසුරුවන්න (පර්යන්ත සහ DMA) ඇමතීමට stm32xxx_it.c සංස්කරණය කරන්න.
- පර්යන්ත බාධාවක් හෝ DMA භාවිතා කිරීමට සැලසුම් කර ඇත්නම්, ක්රියාවලිය සම්පූර්ණ ආපසු කැඳවීමේ කාර්යයන් ලියන්න.
- පරිශීලක main.c හි file, පර්යන්ත හසුරු ව්යුහය ආරම්භ කර පර්යන්තය ආරම්භ කිරීමට HAL_PPP_Init() ශ්රිතය අමතන්න.
- මුලින්ම පර්යන්ත HAL_PPP_MspInit ශ්රිතය ලියන්න. පහත පරිදි ඉදිරියට යන්න:
- යෙදුමක් සංවර්ධනය කරන්න
- මෙහිදී එස්tage, පද්ධතිය සූදානම් වන අතර පරිශීලක යෙදුම් කේත සංවර්ධනය ආරම්භ කළ හැක.
- පර්යන්තය වින්යාස කිරීම සඳහා HAL විසින් අවබෝධාත්මක සහ භාවිතයට සූදානම් API සපයයි. එය ඕනෑම යෙදුම් අවශ්යතාවයක් සපුරාලීම සඳහා ඡන්ද විමසීම්, බාධා කිරීම් සහ DMA ක්රමලේඛන ආකෘතියකට සහය දක්වයි. එක් එක් පර්යන්ත භාවිතා කරන්නේ කෙසේද යන්න පිළිබඳ වැඩි විස්තර සඳහා, පොහොසත් හිටපු අය වෙත යොමු වන්නample set STM32CubeWBA MCU පැකේජය තුළ සපයා ඇත.
අවවාදයයි: පෙරනිමි HAL ක්රියාත්මක කිරීමේදී, SysTick ටයිමරය කාල පදනමක් ලෙස භාවිතා කරයි: එය නිත්ය කාල පරාසයන් තුළ බාධා කිරීම් ජනනය කරයි. HAL_Delay() පර්යන්ත ISR ක්රියාවලියෙන් කැඳවනු ලැබුවහොත්, SysTick බාධාවට පර්යන්ත බාධාවට වඩා ඉහළ ප්රමුඛතාවයක් (සංඛ්යාත්මකව අඩු) ඇති බවට වග බලා ගන්න. එසේ නොමැති නම්, ඇමතුම්කරු ISR ක්රියාවලිය අවහිර කරනු ලැබේ. පරිශීලකයා තුළ වෙනත් ක්රියාත්මක කිරීම් වලදී ප්රතික්ෂේප කිරීමට හැකි වන පරිදි කාල පාදක වින්යාසයන්ට බලපාන කාර්යයන් __දුර්වල ලෙස ප්රකාශ කරනු ලැබේ. file (සාමාන්ය කාර්ය ටයිමරයක් භාවිතා කරමින්, උදාample, හෝ වෙනත් කාල මූලාශ්රයක්). වැඩි විස්තර සඳහා, HAL_TimeBase ex බලන්නample.
LL අයදුම්පත
මෙම කොටස STM32CubeWBA භාවිතයෙන් අභිරුචි LL යෙදුමක් නිර්මාණය කිරීමට අවශ්ය පියවර විස්තර කරයි.
- ව්යාපෘතියක් සාදන්න
- නව ව්යාපෘතියක් නිර්මාණය කිරීමට, එක් එක් පුවරුව සඳහා \Projects\ යටතේ ලබා දී ඇති Templates_LL ව්යාපෘතියෙන් ආරම්භ කරන්න. \Templates_LL, හෝ \Projects යටතේ පවතින ඕනෑම ව්යාපෘතියකින් \උදාamples_LL ( NUCLEO-WBA32CG වැනි පුවරු නාමයට යොමු කරයි).
- අච්චු ව්යාපෘතිය හිස් ප්රධාන ලූප ශ්රිතයක් සපයයි, එය STM32CubeWBA සඳහා ව්යාපෘති සැකසීම් තේරුම් ගැනීමට හොඳ ආරම්භක ලක්ෂ්යයකි. සැකිලි ප්රධාන ලක්ෂණ පහත දැක්වේ:
- එහි LL සහ CMSIS ධාවකවල ප්රභව කේත අඩංගු වේ, එය ලබා දී ඇති පුවරුවක කේතය සංවර්ධනය කිරීමට අවශ්ය අවම සංරචක සමූහය වේ.
- අවශ්ය සියලුම ස්ථිරාංග සංරචක සඳහා ඇතුළත් කර ඇති මාර්ග එහි අඩංගු වේ.
- එය සහාය දක්වන STM32WBA ශ්රේණි උපාංගය තෝරාගෙන CMSIS සහ LL ධාවකවල නිවැරදි වින්යාස කිරීමට ඉඩ දෙයි.
- එය භාවිතයට සූදානම් පරිශීලකයන් සපයයි fileපහත පරිදි පූර්ව වින්යාස කර ඇත:
◦ main.h: LED සහ USER_BUTTON නිර්වචන වියුක්ත ස්තරය.
◦ main.c: උපරිම සංඛ්යාතය සඳහා පද්ධති ඔරලෝසු වින්යාසය.
- පවතින ව්යාපෘතියක් වෙනත් මණ්ඩලයකට වරාය
වෙනත් ඉලක්ක පුවරුවක පවතින ව්යාපෘතියකට සහාය වීමට, එක් එක් පුවරුව සඳහා ලබා දී ඇති සහ \Projects\ යටතේ ලබා ගත හැකි Templates_LL ව්යාපෘතියෙන් ආරම්භ කරන්න. \ සැකිලි_LL.- LL හිටපු කෙනෙක් තෝරන්නample: LL හිටපු පුවරුව සොයා ගැනීමටamples යොදවා ඇත, LL ex ලැයිස්තුව බලන්නamples STM32CubeProjectsList.html.
- වරාය LL exampලෙ:
- මුල් මූලාශ්රය තබා ගැනීමට - Templates_LL ෆෝල්ඩරය පිටපත් කරන්න/අලවන්න - නැතහොත් පවතින Temp lates_LL ව්යාපෘතිය සෘජුවම යාවත්කාලීන කරන්න.
- එවිට porting ප්රධාන වශයෙන් Templates_LL ප්රතිස්ථාපනයෙන් සමන්විත වේ fileහිටපු විසින්amples_LL ඉලක්කගත ව්යාපෘතිය.
- සියලුම පුවරු විශේෂිත කොටස් තබා ගන්න. පැහැදිලි හේතූන් මත, පුවරුවේ විශේෂිත කොටස් විශේෂිත ලෙස සලකුණු කර ඇත tags:
- මේ අනුව, ප්රධාන වරාය පියවර පහත පරිදි වේ:
- stm32wbaxx_it.h ප්රතිස්ථාපනය කරන්න file
- stm32wbaxx_it.c ප්රතිස්ථාපනය කරන්න file
- main.h ප්රතිස්ථාපනය කරන්න file සහ එය යාවත්කාලීන කරන්න: LL සැකිල්ලේ LED සහ පරිශීලක බොත්තම් නිර්වචනය BOARD විශේෂිත වින්යාසය යටතේ තබා ගන්න tags.
- main.c ප්රතිස්ථාපනය කරන්න file සහ එය යාවත්කාලීන කරන්න:
- SystemClock_Config() LL අච්චු ශ්රිතයේ ඔරලෝසු වින්යාසය BOARD SPECIFIC CONFIGURATION යටතේ තබා ගන්න tags.
- LED නිර්වචනය මත පදනම්ව, එක් එක් LDx සිදුවීම ප්රධාන.h හි ඇති වෙනත් LDy සමඟ ප්රතිස්ථාපනය කරන්න file.
- මෙම වෙනස් කිරීම් සමඟ, හිටපුample දැන් ඉලක්කගත පුවරුව මත ධාවනය වේ
ආරක්ෂක යෙදුම්
මෙම පැකේජය ආරක්ෂක යෙදුම් සමඟ බෙදා හරිනු ලැබේ.
SBSFU යෙදුම්
- SBSFU විසින් Secure Boot සහ Secure Firmware Update ක්රියාකාරීත්වයන් (MCUboot මත පදනම්ව) ඇතුළුව විශ්වාසනීය විසඳුමක් සපයයි.
- යෙදුම ක්රියාත්මක කිරීමට පෙර විසඳුම භාවිතා වේ.
- විසඳුම හිටපු සපයයිampඅනාරක්ෂිත යෙදුමෙන් හුදකලා වූ ආරක්ෂිත සේවාවක (GPIO ටොගල්). ධාවන වේලාවේදී අනාරක්ෂිත යෙදුමට තවමත් මෙම විසඳුම භාවිතා කළ හැක.
TFM යෙදුම්
TFM මඟින් ආරක්ෂිත ඇරඹුම් සහ ආරක්ෂිත ස්ථිරාංග යාවත්කාලීන ක්රියාකාරීත්වය ඇතුළුව විශ්වාසනීය විසඳුමක් සපයයි.
(MCUboot මත පදනම්ව). යෙදුම ක්රියාත්මක කිරීමට පෙර විසඳුම භාවිතා වේ. විසඳුම අනාරක්ෂිත යෙදුමෙන් හුදකලා වූ TFM ආරක්ෂිත සේවා සපයයි. ධාවන වේලාවේදී අනාරක්ෂිත යෙදුමට තවමත් මෙම විසඳුම භාවිතා කළ හැක.
RF යෙදුම්
RF යෙදුම මෙම යෙදුම් සටහනේ විස්තර කර ඇත: STM32WBA ශ්රේණියේ ක්ෂුද්ර පාලක (AN5928) සමඟ රැහැන් රහිත යෙදුම් ගොඩනැගීම.
STM32CubeWBA නිකුතු යාවත්කාලීන ලබා ගැනීම
නවතම STM32CubeWBA MCU පැකේජ නිකුතු සහ පැච් STM32WBA Series වෙතින් ලබා ගත හැක. ඒවා STM32CubeMX හි CHECK FOR UPDATE බොත්තමෙන් ලබා ගත හැක. වැඩි විස්තර සඳහා, STM3 වින්යාස කිරීම සහ ආරම්භක C කේත උත්පාදනය (UM32) සඳහා පරිශීලක අත්පොත STM32CubeMX හි 1718 කොටස බලන්න.
නිති අසන පැණ
- LL ධාවක වෙනුවට HAL භාවිතා කළ යුත්තේ කවදාද?
- HAL රියදුරන් ඉහළ මට්ටමේ අතේ ගෙන යා හැකි හැකියාවක් සහිත ඉහළ මට්ටමේ සහ ක්රියාකාරී-නැඹුරු API ලබා දෙයි. නිෂ්පාදනය හෝ පර්යන්ත සංකීර්ණත්වය අවසන් පරිශීලකයින් සඳහා සඟවා ඇත.
- LL ධාවකයන් අඩු-ස්ථර රෙජිස්ටර් මට්ටමේ API ලබා දෙයි, වඩා හොඳ ප්රශස්තකරණයක් සහිත නමුත් අඩු අතේ ගෙන යා හැකි. ඔවුන්ට නිෂ්පාදන හෝ IP පිරිවිතර පිළිබඳ ගැඹුරු දැනුමක් අවශ්ය වේ.
- මට HAL සහ LL ධාවක එකට භාවිතා කළ හැකිද? මට හැකි නම්, සීමාවන් මොනවාද?
- HAL සහ LL ධාවක දෙකම භාවිතා කළ හැකිය. IP ආරම්භක අදියර සඳහා HAL භාවිතා කරන්න, ඉන්පසු LL ධාවක සමඟ I/O මෙහෙයුම් කළමනාකරණය කරන්න.
- HAL සහ LL අතර ඇති ප්රධාන වෙනස නම් HAL රියදුරන්ට මෙහෙයුම් කළමනාකරණය සඳහා හැන්ඩ්ල් නිර්මාණය කිරීම සහ භාවිතා කිරීම අවශ්ය වන අතර LL රියදුරන් සෘජුවම පර්යන්ත ලේඛන මත ක්රියා කරයි. හිටපුamples_MIX උදාample මගින් HAL සහ LL මිශ්ර කරන ආකාරය නිදර්ශනය කරයි.
- LL ආරම්භක API සබල කර ඇත්තේ කෙසේද?
- LL ආරම්භක API වල නිර්වචනය සහ ආශ්රිත සම්පත් (ව්යුහයන්, වචනාර්ථ, සහ මූලාකෘති) USE_FULL_LL_DRIVER සම්පාදන ස්විචය මගින් කොන්දේසිගත කර ඇත.
- LL ආරම්භක API භාවිතා කිරීමට හැකි වීම සඳහා, මෙවලම් දාම සම්පාදක පූර්ව සකසනය තුළ මෙම ස්විචය එක් කරන්න.
- Embedded මෘදුකාංග මත පදනම්ව STM32CubeMX කේතය ජනනය කරන්නේ කෙසේද?
STM32CubeMX සතුව STM32 ක්ෂුද්ර පාලකයන් පිළිබඳ ගොඩනඟන ලද දැනුමක් ඇත, ඒවායේ පර්යන්ත සහ මෘදුකාංග ඇතුළුව පරිශීලකයාට චිත්රක නිරූපණයක් සැපයීමට සහ *.h හෝ *.c ජනනය කිරීමට ඉඩ සලසයි. fileපරිශීලක වින්යාසය මත පදනම් වේ.
වැදගත් දැනුම්දීම - ප්රවේශමෙන් කියවන්න
- STMicroelectronics NV සහ එහි අනුබද්ධ සමාගම් ("ST") දැනුම්දීමකින් තොරව ඕනෑම අවස්ථාවක ST නිෂ්පාදන සහ/හෝ මෙම ලේඛනයට වෙනස්කම්, නිවැරදි කිරීම්, වැඩිදියුණු කිරීම්, වෙනස් කිරීම් සහ වැඩිදියුණු කිරීම් සිදු කිරීමට අයිතිය රඳවා තබා ගනී. ඇණවුම් කිරීමට පෙර ගැනුම්කරුවන් ST නිෂ්පාදන පිළිබඳ නවතම අදාළ තොරතුරු ලබා ගත යුතුය. ST නිෂ්පාදන ඇණවුම් පිළිගැනීමේ අවස්ථාවේදී ST හි විකුණුම් නියමයන් සහ කොන්දේසි වලට අනුකූලව විකුණනු ලැබේ.
- ST නිෂ්පාදන තෝරා ගැනීම, තෝරා ගැනීම සහ භාවිතය සඳහා ගැනුම්කරුවන් තනිකරම වගකිව යුතු අතර ST යෙදුම් සහාය හෝ ගැනුම්කරුවන්ගේ නිෂ්පාදන සැලසුම් කිරීම සඳහා කිසිදු වගකීමක් භාර නොගනී.
- මෙහි ST විසින් කිසිදු බුද්ධිමය දේපල අයිතියක් සඳහා ප්රකාශිත හෝ ඇඟවුම් කර ඇති බලපත්රයක් ලබා නොදේ.
- මෙහි දක්වා ඇති තොරතුරුවලට වඩා වෙනස් විධිවිධාන සහිත ST නිෂ්පාදන නැවත විකිණීමෙන් එවැනි නිෂ්පාදනයක් සඳහා ST විසින් ලබා දී ඇති වගකීමක් අවලංගු වේ.
- ST සහ ST ලාංඡනය ST හි වෙළඳ ලකුණු වේ. ST වෙළඳ ලකුණු පිළිබඳ අමතර තොරතුරු සඳහා, www.st.com/trademarks වෙත යොමු වන්න. අනෙකුත් සියලුම නිෂ්පාදන හෝ සේවා නම් ඒවායේ අයිතිකරුවන්ගේ දේපළ වේ.
- මෙම ලේඛනයේ ඇති තොරතුරු මෙම ලේඛනයේ ඕනෑම පෙර අනුවාදවල කලින් සැපයූ තොරතුරු ආදේශ කර ප්රතිස්ථාපනය කරයි.
- © 2023 STMicroelectronics - සියලුම හිමිකම් ඇවිරිණි
ලේඛන / සම්පත්
![]() |
STMmicroelectronics STM32WBA මාලාව ආරම්භ කිරීම [pdf] පරිශීලක අත්පොත STM32WBA මාලාව ආරම්භ කිරීම, ආරම්භ කිරීම, ආරම්භ කිරීම |