STMicroelectronics-လိုဂို

STMicroelectronics STM32WBA စီးရီး စတင်နေပါပြီ။

STMicroelectronics-STM32WBA-စီးရီး-စတင်ခြင်း-fig-1

ထုတ်ကုန်အချက်အလက်

သတ်မှတ်ချက်များ-

  • ထုတ်ကုန်အမည်- STM32CubeWBA MCU Package
  • ထုတ်လုပ်သူ- STMicroelectronics
  • လိုက်ဖက်မှု- STM32WBA စီးရီး မိုက်ခရိုကွန်ထရိုလာများ
  • လိုင်စင်- Open-source BSD လိုင်စင်

ထုတ်ကုန်အသုံးပြုမှု ညွှန်ကြားချက်များ

STM32CubeWBA MCU Package ၏အဓိကအင်္ဂါရပ်များ
STM32CubeWBA MCU Package သည် STM32WBA စီးရီးမိုက်ခရိုကွန်ထရိုလာများပေါ်တွင် အပလီကေးရှင်းများဖန်တီးရန်အတွက် လိုအပ်သော ဆော့ဖ်ဝဲအစိတ်အပိုင်းများအားလုံးကို ပံ့ပိုးပေးပါသည်။ ၎င်းသည် STM32 စီးရီးအတွင်း သယ်ဆောင်ရလွယ်ကူပြီး HAL နှင့် LL APIs များ ဥပမာအားဖြင့် ပါရှိသည်။amples နှင့် middleware အစိတ်အပိုင်းများ။

ဗိသုကာပညာကျော်view:
STM32CubeWBA MCU Package ၏ တည်ဆောက်ပုံတွင် အဆင့်သုံးဆင့် ပါ၀င်သည် - အပလီကေးရှင်းများ၊ စာကြည့်တိုက်နှင့် ပရိုတိုကောအခြေခံ အစိတ်အပိုင်းများ၊ ဟာ့ဒ်ဝဲ စုပ်ယူမှု အလွှာ၊ BSP ဒရိုက်ဘာများ၊ Core ဒရိုက်ဘာများနှင့် အနိမ့်အလွှာ API များ ပါဝင်သည်။

အမြဲမေးလေ့ရှိသောမေးခွန်းများ

  • STM32CubeWBA MCU Package တွင် အဘယ်အရာပါဝင်သနည်း။
    ပက်ကေ့ဂျ်တွင် အနိမ့်ဆုံးအလွှာ (LL) နှင့် ဟာ့ဒ်ဝဲလ် abstraction အလွှာ (HAL) APIs၊ ဥပမာamples, applications, middleware အစိတ်အပိုင်းများ စသည်တို့ဖြစ်သည်။ FileX/LevelX၊ NetX Duo၊ mbed-crypto စာကြည့်တိုက်များနှင့် အခြားအရာများ။
  • STM32CubeWBA MCU Package သည် STM32CubeMX ကုဒ်မီးစက်နှင့် တွဲဖက်အသုံးပြုနိုင်ပါသလား။
    ဟုတ်ပါသည်၊ ပက်ကေ့ဂျ်သည် ကနဦးကုဒ်ထုတ်ပေးရန်အတွက် STM32CubeMX ကုဒ်ဂျင်နရေတာနှင့် အပြည့်အဝ တွဲဖက်အသုံးပြုနိုင်ပါသည်။

နိဒါန်း

  • STM32Cube သည် ဖွံ့ဖြိုးတိုးတက်မှု ကြိုးပမ်းမှု၊ အချိန်နှင့် ကုန်ကျစရိတ်များကို လျှော့ချခြင်းဖြင့် ဒီဇိုင်နာများ၏ ကုန်ထုတ်စွမ်းအားကို သိသိသာသာ မြှင့်တင်ရန် STMicroelectronics မူလအစပြုမှုတစ်ခု ဖြစ်သည်။ STM32Cube သည် STM32 အစုစုတစ်ခုလုံးကို လွှမ်းခြုံထားသည်။
    STM32Cube ပါဝင်သည်-
    • ပရောဂျက်စတင်တည်ဆောက်မှုမှ စတင်အကောင်အထည်ဖော်ခြင်းအထိ အကျုံးဝင်စေရန် အသုံးပြုသူနှင့် အဆင်ပြေစေမည့် ဆော့ဖ်ဝဲလ် ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာအစုံအလင် ပါဝင်သော အမျိုးအစားများမှာ-
      • STM32CubeMX၊ ဂရပ်ဖစ်ဆော့ဖ်ဝဲလ်ဖွဲ့စည်းမှုပုံစံတူးလ်တစ်ခုသည် graphical wizards များကိုအသုံးပြု၍ C အစပျိုးကုဒ်၏အလိုအလျောက်ထုတ်လုပ်ခြင်းကိုခွင့်ပြုသည်။
      • STM32CubeIDE၊ အရံဖွဲ့စည်းပုံ၊ ကုဒ်ထုတ်လုပ်ခြင်း၊ ကုဒ်စုစည်းခြင်းနှင့် အမှားရှာပြင်ခြင်းဆိုင်ရာ အင်္ဂါရပ်များပါရှိသော အလုံးစုံ-in-one ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာ
      • STM32CubeCLT၊ ကုဒ်စုစည်းမှု၊ ဘုတ်ပရိုဂရမ်ရေးဆွဲခြင်းနှင့် အမှားရှာပြင်ခြင်းဆိုင်ရာ အင်္ဂါရပ်များပါရှိသော အလုံးစုံ-in-one command-line ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာအစုံ။
      • STM32CubeProgrammer (STM32CubeProg)၊ graphical နှင့် command-line ဗားရှင်းများတွင် ရရှိနိုင်သော ပရိုဂရမ်းမင်းတူးလ်
      • STM32CubeMonitor (STM32CubeMonitor၊ STM32CubeMonPwr၊ STM32CubeMonRF၊ STM32CubeMonUCPD)၊ STM32 အပလီကေးရှင်းများ၏ အပြုအမူနှင့် စွမ်းဆောင်ရည်ကို အချိန်နှင့်တပြေးညီ ချိန်ညှိရန် အစွမ်းထက်သော စောင့်ကြည့်ရေးကိရိယာများ
    • STM32Cube MCU နှင့် MPU ပက်ကေ့ဂျ်များ၊ မိုက်ခရိုကွန်ထရိုလာနှင့် မိုက်ခရိုပရိုဆက်ဆာ စီးရီးတစ်ခုစီအတွက် ကျယ်ကျယ်ပြန့်ပြန့်ထည့်သွင်းထားသော ဆော့ဖ်ဝဲလ်ပလပ်ဖောင်းများ (STM32CubeWBA စီးရီးအတွက် STM32WBA ကဲ့သို့) ပါဝင်သည်-
      • STM32Cube hardware abstraction layer (HAL)၊
      • STM32Cube low-layer APIs များသည် ဟာ့ဒ်ဝဲကို အသုံးပြုသူ ထိန်းချုပ်မှု မြင့်မားသော ဒီဂရီဖြင့် အကောင်းဆုံး စွမ်းဆောင်ရည်နှင့် ခြေရာများကို သေချာစေသည်
      • ThreadX ကဲ့သို့ တသမတ်တည်းရှိသော အလယ်အလတ်ဆော့ဖ်ဝဲ အစိတ်အပိုင်းများ FileX / LevelX၊ NetX Duo၊ USBX၊ ထိတွေ့စာကြည့်တိုက်၊ 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 တိုးချဲ့မှုများနှင့် အသုံးချအလွှာများ
      • Exampအချို့သော STMicroelectronics ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်များပေါ်တွင် လုပ်ဆောင်နေပါသည်။
  • ဤအသုံးပြုသူလက်စွဲတွင် STM32CubeWBA MCU Package ကို မည်သို့စတင်ရမည်ကို ဖော်ပြထားပါသည်။
    • အပိုင်း 2 STM32CubeWBA အဓိကအင်္ဂါရပ်များသည် STM32CubeWBA MCU Package ၏ အဓိကအင်္ဂါရပ်များကို ဖော်ပြသည်။
    • အပိုင်း 3 STM32CubeWBA ဗိသုကာလက်ရာ ပြီးပါပြီ။view တစ်အုပ်ပေးတယ်။view STM32CubeWBA ဗိသုကာနှင့် MCU Package တည်ဆောက်ပုံ။

ယေဘုယျသတင်းအချက်အလက်

STM32CubeWBA MCU Package သည် Arm® TrustZone® နှင့် FPU ပါရှိသော Arm® Cortex®-M32 ပရိုဆက်ဆာအပေါ် အခြေခံထားသော STM32 33-bit microcontrollers များပေါ်တွင် လုပ်ဆောင်ပါသည်။
မှတ်ချက် - Arm နှင့် TrustZone တို့သည် US နှင့်/သို့မဟုတ် အခြားနေရာများတွင် Arm Limited (သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ) ၏ မှတ်ပုံတင်ထားသော ကုန်အမှတ်တံဆိပ်များဖြစ်သည်။

