STMicroelectronics-ໂລໂກ້

STMicroelectronics STM32WBA ຊຸດເລີ່ມຕົ້ນ

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

ຂໍ້ມູນຜະລິດຕະພັນ

ຂໍ້ມູນຈໍາເພາະ:

  • ຊື່ຜະລິດຕະພັນ: ຊຸດ 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 .

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

ສະຖາປັດຕະຍະກຳ STM32CubeWBA ສິ້ນສຸດລົງview

ການແກ້ໄຂຊຸດ STM32CubeWBA MCU ຖືກສ້າງຂຶ້ນປະມານສາມລະດັບເອກະລາດທີ່ໂຕ້ຕອບໄດ້ງ່າຍດັ່ງທີ່ອະທິບາຍໄວ້ໃນຮູບ 2. ສະຖາປັດຕະຍະກໍາຊຸດ STM32CubeWBA MCU.

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

ລະດັບ 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 ຖືກແບ່ງອອກເປັນສອງປະເພດ:
    1. APIs ທົ່ວໄປ, ເຊິ່ງສະຫນອງຫນ້າທີ່ທົ່ວໄປແລະທົ່ວໄປໃຫ້ກັບ microcontrollers ຊຸດ STM32 ທັງຫມົດ.
    2. 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
    • 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. ມັນແມ່ນອີງໃສ່ຫຼັກການຂອງການໂອນຄ່າໃຊ້ຈ່າຍດ້ານການພິສູດ.

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.

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

  • ສໍາລັບແຕ່ລະຄະນະ, ຊຸດຂອງ examples ແມ່ນສະຫນອງໃຫ້ກັບໂຄງການ preconfigured ສໍາລັບ EWARM, MDK-ARM, ແລະ STM32CubeIDE toolchains.
  • ຮູບ 4. STM32CubeWBA examples overview ສະແດງໃຫ້ເຫັນໂຄງສ້າງໂຄງການສໍາລັບກະດານ NUCLEO-WBA52CG, NUCLEO-WBA55CG ແລະ STM32WBA55G-DK1.

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

  • ອະດີດ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 ຂອງຂໍ້ແນະນຳຊອບແວ.

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

  • ຊຸດເຟີມແວແພັກເກັດ 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:

  1. ດາວໂຫລດແພັກເກັດ STM32CubeWBA MCU.
  2. Unzip ມັນເຂົ້າໄປໃນໄດເລກະທໍລີທີ່ທ່ານເລືອກ.
  3. ໃຫ້ແນ່ໃຈວ່າບໍ່ດັດແປງໂຄງສ້າງແພັກເກັດທີ່ສະແດງຢູ່ໃນຮູບ 1. ມັນຍັງແນະນໍາໃຫ້ຄັດລອກຊຸດທີ່ຢູ່ໃກ້ຄຽງກັບປະລິມານຮາກຂອງທ່ານ (ຫມາຍຄວາມວ່າ C:\ST ຫຼື G:\Tests), ຍ້ອນວ່າ IDE ບາງຄົນພົບບັນຫາໃນເວລາທີ່ເສັ້ນທາງ. ຄວາມຍາວແມ່ນຍາວເກີນໄປ.

