STMicroelectronics STM32WBA ຊຸດເລີ່ມຕົ້ນ
ຂໍ້ມູນຜະລິດຕະພັນ
ຂໍ້ມູນຈໍາເພາະ:
- ຊື່ຜະລິດຕະພັນ: ຊຸດ STM32CubeWBA MCU
- ຜູ້ຜະລິດ: STMicroelectronics
- ຄວາມເຂົ້າກັນໄດ້: STM32WBA ຊຸດ microcontrollers
- ໃບອະນຸຍາດ: ໃບອະນຸຍາດແຫຼ່ງເປີດ BSD
ຄໍາແນະນໍາການນໍາໃຊ້ຜະລິດຕະພັນ
ຄຸນນະສົມບັດຕົ້ນຕໍຂອງຊຸດ STM32CubeWBA MCU:
ຊຸດ STM32CubeWBA MCU ສະໜອງອົງປະກອບຊອບແວທີ່ຝັງໄວ້ທັງໝົດທີ່ຈຳເປັນສຳລັບການພັດທະນາແອັບພລິເຄຊັນໃນຊຸດ microcontrollers STM32WBA. ມັນເປັນແບບພົກພາສູງພາຍໃນຊຸດ STM32 ແລະມາພ້ອມກັບ HAL ແລະ LL APIs, examples, ແລະອົງປະກອບກາງ.
ສະຖາປັດຕະຍະກໍາview:
ສະຖາປັດຕະຍະກໍາຂອງຊຸດ STM32CubeWBA MCU ປະກອບດ້ວຍສາມລະດັບ - ແອັບພລິເຄຊັນ, ຫ້ອງສະຫມຸດແລະອົງປະກອບທີ່ອີງໃສ່ໂປໂຕຄອນ, ຊັ້ນການສະກັດເອົາຮາດແວ, ໄດເວີ BSP, ໄດເວີຫຼັກ, ແລະ APIs ຊັ້ນຕ່ໍາ.
FAQ
- ສິ່ງທີ່ລວມຢູ່ໃນຊຸດ STM32CubeWBA MCU?
ຊຸດປະກອບມີຊັ້ນຕ່ໍາ (LL) ແລະຊັ້ນ abstraction ຮາດແວ (HAL) APIs, ຕົວຢ່າງamples, ຄໍາຮ້ອງສະຫມັກ, ອົງປະກອບກາງເຊັ່ນ: FileX/LevelX, NetX Duo, mbed-crypto libraries, ແລະອື່ນໆອີກ. - ຊຸດ STM32CubeWBA MCU ໃຊ້ໄດ້ກັບເຄື່ອງສ້າງລະຫັດ 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 (ເຊັ່ນ: STM32CubeWBA ສໍາລັບຊຸດ STM32WBA), ເຊິ່ງລວມມີ:
- STM32Cube abstraction layer (HAL), ຮັບປະກັນການເຄື່ອນທີ່ສູງສຸດໃນທົ່ວຫຼັກຊັບ STM32
- STM32Cube APIs ຊັ້ນຕ່ໍາ, ຮັບປະກັນການປະຕິບັດທີ່ດີທີ່ສຸດແລະຮອຍຕີນທີ່ມີລະດັບສູງຂອງການຄວບຄຸມຜູ້ໃຊ້ໃນໄລຍະຮາດແວ.
- ຊຸດທີ່ສອດຄ່ອງຂອງອົງປະກອບກາງເຊັ່ນ ThreadX, FileX/LevelX, NetX Duo, USBX, touch library, mbed-crypto, TFM, MCUboot, OpenBL, ແລະ STM32_WPAN (ລວມທັງ Bluetooth® Low Energy profiles ແລະການບໍລິການ, Mesh, Zigbee®, OpenThread, Matter, ແລະຊັ້ນ MAC 802.15.4)
- ອຸປະຖຳຂອງຊອບແວທີ່ຝັງໄວ້ທັງໝົດທີ່ມີຊຸດອຸປະກອນຕໍ່ພ່ວງ ແລະ ແອັບພລິເຄຊັນamples
- STM32Cube Expansion Packages, ເຊິ່ງປະກອບດ້ວຍອົງປະກອບຊອບແວທີ່ຝັງໄວ້ທີ່ເສີມການທໍາງານຂອງ STM32Cube MCU ແລະ MPU Packages ກັບ:
- ສ່ວນຂະຫຍາຍອຸປະກອນກາງ ແລະຊັ້ນນຳໃຊ້
- Examples ແລ່ນຢູ່ໃນບາງກະດານພັດທະນາ STMicroelectronics ສະເພາະ
- ຊຸດຂອງເຄື່ອງມືພັດທະນາຊອບແວທີ່ເປັນມິດກັບຜູ້ໃຊ້ເພື່ອກວມເອົາການພັດທະນາໂຄງການຈາກແນວຄວາມຄິດໄປສູ່ການປະຕິບັດຕົວຈິງ, ໃນນັ້ນມີ:
- ຄູ່ມືຜູ້ໃຊ້ນີ້ອະທິບາຍວິທີການເລີ່ມຕົ້ນດ້ວຍຊຸດ STM32CubeWBA MCU.
- ພາກທີ 2 ລັກສະນະຕົ້ນຕໍ STM32CubeWBA ອະທິບາຍລັກສະນະຕົ້ນຕໍຂອງຊຸດ STM32CubeWBA MCU.
- ພາກທີ 3 ສະຖາປັດຕະຍະກຳ STM32CubeWBA ສິ້ນສຸດລົງview ສະຫນອງຫຼາຍກວ່າview ຂອງສະຖາປັດຕະຍະກໍາ STM32CubeWBA ແລະໂຄງສ້າງ MCU Package.
ຂໍ້ມູນທົ່ວໄປ
ຊຸດ STM32CubeWBA MCU ແລ່ນດ້ວຍໄມໂຄຄອນຄວບຄຸມ STM32 32-bit ໂດຍອີງໃສ່ໂປເຊດເຊີ Arm® Cortex®-M33 ທີ່ມີ Arm® TrustZone® ແລະ FPU.
ໝາຍເຫດ: Arm ແລະ TrustZone ແມ່ນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງ Arm Limited (ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ) ໃນສະຫະລັດ ແລະ/ຫຼືຢູ່ບ່ອນອື່ນ.
ຄຸນນະສົມບັດຕົ້ນຕໍ STM32CubeWBA
- ຊຸດ STM32CubeWBA MCU ແລ່ນດ້ວຍໄມໂຄຄອນຄວບຄຸມ STM32 32-bit ໂດຍອີງໃສ່ໂປເຊດເຊີ Arm® Cortex®-M33 ກັບ TrustZone® ແລະ FPU.
- STM32CubeWBA ລວບລວມ, ໃນຊຸດດຽວ, ອົງປະກອບຊອບແວຝັງທົ່ວໄປທັງຫມົດທີ່ຕ້ອງການເພື່ອພັດທະນາແອັບພລິເຄຊັນສໍາລັບ microcontrollers ຊຸດ STM32WBA. ສອດຄ່ອງກັບການລິເລີ່ມຂອງ STM32Cube, ອົງປະກອບຂອງຊຸດນີ້ແມ່ນມີຄວາມຍືດຫຍຸ່ນສູງ, ບໍ່ພຽງແຕ່ຢູ່ໃນຊຸດ microcontrollers STM32WBA ເທົ່ານັ້ນ, ແຕ່ຍັງຢູ່ໃນຊຸດ STM32 ອື່ນໆ.
- STM32CubeWBA ແມ່ນເຂົ້າກັນໄດ້ຢ່າງເຕັມສ່ວນກັບເຄື່ອງສ້າງລະຫັດ STM32CubeMX, ເພື່ອສ້າງລະຫັດເບື້ອງຕົ້ນ. ຊຸດປະກອບມີຊັ້ນຕ່ໍາ (LL) ແລະຊັ້ນ abstraction ຮາດແວ (HAL) APIs ທີ່ກວມເອົາຮາດແວ microcontroller, ພ້ອມກັບຊຸດອັນກວ້າງຂວາງຂອງ ex.amples ແລ່ນຢູ່ໃນກະດານ STMicroelectronics. HAL ແລະ LL APIs ແມ່ນມີຢູ່ໃນໃບອະນຸຍາດ BSD ແຫຼ່ງເປີດເພື່ອຄວາມສະດວກຂອງຜູ້ໃຊ້.
- ຊຸດ STM32CubeWBA MCU ຍັງປະກອບດ້ວຍອົງປະກອບກາງທີ່ສົມບູນທີ່ສ້າງຂຶ້ນຮອບຕົວກາງຂອງ Microsoft® Azure® RTOS, ແລະ stacks ພາຍໃນເຮືອນ ແລະ open-source ອື່ນໆ, ກັບ ex ທີ່ສອດຄ້ອງກັນ.amples.
- ພວກມັນມາພ້ອມກັບເງື່ອນໄຂໃບອະນຸຍາດທີ່ເປັນມິດກັບຜູ້ໃຊ້ຟຣີ:
- Azure® RTOS ປະສົມປະສານ ແລະມີລັກສະນະເຕັມຮູບແບບ: Azure® RTOS ThreadX
- ການປະຕິບັດ CMSIS-RTOS ກັບAzure® RTOS ThreadX
- USB Host ແລະ stacks ອຸປະກອນມາພ້ອມກັບຫຼາຍຫ້ອງຮຽນ: Azure® RTOS USBX
- ຂັ້ນສູງ file ລະບົບແລະຊັ້ນການແປພາສາ Flash: FileX / LevelX
- ເຄືອຂ່າຍຊັ້ນຮຽນທີອຸດສາຫະກຳ: ປັບປຸງໃຫ້ເໝາະສົມກັບປະສິດທິພາບທີ່ມາພ້ອມກັບໂປໂຕຄອນ IoT ຫຼາຍ: NetX Duo
- OpenBootloader
- Arm® Trusted Firmware-M (TF‑M) ການແກ້ໄຂການເຊື່ອມໂຍງ
- mbed-crypto ຫ້ອງສະຫມຸດ
- ຫໍສະໝຸດ ST Netwok
- ການແກ້ໄຂຫ້ອງສະໝຸດການຮັບຮູ້ການສຳຜັດ STMTouch
- ແອັບພລິເຄຊັ່ນ ແລະການສາທິດຫຼາຍໆອັນທີ່ປະຕິບັດອົງປະກອບກາງເຫຼົ່ານີ້ທັງໝົດແມ່ນຍັງສະໜອງໃຫ້ຢູ່ໃນຊຸດ STM32CubeWBA MCU.
- ການຈັດວາງອົງປະກອບຊຸດ STM32CubeWBA MCU ແມ່ນສະແດງຢູ່ໃນຮູບທີ 1. ອົງປະກອບຊຸດ STM32CubeWBA MCU .
ສະຖາປັດຕະຍະກຳ STM32CubeWBA ສິ້ນສຸດລົງview
ການແກ້ໄຂຊຸດ STM32CubeWBA MCU ຖືກສ້າງຂຶ້ນປະມານສາມລະດັບເອກະລາດທີ່ໂຕ້ຕອບໄດ້ງ່າຍດັ່ງທີ່ອະທິບາຍໄວ້ໃນຮູບ 2. ສະຖາປັດຕະຍະກໍາຊຸດ STM32CubeWBA MCU.
ລະດັບ 0
ລະດັບນີ້ແບ່ງອອກເປັນສາມຊັ້ນຍ່ອຍ:
- ຊຸດສະຫນັບສະຫນູນກະດານ (BSP).
- ຮາດແວ abstraction layer (HAL):
- HAL ໄດເວີຕໍ່ຂ້າງ
- ໄດເວີຊັ້ນຕ່ໍາ
- ການນໍາໃຊ້ອຸປະກອນຕໍ່ຂ້າງພື້ນຖານ examples.
ຊຸດສະຫນັບສະຫນູນກະດານ (BSP)
ຊັ້ນນີ້ສະຫນອງຊຸດຂອງ APIs ທີ່ກ່ຽວຂ້ອງກັບອົງປະກອບຂອງຮາດແວໃນກະດານຮາດແວ (ເຊັ່ນ: LCD, Audio,\ microSD™, ແລະໄດເວີ MEMS). ມັນປະກອບດ້ວຍສອງພາກສ່ວນ:
- ໄດເວີອົງປະກອບ:
ໄດເວີນີ້ແມ່ນກ່ຽວຂ້ອງກັບອຸປະກອນພາຍນອກຢູ່ໃນກະດານ, ແລະບໍ່ແມ່ນອຸປະກອນ STM32. ໄດເວີອົງປະກອບສະຫນອງ APIs ສະເພາະກັບອົງປະກອບພາຍນອກຂອງໄດເວີ BSP ແລະສາມາດເຄື່ອນທີ່ໃນກະດານອື່ນໆ. - ຄົນຂັບ BSP:
ໄດເວີ BSP ອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ໄດເວີສ່ວນປະກອບກັບກະດານສະເພາະ, ແລະສະຫນອງຊຸດທີ່ເປັນມິດກັບຜູ້ໃຊ້
APIs. ກົດລະບຽບການຕັ້ງຊື່ API ແມ່ນ BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP ແມ່ນອີງໃສ່ສະຖາປັດຕະຍະກຳແບບໂມດູລາທີ່ໃຫ້ການພອດໄດ້ງ່າຍໃນຮາດແວໃດນຶ່ງໂດຍພຽງແຕ່ປະຕິບັດການກຳນົດລະດັບຕໍ່າ.
ຊັ້ນ abstraction ຮາດແວ (HAL) ແລະຊັ້ນຕ່ໍາ (LL)
STM32CubeWBA HAL ແລະ LL ແມ່ນໃຫ້ສົມບູນແລະກວມເອົາຄວາມຫລາກຫລາຍຂອງຄວາມຕ້ອງການຄໍາຮ້ອງສະຫມັກ:
- ໄດເວີ HAL ສະເຫນີ APIs ແບບພົກພາສູງທີ່ເນັ້ນໃສ່ຫນ້າທີ່ສູງ. ພວກມັນເຊື່ອງ MCU ແລະຄວາມຊັບຊ້ອນຂອງອຸປະກອນຕໍ່ຂ້າງໃຫ້ກັບຜູ້ໃຊ້ສຸດທ້າຍ.
ໄດເວີ HAL ສະຫນອງ APIs ຮັດກຸມລັກສະນະຫຼາຍແບບທົ່ວໄປ, ເຊິ່ງເຮັດໃຫ້ການປະຕິບັດຄໍາຮ້ອງສະຫມັກຂອງຜູ້ໃຊ້ງ່າຍຂຶ້ນໂດຍການສະຫນອງຂະບວນການພ້ອມທີ່ຈະນໍາໃຊ້. ຕົວຢ່າງample, ສໍາລັບອຸປະກອນຕໍ່ພ່ວງການສື່ສານ (I2S, UART, ແລະອື່ນໆ), ມັນສະຫນອງ APIs ອະນຸຍາດໃຫ້ການເລີ່ມຕົ້ນແລະການຕັ້ງຄ່າອຸປະກອນຂ້າງຄຽງ, ການຄຸ້ມຄອງການໂອນຂໍ້ມູນໂດຍອີງໃສ່ການລົງຄະແນນສຽງ, ການຂັດຂວາງ, ຫຼືຂະບວນການ DMA, ແລະການຈັດການຄວາມຜິດພາດການສື່ສານທີ່ອາດຈະເກີດຂື້ນໃນລະຫວ່າງການສື່ສານ. APIs ໄດເວີ HAL ຖືກແບ່ງອອກເປັນສອງປະເພດ:- APIs ທົ່ວໄປ, ເຊິ່ງສະຫນອງຫນ້າທີ່ທົ່ວໄປແລະທົ່ວໄປໃຫ້ກັບ microcontrollers ຊຸດ STM32 ທັງຫມົດ.
- Extension APIs, ເຊິ່ງສະຫນອງຫນ້າທີ່ສະເພາະແລະປັບແຕ່ງສໍາລັບຄອບຄົວສະເພາະຫຼືຈໍານວນສ່ວນສະເພາະໃດຫນຶ່ງ.
- APIs ຊັ້ນຕ່ໍາສະຫນອງ APIs ລະດັບຕ່ໍາໃນລະດັບລົງທະບຽນ, ມີການເພີ່ມປະສິດທິພາບທີ່ດີກວ່າແຕ່ມີການເຄື່ອນຍ້າຍຫນ້ອຍລົງ.
- ພວກເຂົາຕ້ອງການຄວາມຮູ້ຢ່າງເລິກເຊິ່ງກ່ຽວກັບ MCU ແລະຂໍ້ມູນສະເພາະຂອງອຸປະກອນຕໍ່ພ່ວງ.
- ໄດເວີ LL ຖືກອອກແບບມາເພື່ອສະເຫນີຊັ້ນຜູ້ຊ່ຽວຊານທີ່ມີນ້ໍາຫນັກເບົາໄວທີ່ໃກ້ຊິດກັບຮາດແວຫຼາຍກວ່າ HAL. ກົງກັນຂ້າມກັບ HAL, LL APIs ບໍ່ໄດ້ຖືກສະຫນອງໃຫ້ອຸປະກອນຕໍ່ພ່ວງທີ່ການເຂົ້າເຖິງທີ່ເຫມາະສົມບໍ່ແມ່ນລັກສະນະທີ່ສໍາຄັນ, ຫຼືສໍາລັບຜູ້ທີ່ຕ້ອງການການຕັ້ງຄ່າຊອບແວທີ່ຫນັກແຫນ້ນຫຼື stack ຊັ້ນເທິງທີ່ສັບສົນ.
- ຄຸນນະສົມບັດຂອງຄົນຂັບ LL:
- ຊຸດຂອງຟັງຊັນເພື່ອເລີ່ມຕົ້ນລັກສະນະຕົ້ນຕໍ peripheral ຕາມພາລາມິເຕີທີ່ລະບຸໄວ້ໃນໂຄງສ້າງຂໍ້ມູນ.
- ຊຸດຂອງຟັງຊັນເພື່ອຕື່ມຂໍ້ມູນໃສ່ໂຄງສ້າງຂໍ້ມູນເບື້ອງຕົ້ນດ້ວຍຄ່າປັບຄ່າທີ່ສອດຄ້ອງກັບແຕ່ລະຊ່ອງຂໍ້ມູນ.
- ຟັງຊັນສໍາລັບການ deinitialization peripheral (ການລົງທະບຽນ peripheral ກັບຄືນມາເປັນຄ່າເລີ່ມຕົ້ນຂອງເຂົາເຈົ້າ).
- ຊຸດຂອງຫນ້າທີ່ inline ສໍາລັບການເຂົ້າເຖິງການລົງທະບຽນໂດຍກົງແລະປະລໍາມະນູ.
- ຄວາມເປັນເອກະລາດຢ່າງເຕັມທີ່ຈາກ HAL ແລະຄວາມສາມາດໃນການນໍາໃຊ້ໃນຮູບແບບ standalone (ບໍ່ມີຄົນຂັບ HAL).
- ການຄຸ້ມຄອງຢ່າງເຕັມທີ່ຂອງຄຸນນະສົມບັດ peripheral ສະຫນັບສະຫນູນ.
ການນໍາໃຊ້ອຸປະກອນຕໍ່ຂ້າງພື້ນຖານ examples
ຊັ້ນນີ້ກວມເອົາ examples ສ້າງຢູ່ເທິງອຸປະກອນຕໍ່ພ່ວງ STM32 ໂດຍໃຊ້ພຽງແຕ່ຊັບພະຍາກອນ HAL ແລະ BSP.
ລະດັບ 1
ລະດັບນີ້ແບ່ງອອກເປັນສອງຊັ້ນຍ່ອຍ:
- ອົງປະກອບຂອງອຸປະກອນກາງ
- Examples ອີງໃສ່ອົງປະກອບກາງ
ອົງປະກອບຂອງອຸປະກອນກາງ
- ສື່ກາງແມ່ນຊຸດຫ້ອງສະໝຸດທີ່ກວມເອົາ Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
- Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot, ແລະ mbed-crypto.
- ປະຕິສໍາພັນຕາມລວງນອນລະຫວ່າງອົງປະກອບຂອງຊັ້ນນີ້ແມ່ນເຮັດໄດ້ໂດຍການໂທຫາ APIs ທີ່ໂດດເດັ່ນ.
- ປະຕິສໍາພັນແນວຕັ້ງກັບໄດເວີຊັ້ນຕ່ໍາແມ່ນເຮັດໄດ້ໂດຍຜ່ານການເອີ້ນຄືນສະເພາະແລະ macros static ປະຕິບັດໃນການໂຕ້ຕອບການໂທລະບົບຫ້ອງສະຫມຸດ.
- ລັກສະນະຕົ້ນຕໍຂອງແຕ່ລະອົງປະກອບກາງມີດັ່ງນີ້:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: ລະບົບປະຕິບັດການໃນເວລາຈິງ (RTOS), ຖືກອອກແບບມາສໍາລັບລະບົບຝັງຕົວທີ່ມີສອງໂຫມດເຮັດວຽກ.
- ໂໝດທົ່ວໄປ: ຟັງຊັນ RTOS ທົ່ວໄປ ເຊັ່ນ: ການຈັດການກະທູ້ ແລະ synchronization, ການຈັດການໜ່ວຍຄວາມຈຳ, ການສົ່ງຂໍ້ຄວາມ ແລະການຈັດການເຫດການ.
- ໂມດູນໂມດູນ: ໂໝດຜູ້ໃຊ້ຂັ້ນສູງທີ່ອະນຸຍາດໃຫ້ໂຫຼດ ແລະ ຖອນເອົາໂມດູນ ThreadX ທີ່ເຊື່ອມຕໍ່ໄວ້ລ່ວງໜ້າໃນການບິນຜ່ານຕົວຈັດການໂມດູນ.
- NetX Duo
- FileX
- USBX
- Azure® RTOS ThreadX: ລະບົບປະຕິບັດການໃນເວລາຈິງ (RTOS), ຖືກອອກແບບມາສໍາລັບລະບົບຝັງຕົວທີ່ມີສອງໂຫມດເຮັດວຽກ.
- Bluetooth® ພະລັງງານຕໍ່າ (BLE): ປະຕິບັດໂປຣໂຕຄໍພະລັງງານຕໍ່າ Bluetooth® ສໍາລັບຊັ້ນເຊື່ອມຕໍ່ ແລະ stack.
- MCUboot (ຊອບແວໂອເພນຊອດ)
- ໂປຣໂຕຄໍ Zigbee® ສໍາລັບ stack ແລະກຸ່ມທີ່ກ່ຽວຂ້ອງ.
- Thread® ໂປຣໂຕຄໍ stack ແລະຊັ້ນເຊື່ອມຕໍ່.
- Arm® trusted firmware-M, TF‑M (ຊອບແວໂອເພນຊອດ): ການປະຕິບັດການອ້າງອິງຂອງສະຖາປັດຕະຍະກໍາຄວາມປອດໄພແພລດຟອມ Arm® (PSA) ສໍາລັບ TrustZone® ກັບການບໍລິການທີ່ປອດໄພທີ່ກ່ຽວຂ້ອງ.
- mbed-crypto (ຊອບແວໂອເພນຊອດ): ສື່ກາງ mbed-crypto ສະໜອງການປະຕິບັດ API PSA cryptography.
- STM32 Touch sensing library: ໂຊລູຊັ່ນການສໍາພັດ STMTouch capacitive ທີ່ເຂັ້ມແຂງ, ສະຫນັບສະຫນູນຄວາມໃກ້ຊິດ, touchkey, linear ແລະ rotary sensors. ມັນແມ່ນອີງໃສ່ຫຼັກການຂອງການໂອນຄ່າໃຊ້ຈ່າຍດ້ານການພິສູດ.
- Microsoft® Azure® RTOS
Examples ອີງໃສ່ອົງປະກອບກາງ
ແຕ່ລະອົງປະກອບເຄື່ອງກາງມາພ້ອມກັບຫນຶ່ງຫຼືຫຼາຍ examples (ຍັງເອີ້ນວ່າຄໍາຮ້ອງສະຫມັກ) ສະແດງວິທີການນໍາໃຊ້ມັນ. ການປະສົມປະສານ examples ທີ່ໃຊ້ອົງປະກອບຕົວກາງຫຼາຍອັນໄດ້ຖືກສະຫນອງໃຫ້ເຊັ່ນດຽວກັນ.
ຊຸດເຟີມແວ STM32CubeWBA ສິ້ນສຸດລົງview
ຮອງຮັບອຸປະກອນຊຸດ STM32WBA ແລະຮາດແວ
- STM32Cube ສະເໜີຊັ້ນຮາດແວທີ່ບໍ່ມີຕົວຕົນແບບເຄື່ອນທີ່ສູງ (HAL) ທີ່ສ້າງຂຶ້ນອ້ອມຮອບສະຖາປັດຕະຍະກຳທົ່ວໄປ. ມັນອະນຸຍາດໃຫ້ຫຼັກການການສ້າງຊັ້ນ, ເຊັ່ນ: ການນໍາໃຊ້ຊັ້ນກາງເພື່ອປະຕິບັດຫນ້າທີ່ຂອງເຂົາເຈົ້າໂດຍບໍ່ຮູ້, ເລິກ, ສິ່ງທີ່ MCU ຖືກນໍາໃຊ້. ອັນນີ້ປັບປຸງການນຳລະຫັດຫ້ອງສະໝຸດຄືນໃໝ່ ແລະຮັບປະກັນການພົກພາໄດ້ງ່າຍຕໍ່ກັບອຸປະກອນອື່ນໆ.
- ນອກຈາກນັ້ນ, ຂໍຂອບໃຈກັບສະຖາປັດຕະຍະກໍາຊັ້ນຂອງມັນ, STM32CubeWBA ສະຫນອງການສະຫນັບສະຫນູນຢ່າງເຕັມທີ່ຂອງຊຸດ STM32WBA ທັງຫມົດ.
- ຜູ້ໃຊ້ມີພຽງແຕ່ກໍານົດ macro ທີ່ຖືກຕ້ອງໃນ stm32wbaxx.h.
- ຕາຕະລາງ 1 ສະແດງໃຫ້ເຫັນມະຫາພາກເພື່ອກໍານົດໂດຍອີງຕາມອຸປະກອນຊຸດ STM32WBA ທີ່ໃຊ້. ມະຫາພາກນີ້ຕ້ອງຖືກກຳນົດໄວ້ໃນຕົວປະມວນຜົນກ່ອນ compiler.
ຕາຕະລາງ 1. Macros ສໍາລັບຊຸດ STM32WBAມະຫາພາກທີ່ກຳນົດໄວ້ໃນ stm32wbaxx.h ອຸປະກອນຊຸດ STM32WBA stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6 stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7 - STM32CubeWBA ມີຊຸດທີ່ອຸດົມສົມບູນຂອງ examples ແລະຄໍາຮ້ອງສະຫມັກໃນທຸກລະດັບເຮັດໃຫ້ມັນງ່າຍທີ່ຈະເຂົ້າໃຈແລະນໍາໃຊ້ໄດເວີ HAL ຫຼືອົງປະກອບຕົວກາງ. ເຫຼົ່ານີ້ examples ດໍາເນີນການຢູ່ໃນກະດານ STMicroelectronics ທີ່ລະບຸໄວ້ໃນຕາຕະລາງ 2.
ຕາຕະລາງ 2. ກະດານສໍາລັບຊຸດ STM32WBAກະດານ ອຸປະກອນທີ່ຮອງຮັບ Board STM32WBA NUCLEO-WBA52CG STM32WBA52CGU6 NUCLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - ແພັກເກັດ STM32CubeWBA MCU ສາມາດແລ່ນໃນຮາດແວທີ່ເຂົ້າກັນໄດ້. ຜູ້ໃຊ້ພຽງແຕ່ປັບປຸງການຂັບລົດ BSP ເພື່ອພອດ ex ໄດ້ສະຫນອງໃຫ້amples ເທິງກະດານ, ຖ້າອັນສຸດທ້າຍມີລັກສະນະຮາດແວດຽວກັນ (ເຊັ່ນ: LED, ຈໍ LCD, ແລະປຸ່ມຕ່າງໆ).
ຊຸດເຟີມແວຫຼາຍກວ່າview
- ການແກ້ໄຂແພັກເກັດ STM32CubeWBA ແມ່ນໃຫ້ຢູ່ໃນຊຸດ zip ດຽວທີ່ມີໂຄງສ້າງທີ່ສະແດງຢູ່ໃນຮູບ 3. ໂຄງສ້າງແພັກເກັດເຟີມແວ STM32CubeWBA.
- ສໍາລັບແຕ່ລະຄະນະ, ຊຸດຂອງ examples ແມ່ນສະຫນອງໃຫ້ກັບໂຄງການ preconfigured ສໍາລັບ EWARM, MDK-ARM, ແລະ STM32CubeIDE toolchains.
- ຮູບ 4. STM32CubeWBA examples overview ສະແດງໃຫ້ເຫັນໂຄງສ້າງໂຄງການສໍາລັບກະດານ NUCLEO-WBA52CG, NUCLEO-WBA55CG ແລະ STM32WBA55G-DK1.
- ອະດີດamples ຖືກຈັດປະເພດຂຶ້ນຢູ່ກັບລະດັບ STM32Cube ທີ່ພວກເຂົາໃຊ້ກັບ, ແລະພວກເຂົາມີຊື່ດັ່ງຕໍ່ໄປນີ້:
- ລະດັບ 0 ຕົວຢ່າງamples ຖືກເອີ້ນວ່າ Examples, Examples_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 ແລະ Applications ໄດ້ຖືກສະໜອງໃຫ້ດ້ວຍໂຄງສ້າງຫຼາຍໂຄງການທີ່ປະກອບດ້ວຍໂຄງການຍ່ອຍທີ່ປອດໄພ ແລະ ບໍ່ປອດໄພ ດັ່ງທີ່ສະແດງໃນຮູບ 5. ໂຄງປະກອບໂຄງການຫຼາຍໂຄງການທີ່ປອດໄພ ແລະ ບໍ່ປອດໄພ.
- ໂຄງການທີ່ເປີດໃຊ້ງານ TrustZone® ແມ່ນໄດ້ຮັບການພັດທະນາອີງຕາມແມ່ແບບອຸປະກອນ CMSIS-5, ຂະຫຍາຍການລວມເອົາຫົວຂໍ້ການແບ່ງປັນລະບົບ file partition_ .h, ຜູ້ທີ່ຮັບຜິດຊອບຕົ້ນຕໍໃນການຕິດຕັ້ງຫົວໜ່ວຍຄຸນສົມບັດທີ່ປອດໄພ (SAU), FPU, ແລະການມອບໝາຍທີ່ປອດໄພ/ບໍ່ປອດໄພ ລົບກວນການມອບໝາຍໃນສະຖານະການປະຕິບັດທີ່ປອດໄພ.
- ການຕັ້ງຄ່ານີ້ຖືກປະຕິບັດຢູ່ໃນຟັງຊັນ CMSIS SystemInit() ທີ່ປອດໄພ, ເຊິ່ງເອີ້ນວ່າໃນຕອນເລີ່ມຕົ້ນກ່ອນທີ່ຈະເຂົ້າສູ່ຟັງຊັນຫຼັກຂອງແອັບພລິເຄຊັນທີ່ປອດໄພ. ອ້າງອີງເຖິງເອກະສານ Arm® TrustZone®-M ຂອງຂໍ້ແນະນຳຊອບແວ.
- ຊຸດເຟີມແວແພັກເກັດ STM32CubeWBA ສະຫນອງການແບ່ງປັນຫນ່ວຍຄວາມຈໍາໃນຕອນຕົ້ນໃນພາທິຊັນ _ .ຊ 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 ຍັງຕ້ອງໄດ້ຮັບການສອດຄ່ອງ.
- ທັງຫມົດ examples ມີໂຄງສ້າງດຽວກັນ:
- \inc ໂຟນເດີທີ່ມີສ່ວນຫົວທັງໝົດ files.
- ໂຟນເດີ Src ທີ່ມີລະຫັດແຫຼ່ງ.
- ໂຟນເດີ \EWARM, \MDK-ARM, ແລະ \STM32CubeIDE ປະກອບດ້ວຍໂຄງການທີ່ກຳນົດຄ່າໄວ້ລ່ວງໜ້າສຳລັບແຕ່ລະຕ່ອງໂສ້ເຄື່ອງມື.
- readme.md ແລະ readme.html ອະທິບາຍ example ພຶດຕິກໍາແລະສະພາບແວດລ້ອມທີ່ຈໍາເປັນເພື່ອເຮັດໃຫ້ມັນເຮັດວຽກ.
- ໄອໂອຊີ file ທີ່ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດເປີດສ່ວນໃຫຍ່ຂອງ firmware examples ພາຍໃນ STM32CubeMX.
ເລີ່ມຕົ້ນດ້ວຍ STM32CubeWBA
ແລ່ນ HAL ທໍາອິດample
ພາກສ່ວນນີ້ອະທິບາຍວິທີການດໍາເນີນການ ex ທໍາອິດທີ່ງ່າຍດາຍample ພາຍໃນ STM32CubeWBA. ມັນໃຊ້ເປັນຕົວຢ່າງຂອງການຜະລິດສະຫຼັບ LED ແບບງ່າຍດາຍທີ່ແລ່ນຢູ່ໃນກະດານ NUCLEO-WBA52CG:
- ດາວໂຫລດແພັກເກັດ STM32CubeWBA MCU.
- Unzip ມັນເຂົ້າໄປໃນໄດເລກະທໍລີທີ່ທ່ານເລືອກ.
- ໃຫ້ແນ່ໃຈວ່າບໍ່ດັດແປງໂຄງສ້າງແພັກເກັດທີ່ສະແດງຢູ່ໃນຮູບ 1. ມັນຍັງແນະນໍາໃຫ້ຄັດລອກຊຸດທີ່ຢູ່ໃກ້ຄຽງກັບປະລິມານຮາກຂອງທ່ານ (ຫມາຍຄວາມວ່າ C:\ST ຫຼື G:\Tests), ຍ້ອນວ່າ IDE ບາງຄົນພົບບັນຫາໃນເວລາທີ່ເສັ້ນທາງ. ຄວາມຍາວແມ່ນຍາວເກີນໄປ.
ແລ່ນ TrustZone® ທໍາອິດທີ່ເປີດໃຊ້ example
- ກ່ອນທີ່ຈະໂຫລດ ແລະແລ່ນ TrustZone® ເປີດໃຊ້ງານ example, ມັນເປັນການບັງຄັບໃຫ້ອ່ານ exampອ່ານຂ້ອຍ file ສໍາລັບການຕັ້ງຄ່າສະເພາະໃດຫນຶ່ງ, ທີ່ເຮັດໃຫ້ແນ່ໃຈວ່າຄວາມປອດໄພໄດ້ຖືກເປີດໃຊ້ງານດັ່ງທີ່ອະທິບາຍໃນພາກທີ 4.2.1 ໂຄງການເປີດໃຊ້ງານ TrustZone® (TZEN=1 (ຕົວເລືອກຜູ້ໃຊ້ byte)).
- ເລືອກເບິ່ງ \Projects\NUCLEO-WBA52CG\Examples.
- ເປີດ \GPIO, ຈາກນັ້ນ \GPIO_IOToggle_TrustZone ໂຟນເດີ.
- ເປີດໂຄງການດ້ວຍລະບົບຕ່ອງໂສ້ເຄື່ອງມືທີ່ທ່ານຕ້ອງການ. ໄວກວ່າview ກ່ຽວກັບວິທີການເປີດ, ສ້າງ, ແລະດໍາເນີນການ example ກັບຕ່ອງໂສ້ເຄື່ອງມືທີ່ສະຫນັບສະຫນູນແມ່ນໃຫ້ຂ້າງລຸ່ມນີ້.
- ກໍ່ສ້າງຄືນໃຫມ່ຕາມລໍາດັບໂຄງການທັງຫມົດທີ່ປອດໄພແລະບໍ່ປອດໄພ files ແລະໂຫຼດຮູບພາບທີ່ປອດໄພແລະບໍ່ປອດໄພເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາເປົ້າຫມາຍ.
- ດໍາເນີນການ example: ເປັນປະຈໍາ, ແອັບພລິເຄຊັນທີ່ປອດໄພຈະສະຫຼັບ LD2 ທຸກໆວິນາທີ, ແລະແອັບພລິເຄຊັນທີ່ບໍ່ປອດໄພຈະສະຫຼັບ LD3 ສອງເທົ່າໄວ. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ, ເບິ່ງ readme file ຂອງ exampເລ.
- ເພື່ອເປີດ, ສ້າງ ແລະດໍາເນີນການ example ກັບຕ່ອງໂສ້ເຄື່ອງມືທີ່ສະຫນັບສະຫນູນ, ປະຕິບັດຕາມຂັ້ນຕອນຂ້າງລຸ່ມນີ້:
- ອຸ່ນ:
- ພາຍໃຕ້ exampໃນໂຟນເດີ, ເປີດ \EWARM ໂຟເດີຍ່ອຍ.
- ເປີດຕົວພື້ນທີ່ເຮັດວຽກ Project.eww
- ສ້າງໂຄງການທີ່ປອດໄພ xxxxx_S ຄືນໃໝ່ files: [ໂຄງການ]>[ສ້າງຄືນໃຫມ່ທັງຫມົດ].
- ຕັ້ງໂຄງການ xxxxx_NS ທີ່ບໍ່ປອດໄພເປັນແອັບພລິເຄຊັນທີ່ໃຊ້ງານ (ຄລິກຂວາໃສ່ໂປຣເຈັກ xxxxx_NS [Set as Active])
- ສ້າງໂຄງການທີ່ບໍ່ປອດໄພ xxxxx_NS ຄືນໃໝ່ files: [ໂຄງການ]>[ສ້າງຄືນໃຫມ່ທັງຫມົດ].
- Flash binary ທີ່ບໍ່ປອດໄພດ້ວຍ [Project]>[Download]>[Download active application] .
- ຕັ້ງ xxxxx_S ເປັນແອັບພລິເຄຊັນທີ່ເປີດໃຊ້ (ຄລິກຂວາໃສ່ໂຄງການ xxxxx_S [ຕັ້ງເປັນ Active].
- ກະພິບໄບນາຣີທີ່ປອດໄພດ້ວຍ [ດາວໂຫຼດ ແລະດີບັກ] (Ctrl+D).
- ດໍາເນີນການໂຄງການ: [Debug]>[Go(F5)]
- MDK-ARM:
- ເປີດ \MDK-ARM toolchain.
- ເປີດພື້ນທີ່ເຮັດວຽກຫຼາຍໂຄງການ file Project.uvmpw.
- ເລືອກໂຄງການ xxxxx_s ເປັນແອັບພລິເຄຊັນທີ່ໃຊ້ວຽກ ([ຕັ້ງເປັນໂຄງການເຄື່ອນໄຫວ]).
- ສ້າງໂຄງການ xxxxx_s.
- ເລືອກໂຄງການ xxxxx_ns ເປັນໂຄງການ Active ([Set as Active Project]).
- ສ້າງໂຄງການ xxxxx_ns.
- ໂຫລດໄບນາຣີທີ່ບໍ່ປອດໄພ ([F8]). ນີ້ຈະດາວໂຫຼດ \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf ໄປໃສ່ flash memory)
- ເລືອກໂຄງການ Project_s ເປັນໂຄງການ Active ([Set as Active Project]).
- ໂຫຼດຖານສອງທີ່ປອດໄພ ([F8]). ນີ້ຈະດາວໂຫຼດ \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf ໄປໃສ່ flash memory).
- ດໍາເນີນການ exampເລ.
- STM32CubeIDE:
- ເປີດລະບົບຕ່ອງໂສ້ເຄື່ອງມື STM32CubeIDE.
- ເປີດພື້ນທີ່ເຮັດວຽກຫຼາຍໂຄງການ file .ໂຄງການ.
- ສ້າງໂຄງການ xxxxx_Secure ຄືນໃໝ່.
- ສ້າງໂຄງການ xxxxx_NonSecure ຄືນໃໝ່.
- ເປີດໃຊ້ແອັບພລິເຄຊັນ [Debug as STM32 Cortex-M C/C++] ສໍາລັບໂຄງການທີ່ປອດໄພ.
- ຢູ່ໃນປ່ອງຢ້ຽມ [ແກ້ໄຂການຕັ້ງຄ່າ], ເລືອກແຜງ [ການເລີ່ມຕົ້ນ], ແລະເພີ່ມການໂຫຼດຮູບພາບ ແລະສັນຍາລັກຂອງໂຄງການທີ່ບໍ່ປອດໄພ.
ສຳຄັນ: ໂຄງການທີ່ບໍ່ປອດໄພຕ້ອງຖືກໂຫຼດກ່ອນໂຄງການທີ່ປອດໄພ. - ກົດ [Ok].
- ດໍາເນີນການ example ໃນທັດສະນະການດີບັກ.
- ອຸ່ນ:
ແລ່ນ TrustZone® ທໍາອິດທີ່ພິການ example
- ກ່ອນທີ່ຈະໂຫລດ ແລະແລ່ນ TrustZone® ປິດການໃຊ້ງານ example, ມັນເປັນການບັງຄັບໃຫ້ອ່ານ exampອ່ານຂ້ອຍ file ສໍາລັບການຕັ້ງຄ່າສະເພາະໃດຫນຶ່ງ. ຖ້າຫາກວ່າບໍ່ມີການກ່າວເຖິງສະເພາະໃດຫນຶ່ງ, ໃຫ້ແນ່ໃຈວ່າອຸປະກອນຄະນະໄດ້ປິດການບໍລິການຄວາມປອດໄພ (TZEN=0 (ຕົວເລືອກຜູ້ໃຊ້ byte)). ເບິ່ງ FAQ ສໍາລັບການດໍາເນີນການ regression ທາງເລືອກເປັນ TZEN = 0
- ເລືອກເບິ່ງ \Projects\NUCLEO-WBA52CG\Examples.
- ເປີດ \GPIO, ຈາກນັ້ນ \GPIO_EXTI ໂຟນເດີ.
- ເປີດໂຄງການດ້ວຍລະບົບຕ່ອງໂສ້ເຄື່ອງມືທີ່ທ່ານຕ້ອງການ. ໄວກວ່າview ກ່ຽວກັບວິທີການເປີດ, ສ້າງ, ແລະດໍາເນີນການ example ກັບຕ່ອງໂສ້ເຄື່ອງມືທີ່ສະຫນັບສະຫນູນແມ່ນໃຫ້ຂ້າງລຸ່ມນີ້.
- ກໍ່ສ້າງຄືນໃຫມ່ທັງຫມົດ files ແລະໂຫຼດຮູບພາບຂອງທ່ານເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາເປົ້າຫມາຍ.
- ດໍາເນີນການ example: ແຕ່ລະຄັ້ງທີ່ປຸ່ມກົດ [USER] ຖືກກົດ, ໄຟ LED LD1 ສະຫຼັບ. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ, ເບິ່ງ readme file ຂອງ exampເລ.
- ເພື່ອເປີດ, ສ້າງ ແລະດໍາເນີນການ example ກັບຕ່ອງໂສ້ເຄື່ອງມືທີ່ສະຫນັບສະຫນູນ, ປະຕິບັດຕາມຂັ້ນຕອນຂ້າງລຸ່ມນີ້:
- ອຸ່ນ:
- ພາຍໃຕ້ exampໃນໂຟນເດີ, ເປີດ \EWARM ໂຟເດີຍ່ອຍ.
- ເປີດໃຊ້ພື້ນທີ່ເຮັດວຽກ Project.eww (ຊື່ພື້ນທີ່ເຮັດວຽກອາດຈະປ່ຽນຈາກອັນໜຶ່ງampໄປຫາຄົນອື່ນ).
- ກໍ່ສ້າງຄືນໃຫມ່ທັງຫມົດ files: [ໂຄງການ]>[ສ້າງຄືນໃຫມ່ທັງຫມົດ].
- ໂຫຼດຮູບພາບໂຄງການ: [ໂຄງການ]> [Debug].
- ດໍາເນີນໂຄງການ: [Debug]>[Go (F5)].
- MDK-ARM:
- ພາຍໃຕ້ exampຈາກນັ້ນ, ເປີດໂຟນເດີຍ່ອຍ \MDK-ARM.
- ເປີດໃຊ້ພື້ນທີ່ເຮັດວຽກ Project.uvproj (ຊື່ພື້ນທີ່ເຮັດວຽກອາດຈະປ່ຽນຈາກອັນໜຶ່ງampໄປຫາຄົນອື່ນ).
- ກໍ່ສ້າງຄືນໃຫມ່ທັງຫມົດ files:[ໂຄງການ]>[ສ້າງເປົ້າໝາຍທັງໝົດ files].
- ໂຫຼດຮູບໂຄງການ: [Debug]>[Start/Stop Debug Session].
- ດໍາເນີນໂຄງການ: [Debug]>[Run (F5)].
- STM32CubeIDE:
- ເປີດລະບົບຕ່ອງໂສ້ເຄື່ອງມື STM32CubeIDE.
- ກົດ [File]>[ສະຫຼັບພື້ນທີ່ເຮັດວຽກ]>[ອື່ນໆ] ແລະທ່ອງໄປຫາໄດເຣັກທໍຣີພື້ນທີ່ເຮັດວຽກ STM32CubeIDE.
- ກົດ [File]>[ການນໍາເຂົ້າ] , ເລືອກ [ທົ່ວໄປ]> [ໂຄງການທີ່ມີຢູ່ໃນບ່ອນເຮັດວຽກ], ແລະຫຼັງຈາກນັ້ນໃຫ້ຄລິກໃສ່ [Next].
- ໄປຫາໄດເລກະທໍລີພື້ນທີ່ເຮັດວຽກ STM32CubeIDE ແລະເລືອກໂຄງການ.
- ກໍ່ສ້າງໂຄງການທັງຫມົດ files: ເລືອກໂຄງການຢູ່ໃນປ່ອງຢ້ຽມ [Project Explorer] ຫຼັງຈາກນັ້ນໃຫ້ຄລິກໃສ່ [ໂຄງການ]> [ສ້າງໂຄງການ] ເມນູ.
- ດໍາເນີນການໂຄງການ: [Run]>[Debug (F11)]
- ອຸ່ນ:
ການພັດທະນາຄໍາຮ້ອງສະຫມັກທີ່ກໍາຫນົດເອງ
ໝາຍເຫດ: ຊອບແວຕ້ອງເປີດໃຊ້ cache ຄໍາແນະນໍາ (ICACHE) ເພື່ອໄດ້ຮັບການປະຕິບັດ 0 wait-state ຈາກຫນ່ວຍຄວາມຈໍາ flash, ແລະບັນລຸປະສິດທິພາບສູງສຸດແລະການບໍລິໂພກພະລັງງານທີ່ດີກວ່າ.
ໃຊ້ STM32CubeMX ເພື່ອພັດທະນາ ຫຼືອັບເດດແອັບພລິເຄຊັນ
- ໃນຊຸດ STM32CubeWBA MCU, ເກືອບທຸກໂຄງການ examples ແມ່ນຖືກສ້າງຂຶ້ນດ້ວຍເຄື່ອງມື STM32CubeMX ເພື່ອເລີ່ມຕົ້ນລະບົບ, ອຸປະກອນຕໍ່ພ່ວງ, ແລະເຄື່ອງກາງ.
- ການນໍາໃຊ້ໂດຍກົງຂອງໂຄງການທີ່ມີຢູ່ແລ້ວ example ຈາກເຄື່ອງມື STM32CubeMX ຕ້ອງການ STM32CubeMX 6.10.0 ຫຼືສູງກວ່າ:
- ຫຼັງຈາກການຕິດຕັ້ງ STM32CubeMX, ເປີດແລະຖ້າຈໍາເປັນປັບປຸງໂຄງການທີ່ສະເຫນີ. ວິທີທີ່ງ່າຍທີ່ສຸດທີ່ຈະເປີດໂຄງການທີ່ມີຢູ່ແລ້ວແມ່ນການຄລິກສອງຄັ້ງໃສ່ *.ioc file ດັ່ງນັ້ນ STM32CubeMX ເປີດໂຄງການແລະແຫຼ່ງຂອງມັນໂດຍອັດຕະໂນມັດ files.
- STM32CubeMX ສ້າງລະຫັດແຫຼ່ງເບື້ອງຕົ້ນຂອງໂຄງການດັ່ງກ່າວ. ລະຫັດແຫຼ່ງຄໍາຮ້ອງສະຫມັກຕົ້ນຕໍແມ່ນປະກອບດ້ວຍຄໍາເຫັນ "USER CODE BEGIN" ແລະ "USER CODE END". ໃນກໍລະນີທີ່ການເລືອກ IP ແລະການຕັ້ງຄ່າຖືກດັດແກ້, STM32CubeMX ປັບປຸງສ່ວນການເລີ່ມຕົ້ນຂອງລະຫັດແຕ່ຮັກສາລະຫັດແຫຼ່ງຄໍາຮ້ອງສະຫມັກຕົ້ນຕໍ.
- ສໍາລັບການພັດທະນາໂຄງການທີ່ກໍາຫນົດເອງໃນ STM32CubeMX, ປະຕິບັດຕາມຂັ້ນຕອນໂດຍຂັ້ນຕອນ:
- ເລືອກ microcontroller STM32 ທີ່ກົງກັບຊຸດອຸປະກອນຕໍ່ພ່ວງທີ່ຕ້ອງການ.
- ຕັ້ງຄ່າຊອບແວທີ່ຝັງໄວ້ທັງໝົດທີ່ຕ້ອງການໂດຍໃຊ້ຕົວແກ້ໄຂຂໍ້ຂັດແຍ່ງ pinout, ຕົວຊ່ວຍການຕັ້ງຕົ້ນໄມ້ໂມງ, ເຄື່ອງຄິດເລກການບໍລິໂພກພະລັງງານ, ແລະຜົນປະໂຫຍດທີ່ປະຕິບັດການປັບຄ່າອຸປະກອນຕໍ່ຂ້າງ MCU (ເຊັ່ນ: GPIO ຫຼື USART) ແລະ stacks ກາງ (ເຊັ່ນ USB).
- ສ້າງລະຫັດ C ເບື້ອງຕົ້ນໂດຍອີງໃສ່ການຕັ້ງຄ່າທີ່ເລືອກ. ລະຫັດນີ້ພ້ອມທີ່ຈະໃຊ້ພາຍໃນສະພາບແວດລ້ອມການພັດທະນາຫຼາຍອັນ. ລະຫັດຜູ້ໃຊ້ຖືກເກັບໄວ້ໃນການຜະລິດລະຫັດຕໍ່ໄປ.
- ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ STM32CubeMX, ເບິ່ງຄູ່ມືຜູ້ໃຊ້ STM32CubeMX ສໍາລັບການຕັ້ງຄ່າ STM32 ແລະການສ້າງລະຫັດເບື້ອງຕົ້ນ C (UM1718).
- ສໍາລັບບັນຊີລາຍຊື່ຂອງໂຄງການທີ່ມີຢູ່ examples ສໍາລັບ STM32CubeWBA, ອ້າງອີງເຖິງແອັບພລິເຄຊັນ STM32Cube firmware examples ສໍາລັບຊຸດ STM32WBA (AN5929).
ຄໍາຮ້ອງສະຫມັກໄດເວີ
ຄໍາຮ້ອງສະຫມັກ HAL
ພາກນີ້ອະທິບາຍຂັ້ນຕອນທີ່ຈໍາເປັນເພື່ອສ້າງຄໍາຮ້ອງສະຫມັກ HAL ແບບກໍານົດເອງໂດຍໃຊ້ STM32CubeWBA:
- ສ້າງໂຄງການ
- ເພື່ອສ້າງໂຄງການໃຫມ່, ເລີ່ມຕົ້ນຈາກໂຄງການແມ່ແບບທີ່ສະຫນອງໃຫ້ແຕ່ລະກະດານພາຍໃຕ້ \Projects\ \Templates ຫຼືຈາກໂຄງການທີ່ມີຢູ່ພາຍໃຕ້ \Projects\ \Exam ples ຫຼື \Projects\ \ ຄໍາຮ້ອງສະຫມັກ (ບ່ອນທີ່ ຫມາຍເຖິງຊື່ກະດານ, ເຊັ່ນ STM32CubeWBA).
- ໂຄງການແມ່ແບບສະຫນອງການທໍາງານ loop ຕົ້ນຕໍທີ່ເປົ່າຫວ່າງ. ຢ່າງໃດກໍ່ຕາມ, ມັນເປັນຈຸດເລີ່ມຕົ້ນທີ່ດີທີ່ຈະເຂົ້າໃຈການຕັ້ງຄ່າໂຄງການ STM32CubeWBA. ແມ່ແບບມີລັກສະນະດັ່ງຕໍ່ໄປນີ້:
- ມັນມີລະຫັດແຫຼ່ງ HAL, CMSIS, ແລະ BSP ໄດເວີ, ເຊິ່ງແມ່ນຊຸດຂັ້ນຕ່ໍາຂອງອົງປະກອບທີ່ຕ້ອງການເພື່ອພັດທະນາລະຫັດໃນກະດານທີ່ກໍານົດ.
- ມັນມີເສັ້ນທາງລວມສໍາລັບອົງປະກອບເຟີມແວທັງຫມົດ.
- ມັນກໍານົດອຸປະກອນຊຸດ STM32WBA ທີ່ຮອງຮັບ, ອະນຸຍາດໃຫ້ໄດເວີ CMSIS ແລະ HAL ຖືກຕັ້ງຄ່າຢ່າງຖືກຕ້ອງ.
- ມັນໃຫ້ຜູ້ໃຊ້ພ້ອມນຳໃຊ້ files preconfigured ດັ່ງທີ່ສະແດງຂ້າງລຸ່ມນີ້:
HAL ເລີ່ມຕົ້ນດ້ວຍພື້ນຖານເວລາເລີ່ມຕົ້ນດ້ວຍ Arm® core SysTick. SysTick ISR ຖືກຈັດຕັ້ງປະຕິບັດເພື່ອຈຸດປະສົງ HAL_Delay().
ໝາຍເຫດ: ເມື່ອການຄັດລອກໂຄງການທີ່ມີຢູ່ກັບສະຖານທີ່ອື່ນ, ໃຫ້ແນ່ໃຈວ່າເສັ້ນທາງລວມທັງຫມົດໄດ້ຖືກປັບປຸງ.
- ເພີ່ມອຸປະກອນກາງທີ່ຈໍາເປັນໃສ່ໂຄງການຜູ້ໃຊ້ (ທາງເລືອກ)
ເພື່ອກໍານົດແຫຼ່ງ files ຈະຖືກເພີ່ມເຂົ້າໃນໂຄງການ file ບັນຊີລາຍຊື່, ອ້າງອີງໃສ່ເອກະສານທີ່ສະຫນອງໃຫ້ສໍາລັບແຕ່ລະຕົວກາງ. ອ້າງອີງເຖິງແອັບພລິເຄຊັນພາຍໃຕ້ \Projects\STM32xxx_yyy\Applications\ (ບ່ອນ ຫມາຍເຖິງ stack ກາງ, ເຊັ່ນ ThreadX) ເພື່ອຮູ້ວ່າແຫຼ່ງໃດ files ແລະປະກອບມີເສັ້ນທາງຕ້ອງໄດ້ຮັບການເພີ່ມ. - ຕັ້ງຄ່າອົງປະກອບເຟີມແວ
ອົງປະກອບຂອງ HAL ແລະ middleware ສະເໜີຊຸດຕົວເລືອກການຕັ້ງຄ່າເວລາສ້າງໂດຍໃຊ້ macros #define ປະກາດໃນສ່ວນຫົວ. file. ການຕັ້ງຄ່າແມ່ແບບ file ໄດ້ຖືກສະຫນອງໃຫ້ພາຍໃນແຕ່ລະອົງປະກອບ, ເຊິ່ງຕ້ອງໄດ້ຮັບການຄັດລອກໄປທີ່ໂຟເດີໂຄງການ (ປົກກະຕິແລ້ວການຕັ້ງຄ່າ file ມີຊື່ວ່າ xxx_conf_template.h, ຄໍາວ່າ _template ຈໍາເປັນຕ້ອງໄດ້ໂຍກຍ້າຍອອກເມື່ອຄັດລອກມັນໄປໃສ່ໂຟນເດີໂຄງການ). ການຕັ້ງຄ່າ file ໃຫ້ຂໍ້ມູນພຽງພໍເພື່ອເຂົ້າໃຈຜົນກະທົບຂອງແຕ່ລະທາງເລືອກໃນການຕັ້ງຄ່າ. ຂໍ້ມູນລາຍລະອຽດເພີ່ມເຕີມແມ່ນມີຢູ່ໃນເອກະສານທີ່ໃຫ້ສໍາລັບແຕ່ລະອົງປະກອບ. - ເລີ່ມຕົ້ນຫ້ອງສະຫມຸດ HAL
ຫຼັງຈາກໂດດໄປຫາໂຄງການຕົ້ນຕໍ, ລະຫັດຄໍາຮ້ອງສະຫມັກຕ້ອງໂທຫາ HAL_Init() API ເພື່ອເລີ່ມຕົ້ນຫ້ອງສະຫມຸດ HAL, ເຊິ່ງປະຕິບັດວຽກງານດັ່ງຕໍ່ໄປນີ້:- ການຕັ້ງຄ່າຂອງ flash memory prefetch ແລະ SysTick interrupt ບູລິມະສິດ (ຜ່ານ macros ທີ່ກໍານົດໄວ້ໃນ st m32wbaxx_hal_conf.h).
- ການຕັ້ງຄ່າຂອງ SysTick ເພື່ອສ້າງການຂັດຂວາງທຸກໆ millisecond ທີ່ SysTick interrupt ບູລິມະສິດ TICK_INT_PRIO ທີ່ກໍານົດໃນ stm32wbaxx_hal_conf.h.
- ການຕັ້ງຄ່າບູລິມະສິດກຸ່ມ NVIC ເປັນ 0.
- ຟັງຊັນການໂທຄືນ HAL_MspInit() ທີ່ກຳນົດໄວ້ໃນຜູ້ໃຊ້ stm32wbaxx_hal_msp.c file ເພື່ອປະຕິບັດການເລີ່ມຕົ້ນຮາດແວລະດັບຕ່ໍາທົ່ວໂລກ.
- ຕັ້ງຄ່າໂມງລະບົບ
ການຕັ້ງຄ່າໂມງລະບົບແມ່ນເຮັດໂດຍການໂທຫາສອງ APIs ທີ່ອະທິບາຍຂ້າງລຸ່ມນີ້:- HAL_RCC_OscConfig(): API ນີ້ກຳນົດຄ່າ oscillators ພາຍໃນ ແລະ ພາຍນອກ. ຜູ້ໃຊ້ເລືອກທີ່ຈະກໍານົດຫນຶ່ງຫຼືທັງຫມົດ oscillators.
- HAL_RCC_ClockConfig(): API ນີ້ກຳນົດຄ່າແຫຼ່ງໂມງຂອງລະບົບ, ຄວາມຢືດຢຸ່ນຂອງໜ່ວຍຄວາມຈຳແຟລດ, ແລະ AHB ແລະ APB prescalers.
- ເລີ່ມຕົ້ນອຸປະກອນຕໍ່ພ່ວງ
- ທຳອິດໃຫ້ຂຽນຟັງຊັນ HAL_PPP_MspInit ຕໍ່ຂ້າງ. ດໍາເນີນການດັ່ງຕໍ່ໄປນີ້:
- ເປີດໃຊ້ໂມງຕໍ່ຂ້າງ.
- ຕັ້ງຄ່າ GPIOs ຕໍ່ຂ້າງ.
- ຕັ້ງຄ່າຊ່ອງ DMA ແລະເປີດໃຊ້ DMA ຂັດຂວາງ (ຖ້າຈໍາເປັນ).
- ເປີດໃຊ້ການລົບກວນອຸປະກອນຕໍ່ຂ້າງ (ຖ້າຕ້ອງການ).
- ແກ້ໄຂ stm32xxx_it.c ເພື່ອໂທຫາຕົວຈັດການລົບກວນທີ່ຕ້ອງການ (ອຸປະກອນຕໍ່ພ່ວງ ແລະ DMA), ຖ້າຈໍາເປັນ.
- ຂະບວນການຂຽນຟັງຊັນໂທຄືນທີ່ສົມບູນ, ຖ້າມີການຂັດຈັງຫວະຂອງອຸປະກອນຂ້າງຄຽງ ຫຼື DMA ແມ່ນວາງແຜນທີ່ຈະໃຊ້.
- ໃນຜູ້ໃຊ້ main.c file, ເລີ່ມຕົ້ນໂຄງສ້າງຕົວຈັບອຸປະກອນຕໍ່ຂ້າງ ຈາກນັ້ນໂທຫາຟັງຊັນ HAL_PPP_Init() ເພື່ອເລີ່ມຕົ້ນອຸປະກອນຕໍ່ພອຍ.
- ທຳອິດໃຫ້ຂຽນຟັງຊັນ HAL_PPP_MspInit ຕໍ່ຂ້າງ. ດໍາເນີນການດັ່ງຕໍ່ໄປນີ້:
- ພັດທະນາແອັບພລິເຄຊັນ
- ໃນນີ້ stage, ລະບົບແມ່ນກຽມພ້ອມແລະການພັດທະນາລະຫັດຄໍາຮ້ອງສະຫມັກຂອງຜູ້ໃຊ້ສາມາດເລີ່ມຕົ້ນໄດ້.
- HAL ສະໜອງ APIs ທີ່ເຂົ້າໃຈງ່າຍ ແລະພ້ອມນຳໃຊ້ເພື່ອກຳນົດຄ່າອຸປະກອນຕໍ່ພ່ວງ. ມັນສະຫນັບສະຫນູນການສໍາຫຼວດ, ການຂັດຂວາງ, ແລະຮູບແບບການດໍາເນີນໂຄງການ DMA, ເພື່ອຮອງຮັບຄວາມຕ້ອງການຂອງຄໍາຮ້ອງສະຫມັກໃດຫນຶ່ງ. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບວິທີການນໍາໃຊ້ແຕ່ລະອຸປະກອນຕໍ່ເນື່ອງ, ເບິ່ງ ex ອຸດົມສົມບູນampໄດ້ກໍານົດໄວ້ຢູ່ໃນຊຸດ STM32CubeWBA MCU.
ຂໍ້ຄວນລະວັງ: ໃນການປະຕິບັດ HAL ເລີ່ມຕົ້ນ, ເຄື່ອງຈັບເວລາ SysTick ຖືກນໍາໃຊ້ເປັນ timebase: ມັນສ້າງການຂັດຂວາງໃນຊ່ວງເວລາປົກກະຕິ. ຖ້າ HAL_Delay() ຖືກເອີ້ນຈາກຂະບວນການ ISR ຂ້າງຄຽງ, ໃຫ້ແນ່ໃຈວ່າການລົບກວນ SysTick ມີບູລິມະສິດສູງກວ່າ (ຕົວເລກຕໍ່າກວ່າ) ກ່ວາການຂັດຈັງຫວະຕໍ່ຂ້າງ. ຖ້າບໍ່ດັ່ງນັ້ນ, ຂະບວນການ ISR ຜູ້ໂທຖືກບລັອກ. ຟັງຊັນທີ່ມີຜົນກະທົບກັບການຕັ້ງຄ່າ timebase ໄດ້ຖືກປະກາດວ່າເປັນ __weak ເພື່ອເຮັດໃຫ້ override ເປັນໄປໄດ້ໃນກໍລະນີຂອງການປະຕິບັດອື່ນໆໃນຜູ້ໃຊ້. file (ການນໍາໃຊ້ເຄື່ອງຈັບເວລາຈຸດປະສົງທົ່ວໄປ, ສໍາລັບການຍົກຕົວຢ່າງample, ຫຼືແຫຼ່ງເວລາອື່ນ). ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ, ເບິ່ງ HAL_TimeBase exampເລ.
ຄໍາຮ້ອງສະຫມັກ LL
ພາກນີ້ອະທິບາຍຂັ້ນຕອນທີ່ຈໍາເປັນເພື່ອສ້າງຄໍາຮ້ອງສະຫມັກ LL ແບບກໍານົດເອງໂດຍໃຊ້ STM32CubeWBA.
- ສ້າງໂຄງການ
- ເພື່ອສ້າງໂຄງການໃຫມ່, ເລີ່ມຕົ້ນຈາກໂຄງການ Templates_LL ທີ່ສະຫນອງໃຫ້ແຕ່ລະກະດານພາຍໃຕ້ \Projects\ \Templates_LL, ຫຼືຈາກໂຄງການທີ່ມີຢູ່ພາຍໃຕ້ \Projects\ \ ຕົວຢ່າງamples_LL ( ຫມາຍເຖິງຊື່ຄະນະກໍາມະການ, ເຊັ່ນ: NUCLEO-WBA32CG).
- ໂຄງການແມ່ແບບສະຫນອງການທໍາງານ loop ຕົ້ນຕໍທີ່ເປົ່າຫວ່າງ, ຊຶ່ງເປັນຈຸດເລີ່ມຕົ້ນທີ່ດີທີ່ຈະເຂົ້າໃຈການຕັ້ງຄ່າໂຄງການສໍາລັບ STM32CubeWBA. ຄຸນລັກສະນະຫຼັກຂອງແມ່ແບບມີດັ່ງນີ້:
- ມັນປະກອບດ້ວຍລະຫັດແຫຼ່ງຂອງໄດເວີ LL ແລະ CMSIS, ເຊິ່ງເປັນຊຸດຂັ້ນຕ່ໍາຂອງອົງປະກອບທີ່ຈໍາເປັນເພື່ອພັດທະນາລະຫັດໃນກະດານທີ່ກໍານົດ.
- ມັນມີເສັ້ນທາງລວມສໍາລັບອົງປະກອບເຟີມແວທີ່ຕ້ອງການທັງຫມົດ.
- ມັນເລືອກອຸປະກອນຊຸດ STM32WBA ທີ່ຮອງຮັບ ແລະອະນຸຍາດໃຫ້ກຳນົດຄ່າທີ່ຖືກຕ້ອງຂອງໄດເວີ CMSIS ແລະ LL.
- ມັນໃຫ້ຜູ້ໃຊ້ພ້ອມທີ່ຈະໃຊ້ files ທີ່ໄດ້ກໍານົດໄວ້ລ່ວງຫນ້າດັ່ງຕໍ່ໄປນີ້:
◦ main.h: LED ແລະ USER_BUTTON ຊັ້ນ abstraction ຄໍານິຍາມ.
◦ main.c: ການຕັ້ງຄ່າໂມງລະບົບສໍາລັບຄວາມຖີ່ສູງສຸດ.
- Port ໂຄງການທີ່ມີຢູ່ແລ້ວກັບກະດານອື່ນ
ເພື່ອສະຫນັບສະຫນູນໂຄງການທີ່ມີຢູ່ແລ້ວໃນກະດານເປົ້າຫມາຍອື່ນ, ເລີ່ມຕົ້ນຈາກໂຄງການ Templates_LL ທີ່ສະຫນອງໃຫ້ແຕ່ລະກະດານແລະມີຢູ່ໃນ \Projects\ \Templates_LL.- ເລືອກ LL example: ເພື່ອຊອກຫາກະດານທີ່ LL examples ແມ່ນ deployed, ອ້າງເຖິງບັນຊີລາຍຊື່ຂອງ LL examples STM32CubeProjectsList.html.
- Port the LL example:
- ສຳເນົາ/ວາງໂຟນເດີ Templates_LL – ເພື່ອຮັກສາແຫຼ່ງເບື້ອງຕົ້ນ – ຫຼື ປັບປຸງໂຄງການ Templates_LL ທີ່ມີຢູ່ແລ້ວໂດຍກົງ.
- ຫຼັງຈາກນັ້ນ, porting ປະກອບດ້ວຍຕົ້ນຕໍໃນການທົດແທນ Templates_LL files ໂດຍ Examples_LL ໂຄງການເປົ້າຫມາຍ.
- ຮັກສາພາກສ່ວນສະເພາະຂອງກະດານທັງໝົດ. ສໍາລັບເຫດຜົນຂອງຄວາມກະຈ່າງແຈ້ງ, ພາກສ່ວນສະເພາະຂອງກະດານແມ່ນທຸງທີ່ມີສະເພາະ tags:
- ດັ່ງນັ້ນ, ຂັ້ນຕອນການສົ່ງສັນຍານຕົ້ນຕໍແມ່ນດັ່ງຕໍ່ໄປນີ້:
- ແທນທີ່ stm32wbax_it.h file
- ແທນທີ່ stm32wbax_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.
- ດ້ວຍການດັດແປງເຫຼົ່ານີ້, example ໃນປັດຈຸບັນແລ່ນຢູ່ໃນກະດານເປົ້າຫມາຍ
ຄໍາຮ້ອງສະຫມັກຄວາມປອດໄພ
ຊຸດນີ້ຖືກສົ່ງກັບຄໍາຮ້ອງສະຫມັກຄວາມປອດໄພ.
ຄໍາຮ້ອງສະຫມັກ SBSFU
- SBSFU ສະຫນອງການແກ້ໄຂຮາກຂອງຄວາມໄວ້ວາງໃຈ, ລວມທັງ Secure Boot ແລະຟັງຊັນການປັບປຸງເຟີມແວທີ່ປອດໄພ (ອີງໃສ່ MCUboot).
- ການແກ້ໄຂແມ່ນຖືກນໍາໃຊ້ກ່ອນທີ່ຈະດໍາເນີນການຄໍາຮ້ອງສະຫມັກ.
- ການແກ້ໄຂສະຫນອງ example ຂອງການບໍລິການທີ່ປອດໄພ (GPIO toggle), ທີ່ໂດດດ່ຽວຈາກແອັບພລິເຄຊັນທີ່ບໍ່ປອດໄພ. ແອັບພລິເຄຊັນທີ່ບໍ່ປອດໄພໃນເວລາແລ່ນຍັງສາມາດໃຊ້ການແກ້ໄຂນີ້ໄດ້.
ຄໍາຮ້ອງສະຫມັກ TFM
TFM ສະຫນອງການແກ້ໄຂຮາກຂອງຄວາມໄວ້ວາງໃຈລວມທັງ Secure Boot ແລະ Secure Firmware Update functionality
(ອີງໃສ່ MCUboot). ການແກ້ໄຂແມ່ນຖືກນໍາໃຊ້ກ່ອນທີ່ຈະດໍາເນີນການຄໍາຮ້ອງສະຫມັກ. ການແກ້ໄຂສະຫນອງການບໍລິການທີ່ປອດໄພ TFM ທີ່ໂດດດ່ຽວຈາກແອັບພລິເຄຊັນທີ່ບໍ່ປອດໄພ. ແອັບພລິເຄຊັນທີ່ບໍ່ປອດໄພໃນເວລາແລ່ນຍັງສາມາດໃຊ້ການແກ້ໄຂນີ້ໄດ້.
ຄໍາຮ້ອງສະຫມັກ RF
ແອັບພລິເຄຊັນ RF ໄດ້ຖືກອະທິບາຍໄວ້ໃນບັນທຶກຂອງແອັບພລິເຄຊັນນີ້: ການສ້າງແອັບພລິເຄຊັນໄຮ້ສາຍດ້ວຍ microcontrollers ຊຸດ STM32WBA (AN5928).
ກຳລັງໄດ້ຮັບການອັບເດດການປ່ອຍ STM32CubeWBA
ລ່າສຸດ STM32CubeWBA ຊຸດແພັກເກັດອອກ ແລະແພັກເກັດຕ່າງໆແມ່ນມີໃຫ້ຈາກ STM32WBA Series. ພວກມັນອາດຈະຖືກດຶງມາຈາກປຸ່ມກວດສອບການອັບເດດໃນ STM32CubeMX. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ, ເບິ່ງພາກທີ 3 ຂອງຄູ່ມືຜູ້ໃຊ້ STM32CubeMX ສໍາລັບການຕັ້ງຄ່າ STM32 ແລະການສ້າງລະຫັດເບື້ອງຕົ້ນ C (UM1718).
FAQ
- ເມື່ອໃດທີ່ຂ້ອຍຄວນໃຊ້ HAL ແທນໄດເວີ LL?
- ໄດເວີ HAL ສະເໜີ APIs ລະດັບສູງ ແລະ ເນັ້ນການທໍາງານ, ທີ່ມີລະດັບຄວາມສະດວກສະບາຍສູງ. ຄວາມຊັບຊ້ອນຂອງຜະລິດຕະພັນ ຫຼືອຸປະກອນຕໍ່ພອຍຖືກເຊື່ອງໄວ້ສຳລັບຜູ້ໃຊ້ສຸດທ້າຍ.
- ໄດເວີ LL ສະເຫນີ APIs ລະດັບການລົງທະບຽນຊັ້ນຕ່ໍາ, ດ້ວຍການເພີ່ມປະສິດທິພາບທີ່ດີກວ່າແຕ່ສາມາດເຄື່ອນທີ່ຫນ້ອຍ. ພວກເຂົາຕ້ອງການຄວາມຮູ້ໃນຄວາມເລິກຂອງຜະລິດຕະພັນຫຼືຂໍ້ມູນຈໍາເພາະ IP.
- ຂ້ອຍສາມາດໃຊ້ໄດເວີ HAL ແລະ LL ຮ່ວມກັນໄດ້ບໍ? ຖ້າຂ້ອຍສາມາດເຮັດໄດ້, ມີຂໍ້ຈໍາກັດຫຍັງແດ່?
- ມັນເປັນໄປໄດ້ທີ່ຈະໃຊ້ທັງໄດເວີ HAL ແລະ LL. ໃຊ້ HAL ສໍາລັບໄລຍະການເລີ່ມຕົ້ນ IP ແລະຫຼັງຈາກນັ້ນຈັດການການດໍາເນີນງານ I/O ກັບໄດເວີ LL.
- ຄວາມແຕກຕ່າງທີ່ ສຳ ຄັນລະຫວ່າງ HAL ແລະ LL ແມ່ນວ່າຜູ້ຂັບຂີ່ HAL ຕ້ອງການສ້າງແລະໃຊ້ຕົວຈັບເພື່ອການຈັດການການດໍາເນີນງານໃນຂະນະທີ່ຄົນຂັບ LL ເຮັດວຽກໂດຍກົງໃນທະບຽນອຸປະກອນຕໍ່. Examples_MIX example ສະແດງໃຫ້ເຫັນວິທີການປະສົມ HAL ແລະ LL.
- APIs ເບື້ອງຕົ້ນ LL ຖືກເປີດໃຊ້ແນວໃດ?
- ຄໍານິຍາມຂອງ APIs ເບື້ອງຕົ້ນຂອງ LL ແລະຊັບພະຍາກອນທີ່ກ່ຽວຂ້ອງ (ໂຄງສ້າງ, ຕົວຫນັງສື, ແລະຕົວແບບ) ແມ່ນຖືກປັບໂດຍສະວິດການລວບລວມ USE_FULL_LL_DRIVER.
- ເພື່ອສາມາດນໍາໃຊ້ APIs ເບື້ອງຕົ້ນຂອງ LL, ເພີ່ມສະວິດນີ້ໃນຕົວປະມວນຜົນ preprocessor ຂອງ toolchain compiler.
- STM32CubeMX ສາມາດສ້າງລະຫັດໂດຍອີງໃສ່ຊອບແວທີ່ຝັງໄວ້ໄດ້ແນວໃດ?
STM32CubeMX ມີຄວາມຮູ້ໃນຕົວຂອງ STM32 microcontrollers, ລວມທັງອຸປະກອນຕໍ່ພ່ວງແລະຊອບແວຂອງພວກເຂົາທີ່ອະນຸຍາດໃຫ້ສະຫນອງການສະແດງກາຟິກໃຫ້ກັບຜູ້ໃຊ້ແລະສ້າງ *.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 Series ການເລີ່ມຕົ້ນ, ການເລີ່ມຕົ້ນ, ເລີ່ມຕົ້ນ |