STM32CubeWBA ၏အဓိကအင်္ဂါရပ်များ

  • STM32CubeWBA MCU Package သည် TrustZone® နှင့် FPU ပါသော Arm® Cortex®-M32 ပရိုဆက်ဆာအပေါ် အခြေခံ၍ STM32 33-bit မိုက်ခရိုကွန်ထရိုလာများပေါ်တွင် အလုပ်လုပ်ပါသည်။
  • STM32CubeWBA သည် STM32WBA စီးရီးမိုက်ခရိုကွန်ထရိုလာများအတွက် အက်ပလီကေးရှင်းတစ်ခုဖန်တီးရန်အတွက် လိုအပ်သော ယေဘုယျထည့်သွင်းထားသောဆော့ဖ်ဝဲလ်အစိတ်အပိုင်းအားလုံးကို အထုပ်တစ်ခုတွင် စုစည်းထားသည်။ STM32Cube ပဏာမခြေလှမ်းနှင့်အညီ၊ ဤအစိတ်အပိုင်းများသည် STM32WBA စီးရီး microcontrollers များအတွင်းသာမက အခြားသော STM32 စီးရီးများအတွက်ပါ သယ်ဆောင်ရလွယ်ကူပါသည်။
  • STM32CubeWBA သည် ကနဦးကုဒ်ကိုထုတ်လုပ်ရန်အတွက် STM32CubeMX ကုဒ်ထုတ်လုပ်သူနှင့် အပြည့်အဝသဟဇာတဖြစ်သည်။ ပက်ကေ့ဂျ်တွင် အနိမ့်ဆုံးအလွှာ (LL) နှင့် မိုက်ခရိုကွန်ထရိုလာ ဟာ့ဒ်ဝဲကို ဖုံးအုပ်ထားသည့် ဟာ့ဒ်ဝဲအလွှာ (HAL) API များ ပါ၀င်သည်၊၊ ကျယ်ပြန့်သော ex အစုနှင့်အတူampSTMicroelectronics ဘုတ်များပေါ်တွင် လုပ်ဆောင်နေပါသည်။ အသုံးပြုသူအဆင်ပြေစေရန် HAL နှင့် LL API များကို open-source BSD လိုင်စင်တွင် ရနိုင်ပါသည်။
  • STM32CubeWBA MCU Package တွင် Microsoft® Azure® RTOS အလယ်တန်းဆော့ဖ်ဝဲနှင့် သက်ဆိုင်သော ex နှင့်အတူ တည်ဆောက်ထားသော ပြည့်စုံသော အလယ်တန်းဆော့ဖ်ဝဲ အစိတ်အပိုင်းတစ်ခုလည်း ပါဝင်ပါသည်။amples
  • ၎င်းတို့သည် အခမဲ့ အသုံးပြုရလွယ်ကူသော လိုင်စင်စည်းကမ်းချက်များဖြင့် လာပါသည်-
    • ပေါင်းစပ်ပြီး အင်္ဂါရပ်အပြည့်ပါသော Azure® RTOS- Azure® RTOS ThreadX
    • Azure® RTOS ThreadX ဖြင့် CMSIS-RTOS အကောင်အထည်ဖော်ခြင်း။
    • Azure® RTOS USBX အတန်းများစွာဖြင့်လာမည့် USB Host နှင့် Device stacks များ
    • အဆင့်မြင့်သည်။ file စနစ်နှင့် flash ဘာသာပြန်အလွှာ- FileX / LevelX
    • စက်မှုအဆင့် ကွန်ရက်ချိတ်ဆက်မှုအစုစု- IoT ပရိုတိုကောများစွာဖြင့် ရောက်ရှိလာသည့် စွမ်းဆောင်ရည်အတွက် အသင့်တော်ဆုံး- NetX Duo
    • OpenBootloader
    • Arm® ယုံကြည်စိတ်ချရသော Firmware-M (TF-M) ပေါင်းစပ်ဖြေရှင်းချက်
    • mbed-crypto စာကြည့်တိုက်များ
    • ST Netwok စာကြည့်တိုက်
    • STMTouch ထိတွေ့အာရုံခံ ဒစ်ဂျစ်တိုက်ဖြေရှင်းချက်
  • ဤအလယ်တန်းဆော့ဖ်ဝဲ အစိတ်အပိုင်းများအားလုံးကို အကောင်အထည်ဖော်သည့် အပလီကေးရှင်းအများအပြားနှင့် သရုပ်ပြမှုများကို STM32CubeWBA MCU Package တွင်လည်း ပံ့ပိုးပေးထားသည်။
  • STM32CubeWBA MCU Package အစိတ်အပိုင်း အပြင်အဆင်ကို ပုံ 1 တွင် သရုပ်ဖော်ထားသည်။ STM32CubeWBA MCU Package အစိတ်အပိုင်းများ။

    STMicroelectronics-STM32WBA-စီးရီး-စတင်ခြင်း-fig-2

STM32CubeWBA ဗိသုကာview

STM32CubeWBA MCU ပက်ကေ့ဂျ်ဖြေရှင်းချက်သည် ပုံ 2 တွင်ဖော်ပြထားသည့်အတိုင်း လွယ်ကူစွာ အပြန်အလှန်တုံ့ပြန်နိုင်သော သီးခြားအဆင့်သုံးဆင့်ဖြင့် တည်ဆောက်ထားသည်။ STM32CubeWBA MCU ပက်ကေ့ခ်ျဗိသုကာ။

STMicroelectronics-STM32WBA-စီးရီး-စတင်ခြင်း-fig-3

အဆင့် ၁

ဤအဆင့်ကို sublayers သုံးခုခွဲထားသည်။

  • ဘုတ်အဖွဲ့ပံ့ပိုးမှုအထုပ် (BSP)။
  • Hardware abstraction layer (HAL)-
    • HAL အရံယာဉ်မောင်းများ
    • အလွှာနိမ့်ယာဉ်မောင်းများ
  • အခြေခံ အရံအသုံးပြုမှု ဥပမာamples

ဘုတ်အဖွဲ့ပံ့ပိုးမှုအထုပ် (BSP)
ဤအလွှာသည် ဟာ့ဒ်ဝဲဘုတ်များအတွင်းရှိ ဟာ့ဒ်ဝဲအစိတ်အပိုင်းများ (ဥပမာ LCD၊ အသံ၊\ microSD™၊ နှင့် MEMS ဒရိုက်ဗာများကဲ့သို့) API အစုအဝေးကို ပေးဆောင်သည်။ ၎င်းကို အပိုင်းနှစ်ပိုင်းဖြင့် ဖွဲ့စည်းထားသည်။

  • အစိတ်အပိုင်းယာဉ်မောင်း-
    ဤဒရိုက်ဘာသည် ဘုတ်ပေါ်ရှိ ပြင်ပစက်ပစ္စည်းနှင့် ဆက်စပ်နေပြီး STM32 စက်ပစ္စည်းနှင့် မဟုတ်ပါ။ အစိတ်အပိုင်းဒရိုက်ဗာသည် BSP ဒရိုက်ဘာပြင်ပအစိတ်အပိုင်းများသို့ သီးခြား API များကို ပံ့ပိုးပေးကာ အခြားဘုတ်အဖွဲ့များတွင် သယ်ဆောင်သွားနိုင်သည်။
  • BSP ယာဉ်မောင်း
    BSP ဒရိုက်ဘာသည် အစိတ်အပိုင်းဒရိုင်ဘာများကို သီးခြားဘုတ်အဖွဲ့တစ်ခုသို့ ချိတ်ဆက်ခွင့်ပြုကာ အသုံးပြုရလွယ်ကူသောအစုအဝေးကို ပံ့ပိုးပေးသည်။
    API များ API အမည်ပေးခြင်း စည်းမျဉ်းသည် BSP_FUNCT_Action() ဖြစ်သည်။
    Example- BSP_LED_Init(), BSP_LED_On()
    BSP သည် အဆင့်နိမ့်လုပ်ရိုးလုပ်စဉ်များကို အကောင်အထည်ဖော်ရုံဖြင့် မည်သည့် hardware တွင်မဆို အလွယ်တကူ porting ပြုလုပ်နိုင်သည့် modular architecture ကို အခြေခံထားသည်။

Hardware abstraction layer (HAL) နှင့် low-layer (LL)
STM32CubeWBA HAL နှင့် LL တို့သည် ဖြည့်စွက်ပြီး လျှောက်လွှာလိုအပ်ချက်များစွာကို အကျုံးဝင်သည်-

  • HAL ဒရိုက်ဘာများသည် အဆင့်မြင့်လုပ်ဆောင်ချက်ကို ဦးတည်သည့် သယ်ဆောင်ရလွယ်ကူသော API များကို ပေးဆောင်သည်။ ၎င်းတို့သည် MCU နှင့် အရံရှုပ်ထွေးမှုများကို အဆုံးအသုံးပြုသူထံ ဝှက်ထားသည်။
    HAL ဒရိုက်ဘာများသည် အသုံးပြုသူ၏အပလီကေးရှင်းကို အကောင်အထည်ဖော်ရာတွင် ရိုးရှင်းလွယ်ကူစေသည့် ယေဘူယျ-အင်စတီကျု-အင်စတီနရှင်း-အသားပေး API များကို ပံ့ပိုးပေးပါသည်။ ဟောင်းအတွက်ample၊ ဆက်သွယ်ရေးအရံအတားများ (I2S၊ UART နှင့် အခြားအရာများ) အတွက် ၎င်းသည် အစွန်အဖျားများကို အစပြုခြင်းနှင့် ပြင်ဆင်သတ်မှတ်ခြင်း၊ မဲဆွယ်ခြင်း၊ အနှောင့်အယှက်ပေးခြင်း သို့မဟုတ် DMA လုပ်ငန်းစဉ်အပေါ် အခြေခံ၍ ဒေတာလွှဲပြောင်းခြင်းကို စီမံခန့်ခွဲခြင်းနှင့် ဆက်သွယ်ရေးကာလအတွင်း ဖြစ်ပေါ်လာနိုင်သည့် ဆက်သွယ်ရေးအမှားအယွင်းများကို ကိုင်တွယ်ခြင်းတို့ကို ခွင့်ပြုပေးပါသည်။ HAL ဒရိုက်ဘာ API များကို အမျိုးအစား နှစ်မျိုးခွဲထားသည်-
    1. STM32 စီးရီး မိုက်ခရိုကွန်ထရိုလာများအားလုံးအတွက် ဘုံနှင့် ယေဘူယျလုပ်ဆောင်ချက်များကို ပေးဆောင်သည့် ယေဘူယျ API များ။
    2. မိသားစုတစ်ခု သို့မဟုတ် အစိတ်အပိုင်းနံပါတ်တစ်ခုအတွက် သီးသန့်နှင့် စိတ်ကြိုက်လုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးသည့် တိုးချဲ့ API များ။
  • Low-layer APIs များသည် ပိုမိုကောင်းမွန်သော ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ထားသော်လည်း သယ်ဆောင်ရလွယ်ကူမှုနည်းသော မှတ်ပုံတင်အဆင့်တွင် အဆင့်နိမ့် API များကို ပံ့ပိုးပေးပါသည်။
    • ၎င်းတို့သည် MCU နှင့် peripheral specifications များကို နက်ရှိုင်းစွာ သိရှိရန် လိုအပ်ပါသည်။
    • LL ယာဉ်မောင်းများသည် HAL ထက် ဟာ့ဒ်ဝဲနှင့် ပိုနီးစပ်သော လျင်မြန်သော ပေါ့ပါးကျွမ်းကျင်သော အလွှာတစ်ခုကို ပေးဆောင်ရန် ဒီဇိုင်းထုတ်ထားသည်။ HAL နှင့်ဆန့်ကျင်ဘက်၊ LL APIs များကို optimized access သည် အဓိကအင်္ဂါရပ်မဟုတ်သော၊ သို့မဟုတ် လေးလံသောဆော့ဖ်ဝဲလ်ဖွဲ့စည်းပုံဖွဲ့စည်းပုံ သို့မဟုတ် ရှုပ်ထွေးသောအထက်အဆင့်စဥ်များလိုအပ်သော အရံပစ္စည်းများအတွက် ထောက်ပံ့ပေးထားခြင်းမရှိပါ။
    • LL drivers များ၏အင်္ဂါရပ်များ
      • ဒေတာတည်ဆောက်ပုံများတွင် သတ်မှတ်ထားသည့် ဘောင်များအလိုက် အရံပင်မအင်္ဂါရပ်များကို စတင်ရန် လုပ်ဆောင်ချက်များအစုံ။
      • အကွက်တစ်ခုစီနှင့် သက်ဆိုင်သော ပြန်လည်သတ်မှတ်မှုတန်ဖိုးများနှင့်အတူ ကနဦးစတင်ခြင်းဒေတာတည်ဆောက်ပုံများကို ဖြည့်စွက်ရန် လုပ်ဆောင်ချက်အစုံ။
      • အစွန်အဖျား လွဲမှားခြင်းအတွက် လုပ်ဆောင်ချက် (အစွန်အဖျား မှတ်ပုံတင်များကို ၎င်းတို့၏ မူရင်းတန်ဖိုးများသို့ ပြန်ယူထားသည်)။
      • တိုက်ရိုက်နှင့် အက်တမ် မှတ်ပုံတင်ခွင့်အတွက် အင်လိုင်းလုပ်ဆောင်ချက်အစုံ။
      • HAL မှ အပြည့်အဝလွတ်လပ်မှုရှိပြီး သီးခြားမုဒ်တွင် (HAL ယာဉ်မောင်းများမပါဘဲ) အသုံးပြုနိုင်သည်။
      • ပံ့ပိုးထားသော အရံအင်္ဂါရပ်များ အပြည့်အစုံ။