ແລ່ນ TrustZone® ທໍາອິດທີ່ເປີດໃຊ້ example

  • ກ່ອນທີ່ຈະໂຫລດ ແລະແລ່ນ TrustZone® ເປີດໃຊ້ງານ example, ມັນເປັນການບັງຄັບໃຫ້ອ່ານ exampອ່ານຂ້ອຍ file ສໍາ​ລັບ​ການ​ຕັ້ງ​ຄ່າ​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​, ທີ່​ເຮັດ​ໃຫ້​ແນ່​ໃຈວ່​າ​ຄວາມ​ປອດ​ໄພ​ໄດ້​ຖືກ​ເປີດ​ໃຊ້​ງານ​ດັ່ງ​ທີ່​ອະ​ທິ​ບາຍ​ໃນ​ພາກ​ທີ 4.2.1 ໂຄງ​ການ​ເປີດ​ໃຊ້​ງານ TrustZone® (TZEN=1 (ຕົວ​ເລືອກ​ຜູ້​ໃຊ້ byte​)​)​.
    1. ເລືອກເບິ່ງ \Projects\NUCLEO-WBA52CG\Examples.
    2. ເປີດ \GPIO, ຈາກນັ້ນ \GPIO_IOToggle_TrustZone ໂຟນເດີ.
    3. ເປີດໂຄງການດ້ວຍລະບົບຕ່ອງໂສ້ເຄື່ອງມືທີ່ທ່ານຕ້ອງການ. ໄວກວ່າview ກ່ຽວກັບວິທີການເປີດ, ສ້າງ, ແລະດໍາເນີນການ example ກັບຕ່ອງໂສ້ເຄື່ອງມືທີ່ສະຫນັບສະຫນູນແມ່ນໃຫ້ຂ້າງລຸ່ມນີ້.
    4. ກໍ່ສ້າງຄືນໃຫມ່ຕາມລໍາດັບໂຄງການທັງຫມົດທີ່ປອດໄພແລະບໍ່ປອດໄພ files ແລະໂຫຼດຮູບພາບທີ່ປອດໄພແລະບໍ່ປອດໄພເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາເປົ້າຫມາຍ.
    5. ດໍາເນີນການ example: ເປັນປະຈໍາ, ແອັບພລິເຄຊັນທີ່ປອດໄພຈະສະຫຼັບ LD2 ທຸກໆວິນາທີ, ແລະແອັບພລິເຄຊັນທີ່ບໍ່ປອດໄພຈະສະຫຼັບ LD3 ສອງເທົ່າໄວ. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ, ເບິ່ງ readme file ຂອງ exampເລ.
  • ເພື່ອເປີດ, ສ້າງ ແລະດໍາເນີນການ example ກັບຕ່ອງໂສ້ເຄື່ອງມືທີ່ສະຫນັບສະຫນູນ, ປະຕິບັດຕາມຂັ້ນຕອນຂ້າງລຸ່ມນີ້:
    • ອຸ່ນ:
      1. ພາຍໃຕ້ exampໃນໂຟນເດີ, ເປີດ \EWARM ໂຟເດີຍ່ອຍ.
      2. ເປີດຕົວພື້ນທີ່ເຮັດວຽກ Project.eww
      3. ສ້າງໂຄງການທີ່ປອດໄພ xxxxx_S ຄືນໃໝ່ files: [ໂຄງການ]>[ສ້າງຄືນໃຫມ່ທັງຫມົດ].
      4. ຕັ້ງໂຄງການ xxxxx_NS ທີ່ບໍ່ປອດໄພເປັນແອັບພລິເຄຊັນທີ່ໃຊ້ງານ (ຄລິກຂວາໃສ່ໂປຣເຈັກ xxxxx_NS [Set as Active])
      5. ສ້າງໂຄງການທີ່ບໍ່ປອດໄພ xxxxx_NS ຄືນໃໝ່ files: [ໂຄງການ]>[ສ້າງຄືນໃຫມ່ທັງຫມົດ].
      6. Flash binary ທີ່ບໍ່ປອດໄພດ້ວຍ [Project]>[Download]>[Download active application] .
      7. ຕັ້ງ xxxxx_S ເປັນແອັບພລິເຄຊັນທີ່ເປີດໃຊ້ (ຄລິກຂວາໃສ່ໂຄງການ xxxxx_S [ຕັ້ງເປັນ Active].
      8. ກະພິບໄບນາຣີທີ່ປອດໄພດ້ວຍ [ດາວໂຫຼດ ແລະດີບັກ] (Ctrl+D).
      9. ດໍາເນີນການໂຄງການ: [Debug]>[Go(F5)]
    • MDK-ARM:
      1. ເປີດ \MDK-ARM toolchain.
      2. ເປີດພື້ນທີ່ເຮັດວຽກຫຼາຍໂຄງການ file Project.uvmpw.
      3. ເລືອກໂຄງການ xxxxx_s ເປັນແອັບພລິເຄຊັນທີ່ໃຊ້ວຽກ ([ຕັ້ງເປັນໂຄງການເຄື່ອນໄຫວ]).
      4. ສ້າງໂຄງການ xxxxx_s.
      5. ເລືອກໂຄງການ xxxxx_ns ເປັນໂຄງການ Active ([Set as Active Project]).
      6. ສ້າງໂຄງການ xxxxx_ns.
      7. ໂຫລດໄບນາຣີທີ່ບໍ່ປອດໄພ ([F8]). ນີ້ຈະດາວໂຫຼດ \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf ໄປໃສ່ flash memory)
      8. ເລືອກໂຄງການ Project_s ເປັນໂຄງການ Active ([Set as Active Project]).
      9. ໂຫຼດຖານສອງທີ່ປອດໄພ ([F8]). ນີ້ຈະດາວໂຫຼດ \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf ໄປໃສ່ flash memory).
      10. ດໍາເນີນການ exampເລ.
    • STM32CubeIDE:
      1. ເປີດລະບົບຕ່ອງໂສ້ເຄື່ອງມື STM32CubeIDE.
      2. ເປີດພື້ນທີ່ເຮັດວຽກຫຼາຍໂຄງການ file .ໂຄງການ.
      3. ສ້າງໂຄງການ xxxxx_Secure ຄືນໃໝ່.
      4. ສ້າງໂຄງການ xxxxx_NonSecure ຄືນໃໝ່.
      5. ເປີດໃຊ້ແອັບພລິເຄຊັນ [Debug as STM32 Cortex-M C/C++] ສໍາລັບໂຄງການທີ່ປອດໄພ.
      6. ຢູ່ໃນປ່ອງຢ້ຽມ [ແກ້ໄຂການຕັ້ງຄ່າ], ເລືອກແຜງ [ການເລີ່ມຕົ້ນ], ແລະເພີ່ມການໂຫຼດຮູບພາບ ແລະສັນຍາລັກຂອງໂຄງການທີ່ບໍ່ປອດໄພ.
        ສຳຄັນ: ໂຄງການທີ່ບໍ່ປອດໄພຕ້ອງຖືກໂຫຼດກ່ອນໂຄງການທີ່ປອດໄພ.
      7. ກົດ [Ok].
      8. ດໍາເນີນການ example ໃນທັດສະນະການດີບັກ.