အခြေခံ အရံအသုံးပြုမှု ဥပမာamples
ဤအလွှာသည် ex ကို ဖုံးအုပ်ထားသည်။amples သည် HAL နှင့် BSP အရင်းအမြစ်များကိုသာအသုံးပြု၍ STM32 အရံအတားများပေါ်တွင်တည်ဆောက်ထားသည်။

အဆင့် ၁

ဤအဆင့်ကို အလွှာနှစ်ခုအဖြစ် ပိုင်းခြားထားသည်။

  • Middleware အစိတ်အပိုင်းများ
  • ExampMiddleware အစိတ်အပိုင်းများကို အခြေခံ၍ les

Middleware အစိတ်အပိုင်းများ

  • အလယ်တန်းဆော့ဖ်ဝဲသည် Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®၊
  • Matter၊ OpenBootloader၊ Microsoft® Azure® RTOS၊ TF-M၊ MCUboot နှင့် mbed-crypto။
  • ဤအလွှာ၏အစိတ်အပိုင်းများအကြား အလျားလိုက်အပြန်အလှန်တုံ့ပြန်မှုသည် အထူးပြု API များကိုခေါ်ဆိုခြင်းဖြင့် လုပ်ဆောင်သည်။
  • အနိမ့်အလွှာ ဒရိုင်ဘာများနှင့် ဒေါင်လိုက်အပြန်အလှန်ဆက်သွယ်မှုကို စာကြည့်တိုက်စနစ်ခေါ်ဆိုမှုမျက်နှာပြင်တွင် ထည့်သွင်းထားသည့် သီးခြားခေါ်ဆိုမှုများနှင့် တည်ငြိမ်သောမက်ခရိုများမှတစ်ဆင့် လုပ်ဆောင်သည်။
  • Middleware အစိတ်အပိုင်းတစ်ခုစီ၏ အဓိကအင်္ဂါရပ်များမှာ အောက်ပါအတိုင်းဖြစ်သည်။
    • Microsoft® Azure® RTOS
      • Azure® RTOS ThreadX- အချိန်နှင့်တပြေးညီ လည်ပတ်မှုစနစ် (RTOS)၊ လုပ်ဆောင်နိုင်သော မုဒ်နှစ်ခုပါ ထည့်သွင်းထားသော စနစ်များအတွက် ဒီဇိုင်းထုတ်ထားသည်။
        • ဘုံမုဒ်- ချည်မျှင်စီမံခန့်ခွဲမှုနှင့် ထပ်တူပြုခြင်း၊ မန်မိုရီအစုအဝေးစီမံခန့်ခွဲမှု၊ စာတိုပေးပို့ခြင်းနှင့် ဖြစ်ရပ်ကိုင်တွယ်ခြင်းကဲ့သို့သော ဘုံ RTOS လုပ်ဆောင်ချက်များ။
        • မော်ဂျူးမုဒ်- မော်ဂျူးမန်နေဂျာမှတစ်ဆင့် ကြိုတင်လင့်ခ်ချိတ်ထားသော ThreadX မော်ဂျူးများကို တင်ခြင်းနှင့် ဖြုတ်ချခြင်းတို့ကို ခွင့်ပြုသည့် အဆင့်မြင့်အသုံးပြုသူမုဒ်တစ်ခု။
      • NetX Duo
      • FileX
      • USBX
    • Bluetooth® Low Energy (BLE)- Link နှင့် Stack အလွှာများအတွက် Bluetooth® Low Energy protocol ကို အကောင်အထည်ဖော်ပါ။
    • MCUboot (open-source software)
    • stack နှင့် ဆက်စပ်အစုအဝေးများအတွက် Zigbee® ပရိုတိုကောများ
    • Thread® ပရိုတိုကော အစည်းများနှင့် လင့်ခ်အလွှာ။
    • Arm® ယုံကြည်စိတ်ချရသော firmware-M၊ TF-M (open-source software)- TrustZone® အတွက် Arm® ပလပ်ဖောင်းလုံခြုံရေးဗိသုကာ (PSA) ကို ကိုးကားပြီး ဆက်စပ်လုံခြုံသောဝန်ဆောင်မှုများဖြင့် အကောင်အထည်ဖော်ခြင်း။
    • mbed-crypto (open-source software): mbed-crypto အလယ်တန်းဆော့ဖ်ဝဲသည် PSA cryptography API အကောင်အထည်ဖော်မှုကို ပံ့ပိုးပေးသည်။
    • STM32 ထိတွေ့မှုအာရုံခံစာကြည့်တိုက်- ခိုင်မာသော STMTouch ထိတွေ့မှုအာရုံခံဖြေရှင်းချက်၊ အနီးကပ်၊ ထိတွေ့ကီး၊ မျဉ်းသားနှင့် ရိုတာရီ ထိတွေ့အာရုံခံကိရိယာများကို ပံ့ပိုးပေးသည်။ ၎င်းသည် သက်သေပြထားသော မျက်နှာပြင် အခကြေးငွေ လွှဲပြောင်းရယူမှု နိယာမအပေါ် အခြေခံထားသည်။

ExampMiddleware အစိတ်အပိုင်းများကို အခြေခံ၍ les
အလယ်တန်းဆော့ဖ်ဝဲ အစိတ်အပိုင်းတစ်ခုစီတွင် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ex နှင့် ပါရှိသည်။amples (အပလီကေးရှင်းများဟုလည်းခေါ်သည်) ၎င်းကိုအသုံးပြုပုံကိုပြသသည်။ ပေါင်းစည်းခြင်း exampMiddleware အစိတ်အပိုင်းများစွာကို အသုံးပြုသည့် les များကိုလည်း ပေးထားသည်။

STM32CubeWBA firmware package ပြီးပါပြီ။view

STM32WBA စီးရီးစက်ပစ္စည်းများနှင့် ဟာ့ဒ်ဝဲများကို ပံ့ပိုးထားသည်။

  • STM32Cube သည် ယေဘူယျဗိသုကာတစ်ခုတွင် တည်ဆောက်ထားသော သယ်ယူရလွယ်ကူသော ဟာ့ဒ်ဝဲ abstraction အလွှာ (HAL) ကို ပေးဆောင်ပါသည်။ ၎င်းသည် MCU ကို မည်သည့်အရာအား အသုံးပြုထားသည်ကို မသိရှိဘဲ၊ အတွင်းကျကျ၊ နက်ရှိုင်းစွာ အကောင်အထည်ဖော်ရန် အလယ်တန်းဝဲအလွှာကို အသုံးပြုခြင်းကဲ့သို့သော တည်ဆောက်မှုအလွှာဆိုင်ရာ နိယာမကို ခွင့်ပြုသည်။ ၎င်းက ဒစ်ဂျစ်တယ်ကုဒ်ကို ပြန်သုံးနိုင်မှုကို ပိုမိုကောင်းမွန်စေပြီး အခြားစက်ပစ္စည်းများသို့ အလွယ်တကူ သယ်ဆောင်သွားနိုင်ရန် သေချာစေသည်။
  • ထို့အပြင်၊ ၎င်း၏ အလွှာလိုက်တည်ဆောက်ပုံကြောင့်၊ STM32CubeWBA သည် STM32WBA စီးရီးအားလုံးကို အပြည့်အဝပံ့ပိုးပေးပါသည်။
  • အသုံးပြုသူသည် stm32wbaxx.h တွင် မှန်ကန်သော macro ကို သတ်မှတ်ရန်သာရှိသည်။
  • ဇယား 1 သည် အသုံးပြုထားသော STM32WBA စီးရီးစက်ပစ္စည်းပေါ် မူတည်၍ သတ်မှတ်ရန် မက်ခရိုကို ပြသသည်။ ဤ macro ကို compiler preprocessor တွင်လည်း သတ်မှတ်ရပါမည်။
    ဇယား 1. STM32WBA စီးရီးအတွက် Macros
    stm32wbaxx.h တွင် သတ်မှတ်ထားသော Macro STM32WBA စီးရီး စက်များ
    stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6
    stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7

     

  • STM32CubeWBA တွင် ကြွယ်ဝသော ex အစုံပါရှိသည်။ampအဆင့်တိုင်းရှိ les နှင့် application များသည် မည်သည့် HAL driver သို့မဟုတ် Middleware အစိတ်အပိုင်းများကိုမဆို နားလည်ပြီး အသုံးပြုရလွယ်ကူစေသည်။ ဒါတွေက exampဇယား 2 တွင်ဖော်ပြထားသော STMicroelectronics ဘုတ်များပေါ်တွင်အလုပ်လုပ်သည်။
    ဇယား 2. STM32WBA စီးရီးအတွက် ဘုတ်များ
    ဘုတ် ဘုတ်အဖွဲ့ STM32WBA ပံ့ပိုးထားသော စက်ပစ္စည်းများ
    NUCLEO-WBA52CG STM32WBA52CGU6
    NUCLEO-WBA55CG STM32WBA55CGU6
    STM32WBA55-DK1 STM32WBA55CGU7
  • STM32CubeWBA MCU ပက်ကေ့ဂျ်သည် တွဲဖက်အသုံးပြုနိုင်သည့် မည်သည့်ဟာ့ဒ်ဝဲတွင်မဆို လုပ်ဆောင်နိုင်သည်။ အသုံးပြုသူသည် ပေးထားသည့် ex ကို port လုပ်ရန် BSP driver များကို အပ်ဒိတ်လုပ်သည်။ampနောက်တစ်ခုတွင် တူညီသော ဟာ့ဒ်ဝဲအင်္ဂါရပ်များ (ဥပမာ LED၊ LCD ဖန်သားပြင်နှင့် ခလုတ်များ) ပါရှိပါက ဘုတ်ပေါ်တွင် ဖော်ပြထားသည်။
Firmware package ပြီးပါပြီ။view
  • STM32CubeWBA ပက်ကေ့ဂျ်ဖြေရှင်းချက်အား ပုံ 3 တွင်ပြသထားသည့်ဖွဲ့စည်းပုံပါရှိသော ဇစ်အထုပ်တစ်ခုတည်းတွင် ပံ့ပိုးထားသည်။ STM32CubeWBA ဖိုင်းဝဲပက်ကေ့ချ်ဖွဲ့စည်းပုံ။

    STMicroelectronics-STM32WBA-စီးရီး-စတင်ခြင်း-fig-4

  • ဘုတ်အဖွဲ့တစ်ခုစီအတွက် ex အစုံamples သည် EWARM၊ MDK-ARM နှင့် STM32CubeIDE toolchains အတွက် ကြိုတင်ပြင်ဆင်ထားသော ပရောဂျက်များဖြင့် ပံ့ပိုးထားသည်။
  • ပုံ 4. STM32CubeWBA ဟောင်းampကျော်view NUCLEO-WBA52CG၊ NUCLEO-WBA55CG နှင့် STM32WBA55G-DK1 ဘုတ်များအတွက် ပရောဂျက်ဖွဲ့စည်းပုံကို ပြသသည်။

    STMicroelectronics-STM32WBA-စီးရီး-စတင်ခြင်း-fig-5

  • ရည်းစားဟောင်းamples သည် ၎င်းတို့လျှောက်ထားသည့် STM32Cube အဆင့်ပေါ်မူတည်၍ အမျိုးအစားခွဲခြားထားပြီး ၎င်းတို့ကို အောက်ပါအတိုင်း အမည်ပေးထားသည်။
    • အဆင့် 0 examples ကို Ex ဟုခေါ်သည်။amples၊ ထွamples_LL နှင့် Examples_MIX ၎င်းတို့သည် HAL ဒရိုက်ဘာများ၊ LL ဒရိုက်ဘာများနှင့် HAL နှင့် LL ဒရိုက်ဘာများကို အလယ်အလတ်ဆော့ဖ်ဝဲ အစိတ်အပိုင်းမပါဘဲ ရောနှောအသုံးပြုသည်။
    • အဆင့် 1 examples ကို Applications ဟုခေါ်သည်။ ၎င်းတို့သည် အလယ်တန်းဆော့ဖ်ဝဲအစိတ်အပိုင်းတစ်ခုစီ၏ ပုံမှန်အသုံးပြုမှုကိစ္စများကို ပေးဆောင်သည်။ Templ ates နှင့် Templates_LL လမ်းညွှန်များတွင် ရရှိနိုင်သော နမူနာပရောဂျက်များကြောင့် ပေးထားသည့် ဘုတ်အတွက် မည်သည့် Firmware Application ကိုမဆို လျင်မြန်စွာ တည်ဆောက်နိုင်ပါသည်။