ແລ່ນ TrustZone® ທໍາອິດທີ່ພິການ example

  • ກ່ອນທີ່ຈະໂຫລດ ແລະແລ່ນ TrustZone® ປິດການໃຊ້ງານ example, ມັນເປັນການບັງຄັບໃຫ້ອ່ານ exampອ່ານຂ້ອຍ file ສໍາ​ລັບ​ການ​ຕັ້ງ​ຄ່າ​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​. ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ມີ​ການ​ກ່າວ​ເຖິງ​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​, ໃຫ້​ແນ່​ໃຈວ່​າ​ອຸ​ປະ​ກອນ​ຄະ​ນະ​ໄດ້​ປິດ​ການ​ບໍ​ລິ​ການ​ຄວາມ​ປອດ​ໄພ (TZEN=0 (ຕົວ​ເລືອກ​ຜູ້​ໃຊ້ byte​)​)​. ເບິ່ງ FAQ ສໍາລັບການດໍາເນີນການ regression ທາງເລືອກເປັນ TZEN = 0
    1. ເລືອກເບິ່ງ \Projects\NUCLEO-WBA52CG\Examples.
    2. ເປີດ \GPIO, ຈາກນັ້ນ \GPIO_EXTI ໂຟນເດີ.
    3. ເປີດໂຄງການດ້ວຍລະບົບຕ່ອງໂສ້ເຄື່ອງມືທີ່ທ່ານຕ້ອງການ. ໄວກວ່າview ກ່ຽວກັບວິທີການເປີດ, ສ້າງ, ແລະດໍາເນີນການ example ກັບຕ່ອງໂສ້ເຄື່ອງມືທີ່ສະຫນັບສະຫນູນແມ່ນໃຫ້ຂ້າງລຸ່ມນີ້.
    4. ກໍ່ສ້າງຄືນໃຫມ່ທັງຫມົດ files ແລະໂຫຼດຮູບພາບຂອງທ່ານເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາເປົ້າຫມາຍ.
    5. ດໍາເນີນການ example: ແຕ່ລະຄັ້ງທີ່ປຸ່ມກົດ [USER] ຖືກກົດ, ໄຟ LED LD1 ສະຫຼັບ. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ, ເບິ່ງ readme file ຂອງ exampເລ.
  • ເພື່ອເປີດ, ສ້າງ ແລະດໍາເນີນການ example ກັບຕ່ອງໂສ້ເຄື່ອງມືທີ່ສະຫນັບສະຫນູນ, ປະຕິບັດຕາມຂັ້ນຕອນຂ້າງລຸ່ມນີ້:
    • ອຸ່ນ:
      1. ພາຍໃຕ້ exampໃນໂຟນເດີ, ເປີດ \EWARM ໂຟເດີຍ່ອຍ.
      2. ເປີດໃຊ້ພື້ນທີ່ເຮັດວຽກ Project.eww (ຊື່ພື້ນທີ່ເຮັດວຽກອາດຈະປ່ຽນຈາກອັນໜຶ່ງampໄປຫາຄົນອື່ນ).
      3. ກໍ່ສ້າງຄືນໃຫມ່ທັງຫມົດ files: [ໂຄງການ]>[ສ້າງຄືນໃຫມ່ທັງຫມົດ].
      4. ໂຫຼດຮູບພາບໂຄງການ: [ໂຄງການ]> [Debug].
      5. ດໍາເນີນໂຄງການ: [Debug]>[Go (F5)].
    • MDK-ARM:
      1. ພາຍໃຕ້ exampຈາກນັ້ນ, ເປີດໂຟນເດີຍ່ອຍ \MDK-ARM.
      2. ເປີດໃຊ້ພື້ນທີ່ເຮັດວຽກ Project.uvproj (ຊື່ພື້ນທີ່ເຮັດວຽກອາດຈະປ່ຽນຈາກອັນໜຶ່ງampໄປຫາຄົນອື່ນ).
      3. ກໍ່ສ້າງຄືນໃຫມ່ທັງຫມົດ files:[ໂຄງການ]>[ສ້າງເປົ້າໝາຍທັງໝົດ files].
      4. ໂຫຼດຮູບໂຄງການ: [Debug]>[Start/Stop Debug Session].
      5. ດໍາເນີນໂຄງການ: [Debug]>[Run (F5)].
    • STM32CubeIDE:
      1. ເປີດລະບົບຕ່ອງໂສ້ເຄື່ອງມື STM32CubeIDE.
      2. ກົດ [File]>[ສະຫຼັບພື້ນທີ່ເຮັດວຽກ]>[ອື່ນໆ] ແລະທ່ອງໄປຫາໄດເຣັກທໍຣີພື້ນທີ່ເຮັດວຽກ STM32CubeIDE.
      3. ກົດ [File]>[ການ​ນໍາ​ເຂົ້າ​] , ເລືອກ [ທົ່ວ​ໄປ​]​> [ໂຄງ​ການ​ທີ່​ມີ​ຢູ່​ໃນ​ບ່ອນ​ເຮັດ​ວຽກ​]​, ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ໃຫ້​ຄລິກ​ໃສ່ [Next​]​.
      4. ໄປຫາໄດເລກະທໍລີພື້ນທີ່ເຮັດວຽກ STM32CubeIDE ແລະເລືອກໂຄງການ.
      5. ກໍ່ສ້າງໂຄງການທັງຫມົດ files​: ເລືອກ​ໂຄງ​ການ​ຢູ່​ໃນ​ປ່ອງ​ຢ້ຽມ [Project Explorer​] ຫຼັງ​ຈາກ​ນັ້ນ​ໃຫ້​ຄລິກ​ໃສ່ [ໂຄງ​ການ​]​> [ສ້າງ​ໂຄງ​ການ​] ເມ​ນູ​.
      6. ດໍາເນີນການໂຄງການ: [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, ປະຕິບັດຕາມຂັ້ນຕອນໂດຍຂັ້ນຕອນ:
    1. ເລືອກ microcontroller STM32 ທີ່ກົງກັບຊຸດອຸປະກອນຕໍ່ພ່ວງທີ່ຕ້ອງການ.
    2. ຕັ້ງຄ່າຊອບແວທີ່ຝັງໄວ້ທັງໝົດທີ່ຕ້ອງການໂດຍໃຊ້ຕົວແກ້ໄຂຂໍ້ຂັດແຍ່ງ pinout, ຕົວຊ່ວຍການຕັ້ງຕົ້ນໄມ້ໂມງ, ເຄື່ອງຄິດເລກການບໍລິໂພກພະລັງງານ, ແລະຜົນປະໂຫຍດທີ່ປະຕິບັດການປັບຄ່າອຸປະກອນຕໍ່ຂ້າງ MCU (ເຊັ່ນ: GPIO ຫຼື USART) ແລະ stacks ກາງ (ເຊັ່ນ USB).
    3. ສ້າງລະຫັດ C ເບື້ອງຕົ້ນໂດຍອີງໃສ່ການຕັ້ງຄ່າທີ່ເລືອກ. ລະຫັດນີ້ພ້ອມທີ່ຈະໃຊ້ພາຍໃນສະພາບແວດລ້ອມການພັດທະນາຫຼາຍອັນ. ລະຫັດຜູ້ໃຊ້ຖືກເກັບໄວ້ໃນການຜະລິດລະຫັດຕໍ່ໄປ.
  • ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ STM32CubeMX, ເບິ່ງຄູ່ມືຜູ້ໃຊ້ STM32CubeMX ສໍາລັບການຕັ້ງຄ່າ STM32 ແລະການສ້າງລະຫັດເບື້ອງຕົ້ນ C (UM1718).
  • ສໍາລັບບັນຊີລາຍຊື່ຂອງໂຄງການທີ່ມີຢູ່ examples ສໍາລັບ STM32CubeWBA, ອ້າງອີງເຖິງແອັບພລິເຄຊັນ STM32Cube firmware examples ສໍາລັບຊຸດ STM32WBA (AN5929).

ຄໍາຮ້ອງສະຫມັກໄດເວີ

ຄໍາຮ້ອງສະຫມັກ HAL
ພາກນີ້ອະທິບາຍຂັ້ນຕອນທີ່ຈໍາເປັນເພື່ອສ້າງຄໍາຮ້ອງສະຫມັກ HAL ແບບກໍານົດເອງໂດຍໃຊ້ STM32CubeWBA:

  1. ສ້າງໂຄງການ
    • ເພື່ອສ້າງໂຄງການໃຫມ່, ເລີ່ມຕົ້ນຈາກໂຄງການແມ່ແບບທີ່ສະຫນອງໃຫ້ແຕ່ລະກະດານພາຍໃຕ້ \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().
        ໝາຍເຫດ: ເມື່ອການຄັດລອກໂຄງການທີ່ມີຢູ່ກັບສະຖານທີ່ອື່ນ, ໃຫ້ແນ່ໃຈວ່າເສັ້ນທາງລວມທັງຫມົດໄດ້ຖືກປັບປຸງ.
  2. ເພີ່ມອຸປະກອນກາງທີ່ຈໍາເປັນໃສ່ໂຄງການຜູ້ໃຊ້ (ທາງເລືອກ)
    ເພື່ອກໍານົດແຫຼ່ງ files ຈະຖືກເພີ່ມເຂົ້າໃນໂຄງການ file ບັນຊີລາຍຊື່, ອ້າງອີງໃສ່ເອກະສານທີ່ສະຫນອງໃຫ້ສໍາລັບແຕ່ລະຕົວກາງ. ອ້າງອີງເຖິງແອັບພລິເຄຊັນພາຍໃຕ້ \Projects\STM32xxx_yyy\Applications\ (ບ່ອນ ຫມາຍເຖິງ stack ກາງ, ເຊັ່ນ ThreadX) ເພື່ອຮູ້ວ່າແຫຼ່ງໃດ files ແລະປະກອບມີເສັ້ນທາງຕ້ອງໄດ້ຮັບການເພີ່ມ.
  3. ຕັ້ງຄ່າອົງປະກອບເຟີມແວ
    ອົງປະກອບຂອງ HAL ແລະ middleware ສະເໜີຊຸດຕົວເລືອກການຕັ້ງຄ່າເວລາສ້າງໂດຍໃຊ້ macros #define ປະກາດໃນສ່ວນຫົວ. file. ການຕັ້ງຄ່າແມ່ແບບ file ໄດ້ຖືກສະຫນອງໃຫ້ພາຍໃນແຕ່ລະອົງປະກອບ, ເຊິ່ງຕ້ອງໄດ້ຮັບການຄັດລອກໄປທີ່ໂຟເດີໂຄງການ (ປົກກະຕິແລ້ວການຕັ້ງຄ່າ file ມີຊື່ວ່າ xxx_conf_template.h, ຄໍາວ່າ _template ຈໍາເປັນຕ້ອງໄດ້ໂຍກຍ້າຍອອກເມື່ອຄັດລອກມັນໄປໃສ່ໂຟນເດີໂຄງການ). ການ​ຕັ້ງ​ຄ່າ​ file ໃຫ້ຂໍ້ມູນພຽງພໍເພື່ອເຂົ້າໃຈຜົນກະທົບຂອງແຕ່ລະທາງເລືອກໃນການຕັ້ງຄ່າ. ຂໍ້ມູນລາຍລະອຽດເພີ່ມເຕີມແມ່ນມີຢູ່ໃນເອກະສານທີ່ໃຫ້ສໍາລັບແຕ່ລະອົງປະກອບ.
  4. ເລີ່ມຕົ້ນຫ້ອງສະຫມຸດ 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 ເພື່ອປະຕິບັດການເລີ່ມຕົ້ນຮາດແວລະດັບຕ່ໍາທົ່ວໂລກ.
  5. ຕັ້ງຄ່າໂມງລະບົບ
    ການຕັ້ງຄ່າໂມງລະບົບແມ່ນເຮັດໂດຍການໂທຫາສອງ APIs ທີ່ອະທິບາຍຂ້າງລຸ່ມນີ້:
    • HAL_RCC_OscConfig(): API ນີ້ກຳນົດຄ່າ oscillators ພາຍໃນ ແລະ ພາຍນອກ. ຜູ້ໃຊ້ເລືອກທີ່ຈະກໍານົດຫນຶ່ງຫຼືທັງຫມົດ oscillators.
    • HAL_RCC_ClockConfig(): API ນີ້ກຳນົດຄ່າແຫຼ່ງໂມງຂອງລະບົບ, ຄວາມຢືດຢຸ່ນຂອງໜ່ວຍຄວາມຈຳແຟລດ, ແລະ AHB ແລະ APB prescalers.
  6. ເລີ່ມຕົ້ນອຸປະກອນຕໍ່ພ່ວງ
    • ທຳອິດໃຫ້ຂຽນຟັງຊັນ HAL_PPP_MspInit ຕໍ່ຂ້າງ. ດໍາເນີນການດັ່ງຕໍ່ໄປນີ້:
      • ເປີດໃຊ້ໂມງຕໍ່ຂ້າງ.
      • ຕັ້ງຄ່າ GPIOs ຕໍ່ຂ້າງ.
      • ຕັ້ງຄ່າຊ່ອງ DMA ແລະເປີດໃຊ້ DMA ຂັດຂວາງ (ຖ້າຈໍາເປັນ).
      • ເປີດໃຊ້ການລົບກວນອຸປະກອນຕໍ່ຂ້າງ (ຖ້າຕ້ອງການ).
    • ແກ້ໄຂ stm32xxx_it.c ເພື່ອໂທຫາຕົວຈັດການລົບກວນທີ່ຕ້ອງການ (ອຸປະກອນຕໍ່ພ່ວງ ແລະ DMA), ຖ້າຈໍາເປັນ.
    • ຂະບວນການຂຽນຟັງຊັນໂທຄືນທີ່ສົມບູນ, ຖ້າມີການຂັດຈັງຫວະຂອງອຸປະກອນຂ້າງຄຽງ ຫຼື DMA ແມ່ນວາງແຜນທີ່ຈະໃຊ້.
    • ໃນຜູ້ໃຊ້ main.c file, ເລີ່ມຕົ້ນໂຄງສ້າງຕົວຈັບອຸປະກອນຕໍ່ຂ້າງ ຈາກນັ້ນໂທຫາຟັງຊັນ HAL_PPP_Init() ເພື່ອເລີ່ມຕົ້ນອຸປະກອນຕໍ່ພອຍ.
  7. ພັດທະນາແອັບພລິເຄຊັນ
    • ໃນນີ້ 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.

  1. ສ້າງໂຄງການ
    • ເພື່ອສ້າງໂຄງການໃຫມ່, ເລີ່ມຕົ້ນຈາກໂຄງການ 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: ການຕັ້ງຄ່າໂມງລະບົບສໍາລັບຄວາມຖີ່ສູງສຸດ.
  2. Port ໂຄງການທີ່ມີຢູ່ແລ້ວກັບກະດານອື່ນ
    ເພື່ອສະຫນັບສະຫນູນໂຄງການທີ່ມີຢູ່ແລ້ວໃນກະດານເປົ້າຫມາຍອື່ນ, ເລີ່ມຕົ້ນຈາກໂຄງການ Templates_LL ທີ່ສະຫນອງໃຫ້ແຕ່ລະກະດານແລະມີຢູ່ໃນ \Projects\ \Templates_LL.
    • ເລືອກ LL example: ເພື່ອຊອກຫາກະດານທີ່ LL examples ແມ່ນ deployed, ອ້າງເຖິງບັນຊີລາຍຊື່ຂອງ LL examples STM32CubeProjectsList.html.
  3. Port the LL example:
    • ສຳເນົາ/ວາງໂຟນເດີ Templates_LL – ເພື່ອຮັກສາແຫຼ່ງເບື້ອງຕົ້ນ – ຫຼື ປັບປຸງໂຄງການ Templates_LL ທີ່ມີຢູ່ແລ້ວໂດຍກົງ.
    • ຫຼັງຈາກນັ້ນ, porting ປະກອບດ້ວຍຕົ້ນຕໍໃນການທົດແທນ Templates_LL files ໂດຍ Examples_LL ໂຄງການເປົ້າຫມາຍ.
    • ຮັກສາພາກສ່ວນສະເພາະຂອງກະດານທັງໝົດ. ສໍາລັບເຫດຜົນຂອງຄວາມກະຈ່າງແຈ້ງ, ພາກສ່ວນສະເພາະຂອງກະດານແມ່ນທຸງທີ່ມີສະເພາະ tags:

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

    • ດັ່ງນັ້ນ, ຂັ້ນຕອນການສົ່ງສັນຍານຕົ້ນຕໍແມ່ນດັ່ງຕໍ່ໄປນີ້:
      • ແທນທີ່ 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 ການເລີ່ມຕົ້ນ, ການເລີ່ມຕົ້ນ, ເລີ່ມຕົ້ນ

ເອກະສານອ້າງອີງ

ອອກຄໍາເຫັນ

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ຊ່ອງຂໍ້ມູນທີ່ຕ້ອງການຖືກໝາຍໄວ້ *