TrustZone® ဖွင့်ထားသော ပရောဂျက်များ

  • TrustZone® ကို ဖွင့်ထားသည် Examples အမည်များတွင် _TrustZone ရှေ့ဆက်ပါရှိသည်။ စည်းမျဉ်းကို Applicatio ns (TrustZone® အတွက် မူရင်းဖြစ်သော TFM နှင့် SBSFU မှလွဲ၍) အတွက်လည်း ကျင့်သုံးပါသည်။
  • TrustZone®-enabled Examples နှင့် Applications များကို ပုံ 5 တွင်ဖော်ပြထားသည့်အတိုင်း လုံခြုံပြီး လုံခြုံမှုမရှိသော ပရောဂျက်ခွဲများဖြင့် ဖွဲ့စည်းထားသည့် Multiproject ဖွဲ့စည်းပုံကို ပံ့ပိုးထားပါသည်။ Multiproject လုံခြုံပြီး လုံခြုံမှုမရှိသော ပရောဂျက်ဖွဲ့စည်းပုံ။
  • TrustZone®-enabled ပရောဂျက်များကို CMSIS-5 စက်ပစ္စည်း နမူနာပုံစံအတိုင်း တီထွင်ထားပြီး၊ စနစ်ပိုင်းခြားခြင်း ခေါင်းစီးကို တိုးချဲ့ထားသည်။ file partition_ .h၊ လုံခြုံသော ရည်ညွှန်းချက်ယူနစ် (SAU)၊ FPU နှင့် လုံခြုံသော/မလုံခြုံသော စနစ်ထည့်သွင်းခြင်းအတွက် အဓိကတာဝန်ရှိသူမှာ လုံခြုံသောလုပ်ဆောင်မှုအခြေအနေတွင် တာဝန်ကို အနှောင့်အယှက်ပေးသည်။
  • ဤစနစ်ထည့်သွင်းမှုကို လုံခြုံသော အပလီကေးရှင်း main() လုပ်ဆောင်ချက်သို့ မဝင်ရောက်မီ စတင်ချိန်တွင် ဟုခေါ်သော လုံခြုံသော CMSIS SystemInit() လုပ်ဆောင်ချက်တွင် လုပ်ဆောင်ပါသည်။ ဆော့ဖ်ဝဲလမ်းညွှန်ချက်များ၏ Arm® TrustZone®-M စာရွက်စာတမ်းများကို ကိုးကားပါ။

    STMicroelectronics-STM32WBA-စီးရီး-စတင်ခြင်း-fig-6

  • STM32CubeWBA ပက်ကေ့ဂျ် firmware ပက်ကေ့ဂျ်သည် အခန်းကန့်တွင် ပုံသေမှတ်ဉာဏ်ပိုင်းခြားခြင်းကို ပံ့ပိုးပေးသည် _ .ဇ fileအောက်တွင်ရရှိနိုင်ပါသည်- \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T emplates
  • အဲဒီ partition မှာ files၊ SAU ကို ပုံမှန်အားဖြင့် ပိတ်ထားသည်။ ထို့ကြောင့်၊ IDAU memory mapping ကို လုံခြုံရေးထည့်သွင်းသတ်မှတ်ရန်အတွက် အသုံးပြုပါသည်။ RM0495 ကိုးကားချက်လက်စွဲတွင် TrustZone® နည်းပညာကို အသုံးပြု၍ လုံခြုံသော/မလုံခြုံသော အပိုင်းခွဲခြင်းကို ပုံဖော်ကြည့်ရှုပါ။
  • အသုံးပြုသူသည် SAU ကိုဖွင့်ပါက၊ ပုံသေ SAU ဒေသဖွဲ့စည်းပုံဖွဲ့စည်းပုံအား အပိုင်းကန့်တွင် ကြိုတင်သတ်မှတ်ထားသည်။ files အောက်ပါအတိုင်း
    • SAU ဒေသ 0- 0x08080000 – 0x081FFFF (လုံခြုံမှုမရှိသော flash memory တစ်ဝက် (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 (အတွင်းပိုင်း flash memory ၏ 64 စာမျက်နှာ အနက်မှ 128 စာမျက်နှာကို လုံခြုံသည်ဟု သတ်မှတ်ထားသည်) မှတ်ချက်- အတွင်း flash memory သည် TZEN = 1 တွင် မူရင်းအတိုင်း အပြည့်အ၀ လုံခြုံပါသည်။ အသုံးပြုသူရွေးချယ်ခွင့်သည် SECWM1_PSTRT/SECWM1_PEND bytes ကို အပလီကေးရှင်းအရ သတ်မှတ်ရပါမည် မှတ်ဉာဏ်ဖွဲ့စည်းပုံ (SAU ဒေသများ၊ SAU ဖွင့်ထားလျှင်)။ လုံခြုံ/မလုံခြုံသော အပလီကေးရှင်းများ ပရောဂျက်လင့်ခ်ချိတ် files ကိုလည်း ချိန်ညှိရပါမည်။
  • ရည်းစားဟောင်းအားလုံးamples တွင်တူညီသောဖွဲ့စည်းပုံရှိသည်။
    • ခေါင်းစီးအားလုံးပါဝင်သော \inc ဖိုင်တွဲ files.
    • အရင်းအမြစ်ကုဒ်ပါရှိသော Src ဖိုင်တွဲ။
    • toolchain တစ်ခုစီအတွက် ကြိုတင်ပြင်ဆင်ထားသော ပရောဂျက်များပါရှိသော \EWARM၊ MDK-ARM နှင့် \STM32CubeIDE ဖိုင်တွဲများ။
    • readme.md နှင့် readme.html ဟောင်းကို ဖော်ပြခြင်း။ampအကျင့်စရိုက်နှင့် အလုပ်ဖြစ်ရန် လိုအပ်သော ပတ်ဝန်းကျင်။
    • အိုင်အိုစီ file အသုံးပြုသူများသည် firmware ex အများစုကိုဖွင့်ရန်ခွင့်ပြုသည်။ampSTM32CubeMX အတွင်း

STM32CubeWBA ဖြင့် စတင်လိုက်ပါ။

ပထမ HAL ဟောင်းကို လုပ်ဆောင်ခြင်း။ample

ဤအပိုင်းတွင် ပထမ ex ကို run ရန် မည်မျှရိုးရှင်းကြောင်း ရှင်းပြထားသည်။ample STM32CubeWBA အတွင်း။ ၎င်းသည် NUCLEO-WBA52CG ဘုတ်ပေါ်တွင် လုပ်ဆောင်နေသော ရိုးရှင်းသော LED toggle မျိုးဆက်ကို သရုပ်ဖော်ပုံအဖြစ် အသုံးပြုသည်-

  1. STM32CubeWBA MCU ပက်ကေ့ဂျ်ကို ဒေါင်းလုဒ်လုပ်ပါ။
  2. ၎င်းကို သင်နှစ်သက်ရာ လမ်းညွှန်တွင် ဇစ်ဖွင့်ပါ။
  3. ပုံ 1 တွင်ပြသထားသည့် ပက်ကေ့ဂျ်ဖွဲ့စည်းပုံအား မွမ်းမံမွမ်းမံရန် သေချာပါစေ။ အချို့သော IDE များသည် လမ်းကြောင်းပေါ်ရောက်သောအခါ ပြဿနာများကြုံတွေ့ရသောကြောင့် သင်၏ root volume (C:\ST သို့မဟုတ် G:\Tests) နှင့် နီးစပ်သောနေရာတွင် အထုပ်ကို ကူးယူရန် အကြံပြုထားပါသည်။ အရှည်က အရမ်းရှည်တယ်။

ပထမဆုံး TrustZone® ကို ဖွင့်ထားသည့် example

  • TrustZone® ကို ဖွင့်ပြီး မလည်ပတ်မီ၊ample၊ ဟောင်းကိုဖတ်ရန်မဖြစ်မနေလိုအပ်သည်။ampငါ့ကိုဖတ်ပါ။ file အပိုင်း 4.2.1 TrustZone® ဖွင့်ထားသည့် ပရောဂျက်များ (TZEN=1 (အသုံးပြုသူ ရွေးချယ်ခွင့် ဘိုက်)) တွင် ဖော်ပြထားသည့်အတိုင်း လုံခြုံရေးကို ဖွင့်ထားကြောင်း သေချာစေသည့် သီးခြားဖွဲ့စည်းပုံများအတွက်၊
    1. \Projects\NUCLEO-WBA52CG\Ex သို့ ကြည့်ရှုပါ။amples
    2. \GPIO ကိုဖွင့်ပါ၊ ထို့နောက် \GPIO_IOToggle_TrustZone ဖိုင်တွဲများကို ဖွင့်ပါ။
    3. သင်နှစ်သက်ရာ toolchain ဖြင့် ပရောဂျက်ကိုဖွင့်ပါ။ အမြန်ကျော်view ရည်းစားဟောင်းကို ဖွင့်နည်း၊ တည်ဆောက်ပုံနှင့် လုပ်ဆောင်ပုံအကြောင်းample supported toolchains နှင့်အတူ အောက်တွင်ဖော်ပြထားသည်။
    4. လုံခြုံပြီး မလုံခြုံသော ပရောဂျက်အားလုံးကို အစဉ်လိုက် ပြန်လည်တည်ဆောက်ပါ။ files နှင့် လုံခြုံပြီး မလုံခြုံသောပုံများကို ပစ်မှတ်မှတ်ဉာဏ်ထဲသို့ တင်ပါ။
    5. ရည်းစားဟောင်းကို ပြေးပါ။ample- ပုံမှန်၊ လုံခြုံသောအပလီကေးရှင်းသည် စက္ကန့်တိုင်းတွင် LD2 ကိုဖွင့်နိုင်ပြီး မလုံခြုံသောအပလီကေးရှင်းသည် LD3 ကို နှစ်ဆပိုမြန်အောင်ပြောင်းသည်။ အသေးစိတ်အချက်အလက်များအတွက် readme ကို ဖတ်ရှုပါ။ file ဟောင်း၏ampလဲ့
  • ဖွင့်ရန်၊ ex ကိုတည်ဆောက်ပြီး run ပါ။ampပံ့ပိုးထားသော toolchains များနှင့်အတူ၊ အောက်ပါအဆင့်များကို လိုက်နာပါ။
    • ပြန်နွေး-
      1. အောက်မှာ ရည်းစားဟောင်းampဖိုင်တွဲ၊ \EWARM ဖိုင်တွဲခွဲကိုဖွင့်ပါ။
      2. Project.eww အလုပ်ခွင်ကို စတင်လိုက်ပါ။
      3. xxxxx_S လုံခြုံသော ပရောဂျက်ကို ပြန်လည်တည်ဆောက်ပါ။ files- [စီမံကိန်း]>[အားလုံး ပြန်လည်တည်ဆောက်ရန်]။
      4. xxxxx_NS မလုံခြုံသောပရောဂျက်ကို Active အပလီကေးရှင်းအဖြစ် သတ်မှတ်ပါ (xxxx_NS ပရောဂျက်ပေါ်တွင် ညာကလစ်နှိပ်ပါ [Set as Active])
      5. xxxxx_NS မလုံခြုံသော ပရောဂျက်ကို ပြန်လည်တည်ဆောက်ပါ။ files- [စီမံကိန်း]>[အားလုံး ပြန်လည်တည်ဆောက်ရန်]။
      6. မလုံခြုံသော binary ကို [Project]>[ဒေါင်းလုဒ်]>[အသက်ဝင်သောအက်ပ်ကိုဒေါင်းလုဒ်လုပ်ပါ] ဖြင့် Flash ပေးပါ။
      7. xxxxx_S ကို Active အပလီကေးရှင်းအဖြစ် သတ်မှတ်ပါ (xxxxx_S ပရောဂျက် [Set as Active] ကို ညာဖက်ကလစ်နှိပ်ပါ။
      8. [ဒေါင်းလုဒ်လုပ်ပြီး အမှားရှာပြင်ခြင်း] (Ctrl+D) ဖြင့် လုံခြုံသော ဒွိစုံကို Flash လုပ်ပါ။
      9. ပရိုဂရမ်ကိုဖွင့်ပါ- [Debug]>[Go(F5)]
    • MDK-ARM-
      1. \MDK-ARM toolchain ကိုဖွင့်ပါ။
      2. Multiprojects workspace ကိုဖွင့်ပါ။ file Project.uvmpw။
      3. xxxxx_s ပရောဂျက်ကို Active အပလီကေးရှင်းအဖြစ် ([Set as Active Project]) ကို ရွေးပါ။
      4. xxxxx_s ပရောဂျက်ကို တည်ဆောက်ပါ။
      5. xxxxx_ns ပရောဂျက်ကို Active ပရောဂျက်အဖြစ် ([Set as Active Project]) ကို ရွေးပါ။
      6. xxxxx_ns ပရောဂျက်ကို တည်ဆောက်ပါ။
      7. မလုံခြုံသော ဒွိစုံ ([F8]) ကို တင်ပါ။ ၎င်းသည် flash memory သို့ \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf ကို ဒေါင်းလုဒ်လုပ်သည်)
      8. Project_s ပရောဂျက်ကို Active ပရောဂျက်အဖြစ် ([Set as Active Project]) ကို ရွေးပါ။
      9. လုံခြုံသော ဒွိစုံ ([F8]) ကို တင်ပါ။ ၎င်းသည် \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf ကို flash memory သို့ ဒေါင်းလုဒ်လုပ်သည်)။
      10. ရည်းစားဟောင်းကို ပြေးပါ။ampလဲ့
    • STM32CubeIDE-
      1. STM32CubeIDE toolchain ကိုဖွင့်ပါ။
      2. Multiprojects workspace ကိုဖွင့်ပါ။ file .ပရောဂျက်။
      3. xxxxx_Secure ပရောဂျက်ကို ပြန်လည်တည်ဆောက်ပါ။
      4. xxxxx_NonSecure ပရောဂျက်ကို ပြန်လည်တည်ဆောက်ပါ။
      5. လုံခြုံသောပရောဂျက်အတွက် [Debug as STM32 Cortex-M C/C++] အက်ပ်ကို စတင်ပါ။
      6. [ပြင်ဆင်ဖွဲ့စည်းမှု] ဝင်းဒိုးတွင်၊ [Startup] အကန့်ကို ရွေးချယ်ပြီး မလုံခြုံသော ပရောဂျက်၏ ပုံနှင့် သင်္ကေတများကို ထည့်သွင်းပါ။
        အရေးကြီးသည်- မလုံခြုံသောပရောဂျက်ကို လုံခြုံသောပရောဂျက်မတိုင်မီ တင်ရပါမည်။
      7. [Ok] ကိုနှိပ်ပါ။
      8. ရည်းစားဟောင်းကို ပြေးပါ။ampအမှားရှာပြင်ခြင်းအပေါ်

ပထမဆုံး TrustZone® ကို ပိတ်ထားသည်ample

  • TrustZone® ကို မဖွင့်မီ၊ မဖွင့်မီ၊ample၊ ဟောင်းကိုဖတ်ရန်မဖြစ်မနေလိုအပ်သည်။ampငါ့ကိုဖတ်ပါ။ file သီးခြားဖွဲ့စည်းပုံအတွက်။ သီးခြားဖော်ပြချက်များမရှိပါက၊ ဘုတ်ကိရိယာတွင် လုံခြုံရေးပိတ်ထားကြောင်း သေချာပါစေ။ (TZEN=0 (အသုံးပြုသူရွေးချယ်ခွင့် ဘိုက်))။ TZEN = 0 သို့ ရွေးချယ်နိုင်သော ဆုတ်ယုတ်မှုပြုလုပ်ရန်အတွက် FAQ ကို ကြည့်ပါ။
    1. \Projects\NUCLEO-WBA52CG\Ex သို့ ကြည့်ရှုပါ။amples
    2. \GPIO ကိုဖွင့်ပါ၊ ထို့နောက် \GPIO_EXTI ဖိုင်တွဲများကိုဖွင့်ပါ။
    3. သင်နှစ်သက်ရာ toolchain ဖြင့် ပရောဂျက်ကိုဖွင့်ပါ။ အမြန်ကျော်view ရည်းစားဟောင်းကို ဖွင့်နည်း၊ တည်ဆောက်ပုံနှင့် လုပ်ဆောင်ပုံအကြောင်းample supported toolchains နှင့်အတူ အောက်တွင်ဖော်ပြထားသည်။
    4. အားလုံးကို ပြန်လည်တည်ဆောက်ပါ။ files နှင့်သင်၏ပုံကိုပစ်မှတ်မှတ်ဉာဏ်သို့တင်ပါ။
    5. ရည်းစားဟောင်းကို ပြေးပါ။ample- [USER] ခလုတ်ကို နှိပ်လိုက်တိုင်း LD1 LED သည် ခလုတ်ဖွင့်သည်။ အသေးစိတ်အချက်အလက်များအတွက် readme ကို ဖတ်ရှုပါ။ file ဟောင်း၏ampလဲ့
  • ဖွင့်ရန်၊ ex ကိုတည်ဆောက်ပြီး run ပါ။ampပံ့ပိုးထားသော toolchains များနှင့်အတူ၊ အောက်ပါအဆင့်များကို လိုက်နာပါ။
    • ပြန်နွေး-
      1. အောက်မှာ ရည်းစားဟောင်းampဖိုင်တွဲ၊ \EWARM ဖိုင်တွဲခွဲကိုဖွင့်ပါ။
      2. Project.eww အလုပ်ခွင်ကိုဖွင့်ပါ (အလုပ်ခွင်အမည်သည် ဟောင်းတစ်ခုမှ ပြောင်းသွားနိုင်သည်။ampနောက်တစ်ယောက်)။
      3. အားလုံးကို ပြန်လည်တည်ဆောက်ပါ။ files- [စီမံကိန်း]>[အားလုံး ပြန်လည်တည်ဆောက်ရန်]။
      4. ပရောဂျက်ပုံကို တင်ပါ- [ပရောဂျက်]>[အမှားပြင်ဆင်ခြင်း]။
      5. ပရိုဂရမ်ကိုဖွင့်ပါ- [Debug]>[Go (F5)]။
    • MDK-ARM-
      1. အောက်မှာ ရည်းစားဟောင်းampဖိုင်တွဲ၊ \MDK-ARM ဖိုင်တွဲခွဲကိုဖွင့်ပါ။
      2. Project.uvproj အလုပ်ခွင်ကိုဖွင့်ပါ (အလုပ်ခွင်အမည်သည် ဟောင်းတစ်ခုမှ ပြောင်းလဲနိုင်သည်။ampနောက်တစ်ယောက်)။
      3. အားလုံးကို ပြန်လည်တည်ဆောက်ပါ။ files:[စီမံကိန်း]>[ပစ်မှတ်အားလုံးကို ပြန်လည်တည်ဆောက်ပါ။ file၎]
      4. ပရောဂျက်ပုံကို တင်ပါ- [Debug]>[Start/Stop Debug Session]။
      5. ပရိုဂရမ်ကိုဖွင့်ပါ- [Debug]>[ Run (F5)]။
    • STM32CubeIDE-
      1. STM32CubeIDE toolchain ကိုဖွင့်ပါ။
      2. နှိပ်ပါFile]>[လုပ်ငန်းခွင်ပြောင်းရန်]>[အခြား] နှင့် STM32CubeIDE အလုပ်ခွင်လမ်းညွှန်သို့ ဝင်ရောက်ကြည့်ရှုပါ။
      3. နှိပ်ပါFile]>[တင်သွင်းခြင်း]၊ [အထွေထွေ]>[အလုပ်နေရာသို့ လက်ရှိပရောဂျက်များ] ကိုရွေးချယ်ပြီး [Next] ကိုနှိပ်ပါ။
      4. STM32CubeIDE workspace directory သို့ ရှာဖွေပြီး ပရောဂျက်ကို ရွေးချယ်ပါ။
      5. ပရောဂျက်အားလုံးကို ပြန်လည်တည်ဆောက်ပါ။ files- [Project Explorer] ဝင်းဒိုးရှိ ပရောဂျက်ကို ရွေးချယ်ပြီးနောက် [ပရောဂျက်]> [ပရောဂျက်တည်ဆောက်ခြင်း] မီနူးကို နှိပ်ပါ။
      6. ပရိုဂရမ်ကိုဖွင့်ပါ- [Run]>[Debug (F11)]
စိတ်ကြိုက် application ကိုတီထွင်ခြင်း။

မှတ်ချက် - ဆော့ဖ်ဝဲလ်သည် flash memory မှ 0 wait-state execution ကိုရယူရန်နှင့် အမြင့်ဆုံးစွမ်းဆောင်ရည်နှင့် ပိုမိုကောင်းမွန်သော ပါဝါသုံးစွဲမှုတို့ကို ရရှိရန် ဆော့ဖ်ဝဲသည် ညွှန်ကြားချက် ကက်ရှ် (ICACHE) ကို ဖွင့်ရပါမည်။

အက်ပလီကေးရှင်းတစ်ခုကို တီထွင်ရန် သို့မဟုတ် အပ်ဒိတ်လုပ်ရန် STM32CubeMX ကို အသုံးပြုခြင်း။

  • STM32CubeWBA MCU ပက်ကေ့ဂျ်တွင်၊ ပရောဂျက်အားလုံးနီးပါးamples သည် system၊ peripherals နှင့် middleware ကိုအစပြုရန် STM32CubeMX tool ဖြင့်ထုတ်လုပ်ထားသည်။
  • ရှိပြီးသား ပရောဂျက်ဟောင်းကို တိုက်ရိုက်အသုံးပြုခြင်း။ample STM32CubeMX tool မှ STM32CubeMX 6.10.0 နှင့်အထက် လိုအပ်သည်-
    • STM32CubeMX ကို ထည့်သွင်းပြီးနောက်၊ လိုအပ်ပါက အဆိုပြုထားသော ပရောဂျက်တစ်ခုကို အပ်ဒိတ်လုပ်ပါ။ ရှိပြီးသားပရောဂျက်တစ်ခုကိုဖွင့်ရန် အရိုးရှင်းဆုံးနည်းလမ်းမှာ *.ioc ကို နှစ်ချက်နှိပ်ရန်ဖြစ်သည်။ file ထို့ကြောင့် STM32CubeMX သည် ပရောဂျက်နှင့် ၎င်း၏အရင်းအမြစ်ကို အလိုအလျောက်ဖွင့်ပေးမည်ဖြစ်သည်။ files.
    • STM32CubeMX သည် ထိုကဲ့သို့သော ပရောဂျက်များ၏ ကနဦးအရင်းအမြစ်ကုဒ်ကို ထုတ်ပေးသည်။ ပင်မအပလီကေးရှင်းအရင်းအမြစ်ကုဒ်ကို “အသုံးပြုသူကုဒ် BEGIN” နှင့် “အသုံးပြုသူကုဒ် END” မှတ်ချက်များဖြင့် ပါရှိသည်။ IP ရွေးချယ်မှုနှင့် ဆက်တင်ကို ပြုပြင်မွမ်းမံပါက၊ STM32CubeMX သည် ကုဒ်၏အစပြုခြင်းအပိုင်းကို အပ်ဒိတ်လုပ်သော်လည်း ပင်မအပလီကေးရှင်းအရင်းအမြစ်ကုဒ်ကို ထိန်းသိမ်းထားသည်။
  • STM32CubeMX တွင် စိတ်ကြိုက်ပရောဂျက်တစ်ခုကို ဖော်ဆောင်ရန်အတွက်၊ အဆင့်ဆင့်လုပ်ဆောင်ပါ-
    1. လိုအပ်သော အရံပစ္စည်းများနှင့် ကိုက်ညီသော STM32 မိုက်ခရိုကွန်ထရိုလာကို ရွေးပါ။
    2. pinout-conflict ဖြေရှင်းသူ၊ နာရီ-သစ်ပင်ဆက်တင်အကူ၊ ပါဝါစားသုံးမှုဂဏန်းတွက်စက်နှင့် MCU အရံဖွဲ့စည်းမှု (ဥပမာ GPIO သို့မဟုတ် USART ကဲ့သို့) နှင့် အလယ်တန်းဆော့ဖ်ဝဲအတွဲများ (ဥပမာ USB) ကို အသုံးပြု၍ လိုအပ်သော မြှုပ်သွင်းဆော့ဖ်ဝဲအားလုံးကို ပြင်ဆင်သတ်မှတ်ပါ။
    3. ရွေးချယ်ထားသောဖွဲ့စည်းပုံအပေါ်အခြေခံ၍ ကနဦးသတ်မှတ်ခြင်း C ကုဒ်ကို ဖန်တီးပါ။ ဤကုဒ်သည် ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာ ပတ်ဝန်းကျင်အများအပြားတွင် အသုံးပြုရန် အသင့်ဖြစ်နေပါပြီ။ အသုံးပြုသူကုဒ်ကို နောက်ကုဒ်မျိုးဆက်တွင် သိမ်းဆည်းထားသည်။
  • STM32CubeMX နှင့်ပတ်သက်သော နောက်ထပ်အချက်အလက်များအတွက်၊ STM32 ဖွဲ့စည်းမှုပုံစံနှင့် စတင်ခြင်း C ကုဒ်ထုတ်လုပ်ခြင်း (UM32) အတွက် အသုံးပြုသူလက်စွဲ STM1718CubeMX ကို ကိုးကားပါ။
  • ရရှိနိုင်သော ပရောဂျက်များစာရင်းအတွက် exampSTM32CubeWBA အတွက် les၊ အပလီကေးရှင်းမှတ်စု STM32Cube firmware ex ကို ကိုးကားပါ။ampSTM32WBA စီးရီး (AN5929) အတွက် les။

ယာဉ်မောင်းလျှောက်လွှာ

HAL လျှောက်လွှာ
ဤကဏ္ဍသည် STM32CubeWBA ကို အသုံးပြု၍ စိတ်ကြိုက် HAL အပလီကေးရှင်းတစ်ခု ဖန်တီးရန် လိုအပ်သည့် အဆင့်များကို ဖော်ပြသည်-

  1. ပရောဂျက်တစ်ခုဖန်တီးပါ။
    • ပရောဂျက်အသစ်တစ်ခုဖန်တီးရန် \Projects\ အောက်ရှိ ဘုတ်တစ်ခုစီအတွက် ပေးထားသော Template ပရောဂျက်မှ စတင်ပါ။ \Templates သို့မဟုတ် \Projects\ အောက်ရှိ မည်သည့်ပရောဂျက်မှမဆို၊ \Exam ples သို့မဟုတ် \Projects\ \Applications (နေရာတွင် STM32CubeWBA ကဲ့သို့သော ဘုတ်အမည်ကို ရည်ညွှန်းသည်။
    • Template ပရောဂျက်သည် ဗလာဖြစ်ပြီး ပင်မကွင်းဆက်လုပ်ဆောင်ချက်ကို ပံ့ပိုးပေးသည်။ သို့သော်၊ STM32CubeWBA ပရောဂျက်ဆက်တင်များကို နားလည်ရန် ကောင်းသောအစမှတ်ဖြစ်သည်။ နမူနာပုံစံတွင် အောက်ပါလက္ခဏာများ ရှိသည်။
      • ၎င်းတွင် HAL အရင်းအမြစ်ကုဒ်၊ CMSIS နှင့် BSP ဒရိုက်ဘာများ ပါ၀င်သည်၊ ၎င်းသည် ပေးထားသောဘုတ်ပေါ်တွင် ကုဒ်တစ်ခုတည်ဆောက်ရန် လိုအပ်သော အနိမ့်ဆုံးအစိတ်အပိုင်းများဖြစ်သည်။
      • ၎င်းတွင် Firmware အစိတ်အပိုင်းအားလုံးအတွက် ပါဝင်သောလမ်းကြောင်းများ ပါဝင်သည်။
      • ၎င်းသည် CMSIS နှင့် HAL ဒရိုက်ဘာများကို မှန်ကန်စွာ ပြင်ဆင်သတ်မှတ်နိုင်စေမည့် ပံ့ပိုးထားသော STM32WBA စီးရီးစက်ပစ္စည်းများကို သတ်မှတ်ပေးသည်။
      • ၎င်းသည် အဆင်သင့်အသုံးပြုနိုင်သော အသုံးပြုသူကို ထောက်ပံ့ပေးသည်။ fileအောက်တွင်ဖော်ပြထားသည့်အတိုင်း ကြိုတင်ပြင်ဆင်ထားပါသည်။
        HAL သည် Arm® core SysTick ဖြင့် မူရင်းအချိန်အခြေခံဖြင့် စတင်ခဲ့သည်။ SysTick ISR ကို HAL_Delay() ရည်ရွယ်ချက်အတွက် အကောင်အထည်ဖော်ခဲ့သည်။
        မှတ်ချက် - ရှိပြီးသားပရောဂျက်တစ်ခုကို အခြားတစ်နေရာသို့ ကူးယူသောအခါတွင် ပါဝင်သောလမ်းကြောင်းအားလုံးကို မွမ်းမံထားကြောင်း သေချာပါစေ။
  2. အသုံးပြုသူပရောဂျက်တွင် လိုအပ်သော အလယ်တန်းဆော့ဖ်ဝဲကို ထည့်ပါ (ချန်လှပ်ထားနိုင်သည်)
    အရင်းအမြစ်ကိုဖော်ထုတ်ရန် files ကို ပရောဂျက်တွင် ထည့်သွင်းရန် file စာရင်း၊ အလယ်တန်းဝဲတစ်ခုစီအတွက် ပေးထားသည့် စာရွက်စာတမ်းကို ကိုးကားပါ။ \Projects\STM32xxx_yyy\Applications\ အောက်ရှိ အက်ပ်များအား ကိုးကားပါ။ (ဘယ်မှာလဲ။ မည်သည့်အရင်းအမြစ်ကိုသိရန် ThreadX ကဲ့သို့သော Middleware stack ကိုရည်ညွှန်းသည်။ files နှင့် include လမ်းကြောင်းများကို ပေါင်းထည့်ရပါမည်။
  3. Firmware အစိတ်အပိုင်းများကို စီစဉ်သတ်မှတ်ပါ။
    HAL နှင့် အလယ်တန်းဆော့ဖ်ဝဲ အစိတ်အပိုင်းများသည် ခေါင်းစီးတွင် ကြေညာထားသော macros #define ကို အသုံးပြု၍ တည်ဆောက်ချိန်အတွင်း ဖွဲ့စည်းမှုပုံစံ ရွေးချယ်စရာများ ကမ်းလှမ်းသည် file. နမူနာပုံစံဖွဲ့စည်းမှု file ပရောဂျက်ဖိုင်တွဲသို့ ကူးယူရန် လိုအပ်သော အစိတ်အပိုင်းတစ်ခုစီတွင် ပံ့ပိုးပေးသည် (များသောအားဖြင့် ဖွဲ့စည်းမှုပုံစံ file xxx_conf_template.h ဟု အမည်ပေးထားပြီး၊ ၎င်းကို ပရောဂျက်ဖိုင်တွဲသို့ ကူးယူသည့်အခါ _template စကားလုံးကို ဖယ်ရှားရန် လိုအပ်ပါသည်။) ဖွဲ့စည်းမှု file configuration option တစ်ခုစီ၏ အကျိုးသက်ရောက်မှုကို နားလည်ရန် လုံလောက်သော အချက်အလက်ကို ပေးပါသည်။ အစိတ်အပိုင်းတစ်ခုစီအတွက် ပေးထားသော စာရွက်စာတမ်းများတွင် ပိုမိုအသေးစိတ်အချက်အလက်များကို ရရှိနိုင်ပါသည်။
  4. HAL စာကြည့်တိုက်ကို စတင်ပါ။
    ပင်မပရိုဂရမ်သို့ ခုန်ဆင်းပြီးနောက်၊ အောက်ပါလုပ်ဆောင်စရာများကို လုပ်ဆောင်ပေးသည့် HAL စာကြည့်တိုက်ကို စတင်ရန်အတွက် အပလီကေးရှင်းကုဒ်သည် HAL_Init() API ကို ခေါ်ရပါမည်။
    • flash memory prefetch နှင့် SysTick တို့၏ ဦးစားပေး အစီအစဉ် ( st m32wbaxx_hal_conf.h တွင် သတ်မှတ်ထားသော မက်ခရိုမှတဆင့်) နှောင့်ယှက်သည်။
    • stm32wbaxx_hal_conf.h တွင် သတ်မှတ်ထားသော SysTick ကြားဖြတ်ဦးစားပေး TICK_INT_PRIO တွင် မီလီစက္ကန့်တိုင်း ကြားဖြတ်တစ်ခု ဖန်တီးရန် SysTick ၏ ဖွဲ့စည်းမှုပုံစံ။
    • NVIC အဖွဲ့၏ ဦးစားပေး 0 ကို သတ်မှတ်ခြင်း။
    • stm32wbaxx_hal_msp.c အသုံးပြုသူတွင် သတ်မှတ်ထားသော HAL_MspInit() ပြန်လည်ခေါ်ဆိုမှုလုပ်ဆောင်ချက် file ကမ္ဘာလုံးဆိုင်ရာ အဆင့်နိမ့် ဟာ့ဒ်ဝဲ အစပြုခြင်းများကို လုပ်ဆောင်ရန်။
  5. စနစ်နာရီကို စီစဉ်သတ်မှတ်ပါ။
    အောက်တွင်ဖော်ပြထားသော API နှစ်ခုကိုခေါ်ဆိုခြင်းဖြင့် စနစ်နာရီပုံစံဖွဲ့စည်းမှုကို လုပ်ဆောင်သည်-
    • HAL_RCC_OscConfig(): ဤ API သည် အတွင်းပိုင်းနှင့် ပြင်ပ oscillator များကို configure လုပ်သည်။ အသုံးပြုသူသည် oscillator တစ်ခု သို့မဟုတ် အားလုံးကို configure ပြုလုပ်ရန် ရွေးချယ်သည်။
    • HAL_RCC_ClockConfig(): ဤ API သည် စနစ်နာရီရင်းမြစ်၊ flash memory latency နှင့် AHB နှင့် APB ကြိုတင်စကေးကိရိယာများကို စီစဉ်ပေးသည်။
  6. အရံကို စတင်ပါ။
    • ပထမဦးစွာ အရံ HAL_PPP_MspInit လုပ်ဆောင်ချက်ကို ရေးပါ။ အောက်ပါအတိုင်းလုပ်ဆောင်ပါ။
      • အရံနာရီကို ဖွင့်ပါ။
      • အရံ GPIO များကို စီစဉ်သတ်မှတ်ပါ။
      • DMA ချန်နယ်ကို စီစဉ်သတ်မှတ်ပြီး DMA အနှောင့်အယှက်ကို ဖွင့်ပါ (လိုအပ်ပါက)။
      • အရံကြားဖြတ်ခြင်းကို ဖွင့်ပါ (လိုအပ်ပါက)။
    • လိုအပ်ပါက လိုအပ်သော ကြားဖြတ်ကိုင်တွယ်သူများ (အရံနှင့် DMA) ကိုခေါ်ဆိုရန် stm32xxx_it.c ကို တည်းဖြတ်ပါ။
    • အရံအနှောင့်အယှက်တစ်ခု သို့မဟုတ် DMA ကို အသုံးပြုရန် စီစဉ်ထားပါက ပြန်လည်ခေါ်ဆိုမှု လုပ်ငန်းစဉ်များကို ပြီးမြောက်အောင်ရေးပါ။
    • အသုံးပြုသူ main.c တွင် fileအရံလက်ကိုင်ဖွဲ့စည်းပုံကို အစပြုပြီး အရံကိရိယာကို စတင်ရန်အတွက် လုပ်ဆောင်ချက် HAL_PPP_Init() ကို ခေါ်ပါ။
  7. အက်ပလီကေးရှင်းကို ဖန်တီးပါ။
    • ဒီ s မှာtage၊ စနစ်သည် အဆင်သင့်ဖြစ်ပြီး အသုံးပြုသူ အပလီကေးရှင်းကုဒ် ဖွံ့ဖြိုးတိုးတက်မှုကို စတင်နိုင်သည်။
    • HAL သည် ကိရိယာတန်ဆာပလာကို စီစဉ်သတ်မှတ်ရန် အလိုလိုသိမြင်နိုင်သော API များကို ပံ့ပိုးပေးသည်။ ၎င်းသည် လျှောက်လွှာလိုအပ်ချက်များကို လိုက်လျောညီထွေဖြစ်စေရန်အတွက် မဲဆွယ်ခြင်း၊ နှောင့်ယှက်ခြင်းနှင့် DMA ပရိုဂရမ်းမင်းပုံစံကို ပံ့ပိုးပေးသည်။ အရံကိရိယာတစ်ခုစီကို အသုံးပြုနည်းအသေးစိတ်အတွက်၊ ကြွယ်ဝသော ex ကို ကိုးကားပါ။ampSTM32CubeWBA MCU ပက်ကေ့ချ်တွင် ပံ့ပိုးပေးထားသည်။
      သတိပြုရန်- မူရင်း HAL အကောင်အထည်ဖော်မှုတွင်၊ SysTick timer ကို timebase အဖြစ်အသုံးပြုသည်- ၎င်းသည် ပုံမှန်အချိန်ကြားကာလများတွင် အနှောင့်အယှက်များကို ထုတ်ပေးသည်။ အကယ်၍ HAL_Delay() ကို အနားသတ် ISR လုပ်ငန်းစဉ်မှ ခေါ်ဆိုပါက၊ SysTick နှောင့်ယှက်မှုသည် အရံကြားဖြတ်တောက်ခြင်းထက် ပိုမိုဦးစားပေး (ဂဏန်းအရေအတွက်နည်း) ရှိကြောင်း သေချာပါစေ။ မဟုတ်ပါက ခေါ်ဆိုသူ ISR လုပ်ငန်းစဉ်ကို ပိတ်ဆို့ထားသည်။ အသုံးပြုသူရှိ အခြားအကောင်အထည်ဖော်မှုများတွင် အစားထိုးမှုဖြစ်နိုင်ချေရှိစေရန် timebase configurations သက်ရောက်သည့်လုပ်ဆောင်ချက်များကို __weak အဖြစ်ကြေငြာထားသည်။ file (ဥပမာ၊ ယေဘူယျအားဖြင့် အချိန်တိုင်းကိရိယာကို အသုံးပြုခြင်း။ample သို့မဟုတ် အခြားအချိန်အရင်းအမြစ်)။ နောက်ထပ်အသေးစိတ်အချက်အလက်များအတွက်၊ HAL_TimeBase ဟောင်းကို ကိုးကားပါ။ampလဲ့

LL လျှောက်လွှာ
ဤကဏ္ဍသည် STM32CubeWBA ကို အသုံးပြု၍ စိတ်ကြိုက် LL အပလီကေးရှင်းတစ်ခု ဖန်တီးရန် လိုအပ်သည့် အဆင့်များကို ဖော်ပြသည်။

  1. ပရောဂျက်တစ်ခုဖန်တီးပါ။
    • ပရောဂျက်အသစ်ဖန်တီးရန် \Projects\ အောက်ရှိ ဘုတ်တစ်ခုစီအတွက် ပေးထားသော Templates_LL ပရောဂျက်မှ စတင်ပါ။ \Templates_LL သို့မဟုတ် \Projects\ အောက်ရှိ မည်သည့်ပရောဂျက်မှမဆို၊ \examples_LL ( NUCLEO-WBA32CG ကဲ့သို့သော ဘုတ်အဖွဲ့အမည်ကို ရည်ညွှန်းသည်။
    • နမူနာပရောဂျက်သည် STM32CubeWBA အတွက် ပရောဂျက်ဆက်တင်များကို နားလည်ရန် ကောင်းသောအစမှတ်တစ်ခုဖြစ်သည့် ပင်မကွင်းဆက်အလွတ်ကို ပံ့ပိုးပေးပါသည်။ နမူနာပုံစံ၏ အဓိကလက္ခဏာများမှာ အောက်ပါအတိုင်းဖြစ်သည်-
      • ၎င်းတွင် ပေးထားသောဘုတ်တစ်ခုပေါ်ရှိ ကုဒ်ကိုဖန်တီးရန် လိုအပ်သော အနိမ့်ဆုံးအစိတ်အပိုင်းများဖြစ်သည့် LL နှင့် CMSIS ဒရိုက်ဗာများ၏ အရင်းအမြစ်ကုဒ်များ ပါရှိသည်။
      • ၎င်းတွင် လိုအပ်သော Firmware အစိတ်အပိုင်းများအားလုံးအတွက် ပါဝင်သောလမ်းကြောင်းများ ပါရှိသည်။
      • ၎င်းသည် ပံ့ပိုးပေးထားသော STM32WBA စီးရီးစက်ပစ္စည်းကို ရွေးချယ်ပြီး CMSIS နှင့် LL ယာဉ်မောင်းများ၏ မှန်ကန်သောဖွဲ့စည်းပုံကို ခွင့်ပြုသည်။
      • အဆင်သင့်အသုံးပြုနိုင်သော အသုံးပြုသူကို ထောက်ပံ့ပေးသည်။ fileအောက်ပါအတိုင်း ကြိုတင်ပြင်ဆင်ထားသော s
        ◦ main.h- LED နှင့် USER_BUTTON အဓိပ္ပါယ်ဖွင့်ဆိုချက် အလွှာ။
        ◦ main.c- အများဆုံးအကြိမ်ရေအတွက် စနစ်နာရီပုံစံဖွဲ့စည်းမှု။
  2. ရှိပြီးသား ပရောဂျက်ကို အခြားဘုတ်သို့ ပို့ပါ။
    အခြားပစ်မှတ်ဘုတ်တွင် ရှိပြီးသားပရောဂျက်တစ်ခုကို ပံ့ပိုးရန်၊ ဘုတ်တစ်ခုစီအတွက် ပေးထားသည့် Templates_LL ပရောဂျက်မှ စတင်ကာ \Projects\ အောက်တွင် ရရှိနိုင်ပါသည်။ \Templates_LL။
    • LL ex ကို ရွေးပါ။ample- LL ex ဟူသော board ကိုရှာရန်amples ကို အသုံးချပြီး LL ex ၏ စာရင်းကို ကိုးကားပါ။amples STM32CubeProjectsList.html။
  3. LL ex ကို ပို့ပါ။ample-
    • Templates_LL ဖိုဒါကို ကူး/ကူးထည့်ခြင်း – ကနဦးရင်းမြစ်ကို ထိန်းသိမ်းရန် – သို့မဟုတ် ရှိပြီးသား Templates_LL ပရောဂျက်ကို တိုက်ရိုက်မွမ်းမံပါ။
    • ထို့နောက် porting သည် Templates_LL ကို အစားထိုးရာတွင် အဓိကအားဖြင့် ပါဝင်ပါသည်။ files ထွက၊amples_LL ပစ်မှတ်ထားသော ပရောဂျက်။
    • ဘုတ်အဖွဲ့၏ အစိတ်အပိုင်းများအားလုံးကို သိမ်းဆည်းထားပါ။ ရှင်းရှင်းလင်းလင်းဖြစ်ရခြင်းအတွက်၊ ဘုတ်အဖွဲ့၏ အစိတ်အပိုင်းများကို အတိအကျသတ်မှတ်ထားသည်။ tags:

      STMicroelectronics-STM32WBA-စီးရီး-စတင်ခြင်း-fig-7

    • ထို့ကြောင့် ပင်မပို့ရန် အဆင့်များမှာ အောက်ပါအတိုင်းဖြစ်သည်။
      • stm32wbaxx_it.h ကို အစားထိုးပါ။ file
      • stm32wbaxx_it.c ကို အစားထိုးပါ။ file
      • main.h ကို အစားထိုးပါ။ file ၎င်းကို အပ်ဒိတ်လုပ်ပါ- LED နှင့် အသုံးပြုသူခလုတ်၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကို BOARD SPECIFIC CONFIGURATION အောက်တွင် LL template ကို ထားရှိပါ။ tags.
      • main.c ကို အစားထိုးပါ။ file ၎င်းကို အပ်ဒိတ်လုပ်ပါ။
    • BOARD SPECIFIC CONFIGURATION အောက်တွင် SystemClock_Config() LL စံပလိတ်လုပ်ဆောင်ချက်၏ နာရီပုံစံကို ထားရှိပါ။ tags.
    • LED အဓိပ္ပါယ်ပေါ်မူတည်၍ LDx ဖြစ်ပေါ်မှုတစ်ခုစီကို main.h တွင်ရရှိနိုင်သော အခြား LDy ဖြင့် အစားထိုးပါ။ file.
    • ဒီလိုမွမ်းမံမှုတွေဆိုရင်၊ample သည် ယခု ပစ်မှတ်ထားသော ဘုတ်ပေါ်တွင် အလုပ်လုပ်နေပါသည်။

လုံခြုံရေး applications များ
ဤပက်ကေ့ဂျ်ကို လုံခြုံရေး အပလီကေးရှင်းများဖြင့် ပေးပို့ပါသည်။

SBSFU လျှောက်လွှာများ

  • SBSFU သည် Secure Boot နှင့် Secure Firmware Update လုပ်ဆောင်ချက်များ (MCUboot ပေါ်အခြေခံ၍) အပါအဝင် ယုံကြည်စိတ်ချရသော Root ဖြေရှင်းချက်တစ်ခုကို ပံ့ပိုးပေးပါသည်။
  • အပလီကေးရှင်းကို မလုပ်ဆောင်မီ ဖြေရှင်းချက်ကို အသုံးပြုသည်။
  • အဖြေက ရည်းစားဟောင်းကို ပေးတယ်။ampလုံခြုံမှုမရှိသော အက်ပ်လီကေးရှင်းမှ သီးခြားခွဲထုတ်ထားသည့် လုံခြုံသောဝန်ဆောင်မှု (GPIO အဖွင့်အပိတ်)။ runtime တွင် မလုံခြုံသော အပလီကေးရှင်းသည် ဤဖြေရှင်းချက်ကို ဆက်လက်အသုံးပြုနိုင်ပါသည်။

TFM လျှောက်လွှာများ
TFM သည် Secure Boot နှင့် Secure Firmware Update လုပ်ဆောင်ချက်များ အပါအဝင် ယုံကြည်စိတ်ချရသော Root ဖြေရှင်းချက်ကို ပေးပါသည်။
(MCUboot ကို အခြေခံ၍) အပလီကေးရှင်းကို မလုပ်ဆောင်မီ ဖြေရှင်းချက်ကို အသုံးပြုသည်။ ဖြေရှင်းချက်သည် လုံခြုံမှုမရှိသော အပလီကေးရှင်းမှ သီးခြားခွဲထုတ်ထားသော TFM လုံခြုံသောဝန်ဆောင်မှုများကို ပေးဆောင်သည်။ runtime တွင် မလုံခြုံသော အပလီကေးရှင်းသည် ဤဖြေရှင်းချက်ကို ဆက်လက်အသုံးပြုနိုင်ပါသည်။

RF အသုံးချမှုများ
RF အက်ပလီကေးရှင်းကို ဤအက်ပလီကေးရှင်းမှတ်စုတွင်ဖော်ပြထားသည်- STM32WBA စီးရီးမိုက်ခရိုကွန်ထရိုလာများ (AN5928) ဖြင့် ကြိုးမဲ့အပလီကေးရှင်းများတည်ဆောက်ခြင်း။

STM32CubeWBA ထုတ်ဝေမှု အပ်ဒိတ်များကို ရယူခြင်း။
နောက်ဆုံးထွက် STM32CubeWBA MCU ပက်ကေ့ချ်နှင့် ပက်ကေ့ခ်ျများကို STM32WBA Series မှ ရရှိနိုင်ပါသည်။ ၎င်းတို့ကို STM32CubeMX ရှိ စစ်ဆေးရန် အပ်ဒိတ်ခလုတ်မှ ပြန်လည်ရယူနိုင်ပါသည်။ အသေးစိတ်အချက်အလက်များအတွက် STM3 ဖွဲ့စည်းမှုပုံစံနှင့် စတင်ခြင်းအတွက် အသုံးပြုသူလက်စွဲ STM32CubeMX အပိုင်း 32 ကို ကိုးကားပါ။

အမြဲမေးလေ့ရှိသောမေးခွန်းများ

  • LL drivers တွေအစား HAL ကို ဘယ်အချိန်မှာသုံးရမလဲ။
    • HAL ဒရိုက်ဘာများသည် သယ်ဆောင်ရလွယ်ကူသောအဆင့်ဖြင့် မြင့်မားသောအဆင့်နှင့် လုပ်ဆောင်ချက်များကို ဦးတည်ထားသော API များကို ပေးဆောင်ပါသည်။ သုံးစွဲသူများအတွက် ထုတ်ကုန် သို့မဟုတ် အရံရှုပ်ထွေးမှုကို ဝှက်ထားသည်။
    • LL ဒရိုက်ဘာများသည် ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ထားသော်လည်း သယ်ဆောင်ရလွယ်ကူမှုနည်းသော အလွှာနိမ့်အဆင့် API များကို ပေးဆောင်သည်။ ၎င်းတို့သည် ထုတ်ကုန် သို့မဟုတ် IP သတ်မှတ်ချက်များကို နက်ရှိုင်းစွာ သိရှိရန် လိုအပ်သည်။
  • HAL နှင့် LL ဒရိုက်ဘာများကို တွဲသုံးနိုင်ပါသလား။ တတ်နိုင်ရင် ကန့်သတ်ချက်တွေက ဘာတွေလဲ။
    • HAL နှင့် LL driver နှစ်မျိုးလုံးကို သုံးနိုင်သည်။ IP စတင်ခြင်းအဆင့်အတွက် HAL ကိုအသုံးပြုပြီး LL drivers များဖြင့် I/O လုပ်ဆောင်ချက်များကို စီမံပါ။
    • HAL နှင့် LL အကြား အဓိက ကွာခြားချက်မှာ HAL ဒရိုက်ဘာများသည် လည်ပတ်မှုစီမံခန့်ခွဲမှုအတွက် လက်ကိုင်များကို ဖန်တီးအသုံးပြုရန် လိုအပ်ပြီး LL ယာဉ်မောင်းများသည် အရံမှတ်ပုံတင်များပေါ်တွင် တိုက်ရိုက်လုပ်ဆောင်နေချိန်တွင် ဖြစ်သည်။ ထွက၊amples_MIX ဟောင်းample သည် HAL နှင့် LL ရောစပ်ပုံကို သရုပ်ဖော်ထားသည်။
  • LL အစပြုခြင်း API များကို မည်သို့ဖွင့်ထားသနည်း။
    • LL အစပြုခြင်း API များနှင့် ဆက်စပ်အရင်းအမြစ်များ (ဖွဲ့စည်းပုံ၊ စာသားများနှင့် ရှေ့ပြေးပုံစံများ) ၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကို USE_FULL_LL_DRIVER စုစည်းမှုခလုတ်ဖြင့် သတ်မှတ်ပေးထားသည်။
    • LL အစပြုခြင်း API များကို အသုံးပြုနိုင်ရန်၊ toolchain compiler preprocessor တွင် ဤခလုတ်ကို ထည့်ပါ။
  • STM32CubeMX သည် ထည့်သွင်းထားသောဆော့ဖ်ဝဲလ်အပေါ်အခြေခံ၍ ကုဒ်ကို မည်သို့ထုတ်လုပ်နိုင်သနည်း။
    STM32CubeMX သည် သုံးစွဲသူအား ဂရပ်ဖစ်ကိုယ်စားပြုမှုကို ပံ့ပိုးပေးပြီး *.h သို့မဟုတ် *.c တို့ကို ထုတ်လုပ်ခွင့်ပြုသည့် ၎င်းတို့၏ အရံများနှင့် ဆော့ဖ်ဝဲများ အပါအဝင် STM32 မိုက်ခရိုကွန်ထရိုလာများ၏ built-in အသိပညာ ရှိပါသည်။ 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 စီးရီးစတင်ခြင်း၊ စတင်ခြင်း၊ စတင်ခြင်း။

ကိုးကား

မှတ်ချက်တစ်ခုချန်ထားပါ။

သင့်အီးမေးလ်လိပ်စာကို ထုတ်ပြန်မည်မဟုတ်ပါ။ လိုအပ်သောအကွက်များကို အမှတ်အသားပြုထားသည်။ *