STMicroelectronics-логотип

Оғози Силсилаи STMicroelectronics STM32WBA

STMicroelectronics-STM32WBA-Силсилаи-Оғоз-расм-1

Маълумот оид ба маҳсулот

Мушаххасоти:

  • Номи маҳсулот: Бастаи STM32CubeWBA MCU
  • Истеҳсолкунанда: STMicroelectronics
  • Мутобиқат: Микроконтроллерҳои силсилаи STM32WBA
  • Иҷозатномадиҳӣ: Литсензияи кушодаи BSD

Дастурҳои истифодаи маҳсулот

Хусусиятҳои асосии бастаи STM32CubeWBA MCU:
Бастаи STM32CubeWBA MCU ҳама ҷузъҳои зарурии нармафзори дохилиро барои таҳияи барномаҳо дар микроконтроллерҳои силсилаи STM32WBA таъмин мекунад. Он дар доираи силсилаи STM32 хеле сайёр аст ва бо APIs HAL ва LL меояд, масаланamples, ва ҷузъҳои миёнаравӣ.

Архитектура ба охир расидview:
Меъмории бастаи STM32CubeWBA MCU аз се сатҳ иборат аст - Барномаҳо, ҷузъҳои дар асоси китобхона ва протокол, қабати абстраксияи сахтафзор, драйверҳои BSP, драйверҳои аслӣ ва API-ҳои қабати паст.

Саволҳои зиёд такрормешуда

  • Ба бастаи STM32CubeWBA MCU чӣ дохил карда шудааст?
    Маҷмӯа API-ҳои қабати паст (LL) ва қабати абстраксияи сахтафзор (HAL) -ро дар бар мегирад, масаланamples, барномаҳо, ҷузъҳои миёнаравӣ монанди FileX/LevelX, NetX Duo, китобхонаҳои mbed-crypto ва ғайра.
  • Оё бастаи STM32CubeWBA MCU бо генератори рамзи STM32CubeMX мувофиқ аст?
    Бале, маҷмӯа бо генератори коди STM32CubeMX барои тавлиди рамзи оғозёбӣ комилан мувофиқ аст.

Муқаддима

  • STM32Cube як ташаббуси аслии STMicroelectronics барои баланд бардоштани маҳсулнокии тарроҳон тавассути коҳиш додани кӯшишҳо, вақт ва хароҷот барои таҳия мебошад. STM32Cube тамоми портфели STM32-ро фаро мегирад.
    STM32Cube дар бар мегирад:
    • Маҷмӯи василаҳои таҳияи нармафзори барои корбар дӯстона барои фарогирии таҳияи лоиҳа аз консепсия то татбиқ, аз ҷумла инҳоянд:
      • STM32CubeMX, як абзори конфигуратсияи нармафзори графикӣ, ки имкон медиҳад тавлиди автоматии рамзи ибтидоии C бо истифода аз устодони графикӣ
      • STM32CubeIDE, як абзори таҳияи ҳама дар як бо конфигуратсияи периферӣ, тавлиди код, тартиб додани код ва хусусиятҳои дебаг
      • STM32CubeCLT, як абзори таҳияи сатри фармони ҳама дар як бо тартиб додани код, барномасозии тахта ва хусусиятҳои дебаг
      • STM32CubeProgrammer (STM32CubeProg), як воситаи барномасозӣ, ки дар версияҳои графикӣ ва сатри фармон дастрас аст
      • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), абзорҳои пурқуввати мониторинг барои дуруст танзим кардани рафтор ва иҷрои барномаҳои STM32 дар вақти воқеӣ
    • Бастаҳои STM32Cube MCU ва MPU, платформаҳои ҳамаҷонибаи нармафзори дарунсохт, ки ба ҳар як микроконтроллер ва микропросессор хосанд (ба монанди STM32CubeWBA барои силсилаи STM32WBA), ки дар бар мегиранд:
      • Қабати абстраксияи сахтафзори STM32Cube (HAL), ки интиқоли ҳадди аксарро дар портфели STM32 таъмин мекунад
      • API-ҳои қабати пасти STM32Cube, ки беҳтарин кор ва пайро бо дараҷаи баланди назорати корбар аз болои сахтафзор таъмин мекунад
      • Маҷмӯи пайвастаи ҷузъҳои миёнаравӣ ба монанди 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, ки дорои ҷузъҳои нармафзори дарунсохт мебошанд, ки функсияҳои STM32Cube MCU ва MPU бастаҳоро бо:
      • Васеъкуниҳои миёнаравӣ ва қабатҳои татбиқшаванда
      • Examples дар баъзе тахтаҳои мушаххаси рушди STMicroelectronics кор мекунанд
  • Ин дастури корбар тавсиф мекунад, ки чӣ тавр бо бастаи STM32CubeWBA MCU оғоз кардан мумкин аст.
    • Бахши 2 Хусусиятҳои асосии STM32CubeWBA хусусиятҳои асосии бастаи STM32CubeWBA MCU-ро тавсиф мекунад.
    • Бахши 3 меъмории STM32CubeWBA ба охир расидview барзиёд таъмин менамоядview меъмории STM32CubeWBA ва сохтори MCU Package.

Маълумоти Умумӣ

Бастаи STM32CubeWBA MCU дар микроконтроллерҳои 32-битии STM32 дар асоси протсессори Arm® Cortex®-M33 бо Arm® TrustZone® ва FPU кор мекунад.
Шарҳ: Arm ва TrustZone тамғаҳои молии ба қайд гирифташудаи Arm Limited (ё филиалҳои он) дар ИМА ва/ё дар ҷои дигар мебошанд.

Хусусиятҳои асосии STM32CubeWBA

  • Бастаи STM32CubeWBA MCU дар микроконтроллерҳои 32-битии STM32 дар асоси протсессори Arm® Cortex®-M33 бо TrustZone® ва FPU кор мекунад.
  • STM32CubeWBA дар як бастаи ягона тамоми ҷузъҳои нармафзори дарунсохтро ҷамъ меорад, ки барои таҳияи барнома барои микроконтроллерҳои силсилаи STM32WBA лозиманд. Мувофиқи ташаббуси STM32Cube, ин маҷмӯи ҷузъҳо на танҳо дар дохили микроконтроллерҳои силсилаи STM32WBA, балки барои дигар силсилаи STM32 низ хеле қобили интиқол мебошанд.
  • STM32CubeWBA бо генератори рамзи STM32CubeMX барои тавлиди рамзи оғозёбӣ комилан мувофиқ аст. Маҷмӯа API-ҳои қабати паст (LL) ва қабати абстраксияи сахтафзор (HAL) -ро дар бар мегирад, ки сахтафзори микроконтроллерро дар бар мегиранд ва инчунин маҷмӯи васеи собиқampLes дар тахтаҳои STMicroelectronics кор мекунанд. API-ҳои HAL ва LL дар литсензияи кушодаи BSD барои роҳати корбар дастрасанд.
  • Бастаи STM32CubeWBA MCU инчунин дорои як ҷузъи миёнаравии ҳамаҷонибаест, ки дар атрофи миёнаравии Microsoft® Azure® RTOS ва дигар стекҳои дохилӣ ва кушодаасос сохта шудааст, ки бо собиқ мувофиқamples.
  • Онҳо бо шартҳои литсензияи ройгон ва барои корбар дӯстона меоянд:
    • Интегратсияшуда ва мукаммали Azure® RTOS: Azure® RTOS ThreadX
    • Амалисозии CMSIS-RTOS бо Azure® RTOS ThreadX
    • Стекҳои USB Host ва Device бо бисёр синфҳо меоянд: Azure® RTOS USBX
    • Мукаммал file система ва қабати тарҷумаи флеш: 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-Силсилаи-Оғоз-расм-2

Меъмории STM32CubeWBA ба охир расидview

Ҳалли бастаи STM32CubeWBA MCU дар атрофи се сатҳи мустақил сохта шудааст, ки ба осонӣ тавре ки дар расми 2 тавсиф шудаанд, мутақобила мекунанд. Меъмории бастаи STM32CubeWBA MCU.

STMicroelectronics-STM32WBA-Силсилаи-Оғоз-расм-3

Сатҳи 0

Ин сатҳ ба се зерқабат тақсим мешавад:

  • Бастаи дастгирии Шӯрои (BSP).
  • Қабати абстраксияи сахтафзор (HAL):
    • Драйверҳои периферии HAL
    • Ронандагони сатҳи паст
  • Истифодаи асосии перифери, масаланamples.

Бастаи дастгирии Шӯрои (BSP)
Ин қабат маҷмӯи API-ҳоро нисбат ба ҷузъҳои сахтафзор дар тахтаҳои сахтафзор пешниҳод мекунад (ба монанди LCD, Audio, \ microSD™ ва драйверҳои MEMS). Он аз ду қисм иборат аст:

  • Драйвери компонент:
    Ин драйвер ба дастгоҳи берунии тахта алоқаманд аст, на ба дастгоҳи STM32. Драйвери ҷузъҳо API-ҳои мушаххасро ба ҷузъҳои берунаи драйвери BSP таъмин мекунад ва метавонад дар ҳама гуна тахтаи дигар қобили интиқол бошад.
  • Ронандаи BSP:
    Драйвери BSP имкон медиҳад, ки драйверҳои ҷузъро ба як тахтаи мушаххас пайваст кунанд ва маҷмӯи барои истифодабарандагонро фароҳам меорад
    APIҳо. Қоидаи номи API BSP_FUNCT_Action () аст.
    Example: BSP_LED_Init (), BSP_LED_On ()
    BSP ба меъмории модулӣ асос ёфтааст, ки имкон медиҳад интиқоли осонро дар ҳама гуна сахтафзор тавассути иҷрои реҷаҳои сатҳи паст таъмин кунад.

Қабати абстраксияи сахтафзор (HAL) ва қабати паст (LL)
STM32CubeWBA HAL ва LL пурракунанда мебошанд ва доираи васеи талаботҳои дархостро фаро мегиранд:

  • Драйверҳои HAL API-ҳои сатҳи баландро, ки ба функсия нигаронида шудаанд, пешниҳод мекунанд. Онҳо MCU ва мураккабии перифериро ба корбари ниҳоӣ пинҳон мекунанд.
    Драйверҳои HAL API-ҳои умумиро, ки ба хусусият нигаронида шудаанд, таъмин мекунанд, ки татбиқи барномаҳои корбарро тавассути пешниҳоди равандҳои барои истифода омода содда мекунанд. Барои мисолample, барои таҷҳизоти периферии иртиботӣ (I2S, UART ва дигарон) он APIҳоро таъмин мекунад, ки имкон медиҳад оғозсозӣ ва танзими перифери, идоракунии интиқоли маълумот дар асоси пурсиш, қатъ ё раванди DMA ва коркарди хатогиҳои иртиботӣ, ки ҳангоми муошират пайдо мешаванд. API-ҳои драйвери HAL ба ду категория тақсим мешаванд:
    1. API-ҳои умумӣ, ки ба ҳама микроконтроллерҳои силсилаи STM32 вазифаҳои умумӣ ва умумӣ медиҳанд.
    2. API-ҳои васеъ, ки вазифаҳои мушаххас ва фармоиширо барои як оилаи мушаххас ё рақами мушаххаси қисм таъмин мекунанд.
  • API-ҳои қабати паст API-ҳои сатҳи пастро дар сатҳи реестр бо оптимизатсияи беҳтар, вале интиқоли камтар таъмин мекунанд.
    • Онҳо дониши амиқи MCU ва мушаххасоти перифериро талаб мекунанд.
    • Драйверҳои LL барои пешниҳод кардани як қабати сабуки ба коршинос нигаронидашуда тарҳрезӣ шудаанд, ки нисбат ба HAL ба сахтафзор наздиктар аст. Бар хилофи HAL, API-ҳои LL барои дастгоҳҳои периферӣ, ки дастрасии оптимизатсияшуда хусусияти калидӣ нест, ё барои онҳое, ки конфигуратсияи вазнини нармафзор ё стеки мураккаби сатҳи болоро талаб мекунанд, пешбинӣ нашудаанд.
    • Драйверҳои LL хусусиятҳои:
      • Маҷмӯи функсияҳо барои оғоз кардани хусусиятҳои асосии периферӣ мувофиқи параметрҳои дар сохторҳои додашуда.
      • Маҷмӯи функсияҳо барои пур кардани сохторҳои додаҳои ибтидоӣ бо арзишҳои аз нав танзимкунии мувофиқ ба ҳар як майдон.
      • Функсияи ғайрифаъолкунии периферӣ (регистрҳои периферӣ ба арзишҳои пешфарзии худ барқарор карда мешаванд).
      • Маҷмӯи функсияҳои дохилӣ барои дастрасии мустақим ва реестри атомӣ.
      • Истиқлолияти пурра аз HAL ва қобилияти истифода дар реҷаи мустақил (бе ронандагони HAL).
      • Фарогирии пурраи хусусиятҳои периферии дастгирӣшаванда.

Истифодаи асосии перифери, масаланamples
Ин қабат собиқро иҳота мекунадamples бар перифери STM32 бо истифода аз танҳо захираҳои HAL ва BSP сохта.

Сатҳи 1

Ин сатҳ ба ду зерқабат тақсим мешавад:

  • Компонентҳои миёнаравӣ
  • Examples дар асоси ҷузъҳои миёнаравӣ

Компонентҳои миёнаравӣ

  • Миёнаравӣ маҷмӯи китобхонаҳоест, ки Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
  • Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot ва mbed-crypto.
  • Муносибати уфуқӣ байни ҷузъҳои ин қабат тавассути даъват кардани API-ҳои тавсифшуда анҷом дода мешавад.
  • Ҳамкории амудӣ бо драйверҳои сатҳи паст тавассути зангҳои мушаххас ва макросҳои статикӣ, ки дар интерфейси зангҳои системаи китобхона амалӣ карда мешаванд, анҷом дода мешавад.
  • Хусусиятҳои асосии ҳар як ҷузъи миёнаравӣ инҳоянд:
    • Microsoft® Azure® RTOS
      • Azure® RTOS ThreadX: Системаи оператсионии вақти воқеӣ (RTOS), ки барои системаҳои дарунсохт бо ду ҳолати функсионалӣ пешбинӣ шудааст.
        • Ҳолати умумӣ: Функсияҳои умумии RTOS ба монанди идоракунии ришта ва ҳамоҳангсозӣ, идоракунии ҳавзи хотира, паёмнависӣ ва коркарди рӯйдодҳо.
        • Ҳолати модул: Ҳолати пешрафтаи корбар, ки имкон медиҳад боркунӣ ва борфарории модулҳои қаблан пайвастшудаи ThreadX тавассути менеҷери модул имкон медиҳад.
      • NetX Duo
      • FileX
      • USBX
    • Bluetooth® Low Energy (BLE): Протоколи Bluetooth® Low Energy-ро барои қабатҳои Link ва Stack амалӣ мекунад.
    • MCUboot (нармафзори кушодаасос)
    • Протоколҳои Zigbee® барои стек ва кластерҳои алоқаманд.
    • Стеки протоколи Thread® ва қабати пайванд.
    • Барномаи боэътимоди Arm®-M, TF‑M (нармафзори кушодаасос): истинод ба татбиқи меъмории амнияти платформаи Arm® (PSA) барои TrustZone® бо хидматҳои бехатари алоқаманд.
    • mbed-crypto (нармафзори кушодаасос): Миёнаравӣ mbed-crypto татбиқи API криптографияи PSA-ро таъмин мекунад.
    • Китобхонаи сенсории STM32: Ҳалли мустаҳками сенсории сенсории STMTouch, ки сенсорҳои наздикӣ, тугмаи ламсӣ, хатӣ ва гардиширо дастгирӣ мекунад. Он ба принсипи исботшудаи интиқоли заряди рӯизаминӣ асос ёфтааст.

Examples дар асоси ҷузъҳои миёнаравӣ
Ҳар як ҷузъи миёнаравӣ бо як ё якчанд собиқ меоядamples (инчунин барномаҳо номида мешавад) нишон медиҳад, ки чӣ тавр истифода бурдани он. Интегратсия пешamples, ки якчанд ҷузъҳои миёнаравӣ истифода мебаранд, инчунин таъмин карда мешаванд.

Бастаи нармафзори STM32CubeWBA ба итмом расидview

Дастгоҳҳо ва сахтафзорҳои силсилаи STM32WBA дастгирӣ карда мешаванд

  • STM32Cube як қабати абстраксияи сахтафзори хеле сайёрро (HAL) пешниҳод мекунад, ки дар атрофи меъмории умумӣ сохта шудааст. Он имкон медиҳад, ки принсипи бунёди қабатҳо, ба монанди истифодаи қабати миёнаравӣ барои иҷрои вазифаҳои онҳо бидуни донистани амиқ, чӣ MCU истифода мешавад. Ин истифодаи такрории рамзи китобхонаро беҳтар мекунад ва интиқоли осонро ба дастгоҳҳои дигар таъмин мекунад.
  • Илова бар ин, ба туфайли меъмории қабати худ, STM32CubeWBA ҳама силсилаи STM32WBA-ро пурра дастгирӣ мекунад.
  • Истифодабаранда танҳо бояд макроси дурустро дар stm32wbaxx.h муайян кунад.
  • Ҷадвали 1 макросро, ки вобаста ба дастгоҳи силсилаи STM32WBA истифода мешавад, нишон медиҳад. Ин макрос инчунин бояд дар протсессори компилятор муайян карда шавад.
    Љадвали 1. Макросњо барои силсилаи STM32WBA
    Макрос дар stm32wbaxx.h муайян карда шудааст Дастгоҳҳои силсилаи STM32WBA
    stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6
    stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7

     

  • STM32CubeWBA дорои маҷмӯи бойи собиқamples ва барномаҳо дар ҳама сатҳҳо фаҳмидан ва истифодаи ҳама гуна драйвери HAL ё ҷузъҳои миёнаравро осон мекунад. Ин собикamples дар тахтаҳои STMicroelectronics кор мекунанд, ки дар ҷадвали 2 оварда шудаанд.
    Љадвали 2. Шӯрои барои силсилаи STM32WBA
    Раёсат Дастгоҳҳои дастгирӣшавандаи STM32WBA
    NUCLEO-WBA52CG STM32WBA52CGU6
    NUCLEO-WBA55CG STM32WBA55CGU6
    STM32WBA55-DK1 STM32WBA55CGU7
  • Бастаи STM32CubeWBA MCU метавонад дар ҳама гуна сахтафзорҳои мувофиқ кор кунад. Истифодабаранда танҳо драйверҳои BSP-ро навсозӣ мекунад, то версияи пешниҳодшударо интиқол диҳадamples дар тахта, агар охирин дорои хусусиятҳои сахтафзор якхела бошад (ба монанди LED, дисплейи LCD ва тугмаҳо).
Бастаи нармафзори миёнаравӣ тамом шудview
  • Ҳалли бастаи STM32CubeWBA дар як бастаи ягонаи zip дода шудааст, ки сохтори дар расми 3 нишон додашуда дорад. Сохтори бастаи нармафзори STM32CubeWBA.

    STMicroelectronics-STM32WBA-Силсилаи-Оғоз-расм-4

  • Барои ҳар як тахта, маҷмӯи собиқamples бо лоиҳаҳои пешакӣ танзимшуда барои асбобҳои EWARM, MDK-ARM ва STM32CubeIDE таъмин карда мешавад.
  • Тасвири 4. STM32CubeWBA собиқampтамомview сохтори лоиҳаро барои тахтаҳои NUCLEO‑WBA52CG, NUCLEO-WBA55CG ва STM32WBA55G-DK1 нишон медиҳад.

    STMicroelectronics-STM32WBA-Силсилаи-Оғоз-расм-5

  • собиқamples вобаста ба сатҳи STM32Cube, ки ба онҳо муроҷиат мекунанд тасниф карда мешаванд ва онҳо чунин ном доранд:
    • Сатҳи 0 собиқamples Ex номида мешавадampЛес, масаланamples_LL, ва Examples_MIX. Онҳо мутаносибан драйверҳои HAL, драйверҳои LL ва омехтаи драйверҳои HAL ва LL-ро бидуни ягон ҷузъи миёнаравӣ истифода мебаранд.
    • Сатҳи 1 собиқamples Барномаҳо номида мешаванд. Онҳо ҳолатҳои истифодаи маъмулии ҳар як ҷузъи миёнаравиро таъмин мекунанд. Ҳар як барномаи миёнаравӣ барои тахтаи додашуда метавонад ба туфайли лоиҳаҳои қолабӣ, ки дар каталогҳои Templ ates ва Templates_LL мавҷуданд, зуд сохта шавад.

Лоиҳаҳои имконпазири TrustZone®

  • TrustZone® фаъол карда шудааст Мисampномҳои les дорои префикси _TrustZone. Ин қоида инчунин барои Applicatio ns татбиқ карда мешавад (ба истиснои TFM ва SBSFU, ки дар асл барои TrustZone® мебошанд).
  • TrustZone®-и фаъол Examples ва Барномаҳо бо сохтори бисёрлоиҳа таъмин карда мешаванд, ки аз зерлоиҳаҳои амн ва ғайриамн иборатанд, ки дар расми 5 оварда шудаанд.
  • Лоиҳаҳои ба TrustZone® фаъолшуда мувофиқи қолаби дастгоҳи CMSIS-5 таҳия карда мешаванд, ки бо фарогирии сарлавҳаи тақсимоти система васеъ карда шудаанд. file тақсимот_ .h, ки асосан барои насби воҳиди аттрибутҳои бехатар (SAU), FPU ва таъйиноти қатъи бехатар/ғайриамнӣ дар ҳолати бехатарии иҷро масъул аст.
  • Ин насб дар функсияи бехатари CMSIS SystemInit() анҷом дода мешавад, ки ҳангоми оғозёбӣ пеш аз ворид шудан ба функсияи асосии барномаи бехатари() даъват карда мешавад. Ба ҳуҷҷатҳои Arm® TrustZone®-M оид ба дастурҳои нармафзор муроҷиат кунед.

    STMicroelectronics-STM32WBA-Силсилаи-Оғоз-расм-6

  • Бастаи нармафзори бастаи STM32CubeWBA тақсимоти пешфарзии хотираро дар қисмат таъмин мекунад _ .ч fileдар зери: \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T emplates дастрасанд.
  • Дар ин тақсимот fileс, SAU бо нобаёнӣ ғайрифаъол аст. Дар натиҷа, харитаи хотираи IDAU барои аттрибутсияи амният истифода мешавад. Дар дастури истинод ба RM0495 ба расми тақсимоти бехатар/ғайримамн бо истифода аз технологияи TrustZone® муроҷиат кунед.
  • Агар корбар SAU-ро фаъол созад, конфигуратсияи пешфарзии минтақаҳои SAU дар қисмат пешакӣ муайян карда мешавад fileба таври зерин:
    • Минтақаи SAU 0: 0x08080000 – 0x081FFFFFF (нисфи бехатари хотираи флешдор (512 Кбайт))
    • Минтақаи SAU 1: 0x0BF88000 – 0x0BF97FFF (хотираи системаи ғайриамнӣ)
    • Минтақаи SAU 2: 0x0C07E000 - 0x0C07FFFF (зангҳои бехатар, ғайриамнӣ)
    • Минтақаи SAU 3: 0x20010000 – 0x2001FFFF (SRAM2 (64 Кбайт))
    • Минтақаи SAU 4: 0x40000000 - 0x4FFFFFFFF (хотираи хариташудаи периферии бехатар)
  • Барои мувофиқ кардани тақсимоти пешфарз, дастгоҳҳои силсилаи STM32WBAxx бояд байтҳои зерини опсияи корбарро дошта бошанд:
    • TZEN = 1 (дастгоҳи TrustZone® фаъол)
    • SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (64 аз 128 саҳифаи хотираи флеши дохилӣ ҳамчун эмин гузошта шудааст) Эзоҳ: Хотираи флеши дохилӣ бо нобаёнӣ дар TZEN = 1 комилан бехатар аст. Байтҳои опсияи корбар SECWM1_PSTRT/ SECWM1_PEND бояд мувофиқи барнома танзим карда шаванд. конфигуратсияи хотира (минтақаҳои SAU, агар SAU фаъол бошад). Пайвасткунаки лоиҳаи замимаҳои бехатар/бехатар fileҳо низ бояд ҳамоҳанг карда шаванд.
  • Хамаи собикamples сохтори якхела доранд:
    • \Inc ҷузвдони дорои ҳама сарлавҳаҳо files.
    • Папкаи Src дорои рамзи сарчашма мебошад.
    • \EWARM, \MDK-ARM ва \STM32CubeIDE ҷузвдонҳои дорои лоиҳаи пешакӣ танзимшуда барои ҳар як асбоб.
    • readme.md ва readme.html тавсифи собиқampрафтор ва муҳити зарурӣ барои кор кардан.
    • ioc file ки ба корбарон имкон медиҳад, ки аксари нармафзори собиқро кушояндamples дар дохили STM32CubeMX.

Оғози кор бо STM32CubeWBA

Иҷрои аввалин HAL собиқample

Ин бахш мефаҳмонад, ки то чӣ андоза оддӣ иҷро кардани аввалин собиқample дар дохили STM32CubeWBA. Он ҳамчун мисол тавлиди гузариши оддии LED-ро дар тахтаи NUCLEO-WBA52CG истифода мебарад:

  1. Бастаи STM32CubeWBA MCU-ро зеркашӣ кунед.
  2. Онро ба феҳристи интихобкардаатон кушоед.
  3. Боварӣ ҳосил кунед, ки сохтори бастаро, ки дар расми 1 нишон дода шудааст, тағир надиҳед. Инчунин тавсия дода мешавад, ки бастаро дар ҷои наздик ба ҳаҷми решаи худ нусхабардорӣ кунед (маънои C:\ST ё G:\Tests), зеро баъзе IDE-ҳо ҳангоми кушодани роҳ ба мушкилот дучор мешаванд. дарозӣ хеле дароз аст.

Иҷро кардани аввалин TrustZone® фаъолшудаample

  • Пеш аз бор кардан ва ба кор андохтани TrustZone® фаъол, масаланampле, хондани собик хатмистampмаро хонед file барои ҳама гуна конфигуратсияи мушаххасе, ки кафолат медиҳад, ки амният фаъол аст, тавре ки дар қисмати 4.2.1 лоиҳаҳои TrustZone® фаъол карда шудааст (TZEN=1 (байти хосият корбар)).
    1. Ба \Лоиҳаҳо\NUCLEO-WBA52CG\Мисamples.
    2. \GPIO, сипас папкаҳои \GPIO_IOToggle_TrustZone-ро кушоед.
    3. Лоиҳаро бо асбоби дилхоҳатон кушоед. Зуд тамомview дар бораи чӣ гуна кушодан, сохтан ва идора кардани собиқample бо асбобҳои дастгирӣ дар зер оварда шудааст.
    4. Ҳама лоиҳаҳои амн ва ғайриамнро пайдарпай аз нав барқарор кунед files ва тасвирҳои бехатар ва бехатарро ба хотираи мақсаднок бор кунед.
    5. Собиқро иҷро кунедample: мунтазам, барномаи бехатар LD2-ро ҳар сония иваз мекунад ва барномаи ғайриамнӣ LD3-ро ду маротиба тезтар иваз мекунад. Барои тафсилоти бештар, ба Readme муроҷиат кунед file аз собиқampле.
  • Барои кушодан, сохтан ва идора кардани собиқample бо асбобҳои дастгирӣшаванда, қадамҳои зеринро иҷро кунед:
    • EWARM:
      1. Дар зери собиқample папка, зерпапкаи \EWARM -ро кушоед.
      2. Фазои кории Project.eww -ро оғоз кунед
      3. Лоиҳаи бехатари xxxxx_S -ро аз нав барқарор кунед files: [Лоиҳа]> [Ҳамаро барқарор кунед].
      4. Лоиҳаи бехатарии xxxxx_NS-ро ҳамчун барномаи фаъол таъин кунед (бо клики рости лоиҳаи xxxxx_NS [Танзим ҳамчун фаъол])
      5. Лоиҳаи бехатарии xxxxx_NS -ро аз нав барқарор кунед files: [Лоиҳа]> [Ҳамаро барқарор кунед].
      6. Бинарии ғайримахфро бо [Лоиҳа]>[Заркашӣ]>[Барномаи фаъолро зеркашӣ кунед] флешдор кунед.
      7. xxxxx_S-ро ҳамчун барномаи фаъол насб кунед (бо клики рости лоиҳаи xxxxx_S [Танзим ҳамчун фаъол].
      8. Бинарии бехатарро бо [Зеркашӣ ва ислоҳ] (Ctrl+D) флешдор кунед.
      9. Барномаро иҷро кунед: [Debug]>[Go(F5)]
    • MDK-ARM:
      1. Асбоби \MDK-ARM-ро кушоед.
      2. Фазои кории Multiprojects -ро кушоед file Project.uvmpw.
      3. Лоиҳаи xxxxx_s -ро ҳамчун барномаи фаъол интихоб кунед ([Танзим ҳамчун лоиҳаи фаъол]).
      4. Лоиҳаи xxxxx_s созед.
      5. Лоиҳаи xxxxx_ns -ро ҳамчун лоиҳаи фаъол интихоб кунед ([Танзим ҳамчун лоиҳаи фаъол]).
      6. Лоиҳаи xxxxx_ns созед.
      7. Бинарии бехатариро бор кунед ([F8]). Ин \MDK-ARM\xxxx_ns\Exe\xxxxx_ns.axf-ро ба хотираи флеш зеркашӣ мекунад)
      8. Лоиҳаи Project_s-ро ҳамчун лоиҳаи фаъол интихоб кунед ([Танзим ҳамчун лоиҳаи фаъол]).
      9. Бинарии бехатарро бор кунед ([F8]). Ин \MDK-ARM\xxxx_s\Exe\xxxx_s.axf-ро ба хотираи флешдор зеркашӣ мекунад).
      10. Собиқро иҷро кунедampле.
    • STM32CubeIDE:
      1. Асбоби STM32CubeIDE -ро кушоед.
      2. Фазои кории Multiprojects -ро кушоед file .лоиха.
      3. Лоиҳаи xxxxx_Secure -ро аз нав барқарор кунед.
      4. Лоиҳаи xxxxx_NonSecure -ро аз нав барқарор кунед.
      5. Барномаи [Debug as STM32 Cortex-M C/C++] -ро барои лоиҳаи бехатар оғоз кунед.
      6. Дар равзанаи [Таҳрири конфигуратсия], панели [Startup] -ро интихоб кунед ва тасвир ва рамзҳои лоиҳаи бехатарро илова кунед.
        Муҳим: Лоиҳаи бехатар бояд пеш аз лоиҳаи бехатар бор карда шавад.
      7. [OK] -ро пахш кунед.
      8. Собиқро иҷро кунедample дар бораи дурнамои ислоҳ.

Иҷрои аввалин TrustZone® ғайрифаъол, собиқample

  • Пеш аз бор кардан ва ба кор андохтани TrustZone® ғайрифаъол, собиқampле, хондани собик хатмистampмаро хонед file барои ҳама гуна конфигуратсияи мушаххас. Агар ягон зикри мушаххас вуҷуд надошта бошад, боварӣ ҳосил кунед, ки дастгоҳи тахта амниятро ғайрифаъол кардааст (TZEN=0 (байти корбар)). Барои анҷом додани регрессияи ихтиёрӣ ба TZEN = 0 ба саволҳои FAQ нигаред
    1. Ба \Лоиҳаҳо\NUCLEO-WBA52CG\Мисamples.
    2. \GPIO, баъд папкаҳои \GPIO_EXTI-ро кушоед.
    3. Лоиҳаро бо асбоби дилхоҳатон кушоед. Зуд тамомview дар бораи чӣ гуна кушодан, сохтан ва идора кардани собиқample бо асбобҳои дастгирӣ дар зер оварда шудааст.
    4. Ҳамаро аз нав созед files ва тасвири худро ба хотираи мақсаднок бор кунед.
    5. Собиқро иҷро кунедample: Ҳар дафъае, ки тугмаи [USER] пахш карда мешавад, LED-и LD1 иваз мешавад. Барои тафсилоти бештар, ба Readme муроҷиат кунед file аз собиқampле.
  • Барои кушодан, сохтан ва идора кардани собиқample бо асбобҳои дастгирӣшаванда, қадамҳои зеринро иҷро кунед:
    • EWARM:
      1. Дар зери собиқample папка, зерпапкаи \EWARM -ро кушоед.
      2. Фазои кории Project.eww -ро оғоз кунед (номи фазои корӣ метавонад аз як пешampба дигаре).
      3. Ҳамаро аз нав созед files: [Лоиҳа]> [Ҳамаро барқарор кунед].
      4. Тасвири лоиҳаро бор кунед: [Лоиҳа]> [Debug].
      5. Барномаро иҷро кунед: [Debug]> [Go (F5)].
    • MDK-ARM:
      1. Дар зери собиқample, зерпапкаи \MDK-ARM -ро кушоед.
      2. Фазои кории Project.uvproj -ро оғоз кунед (номи фазои корӣ метавонад аз як пешampба дигаре).
      3. Ҳамаро аз нав созед files:[Лоиҳа]>[Ҳамаи ҳадафҳоро аз нав созед fileс].
      4. Тасвири лоиҳаро бор кунед: [Debug]> [Start/Stop Session Debug].
      5. Барномаро иҷро кунед: [Debug]> [Иҷро (F5)].
    • STM32CubeIDE:
      1. Асбоби STM32CubeIDE -ро кушоед.
      2. Клик кунед [File]>[Тағйири фазои корӣ]>[Дигар] ва ба директорияи фазои кории STM32CubeIDE равед.
      3. Клик кунед [File]>[Ворид], [Умумӣ]> [Лоиҳаҳои мавҷуда дар фазои корӣ] -ро интихоб кунед ва сипас [Оянда] -ро клик кунед.
      4. Ба феҳристи фазои кории STM32CubeIDE равед ва лоиҳаро интихоб кунед.
      5. Ҳама лоиҳаро аз нав созед files: Лоиҳаро дар равзанаи [Project Explorer] интихоб кунед ва баъд менюи [Лоиҳа]> [Сохтани лоиҳа] -ро клик кунед.
      6. Барномаро иҷро кунед: [Иҷро]> [Debug (F11)]
Таҳияи барномаи фармоишӣ

Шарҳ: Нармафзор бояд кэши дастурро (ICACHE) имкон диҳад, ки аз хотираи флешдор 0 ҳолати интизорӣ ба даст орад ва ба ҳадди ниҳоии кор ва истеъмоли беҳтари нерӯ бирасад.

Истифодаи STM32CubeMX барои таҳия ё навсозии барнома

  • Дар бастаи STM32CubeWBA MCU, тақрибан ҳамаи лоиҳаҳои собиқamples бо асбоби STM32CubeMX барои оғоз кардани система, периферияҳо ва миёнаравӣ тавлид мешаванд.
  • Истифодаи бевоситаи лоиҳаи мавҷуда, собиқample аз асбоби STM32CubeMX STM32CubeMX 6.10.0 ё навтарро талаб мекунад:
    • Пас аз насб кардани STM32CubeMX, лоиҳаи пешниҳодшударо кушоед ва дар ҳолати зарурӣ навсозӣ кунед. Роҳи оддитарини кушодани лоиҳаи мавҷуда ин ду маротиба пахш кардани *.ioc мебошад file то ки STM32CubeMX ба таври худкор лоиҳа ва манбаи онро мекушояд files.
    • STM32CubeMX рамзи ибтидоии ибтидоии чунин лоиҳаҳоро тавлид мекунад. Рамзи асосии барномаро шарҳҳои "КОДИ ИСТИФОДАБАРАНДАГОН ОГОЗ" ва "КАМЗИ ИСТИФОДАБАРАНДА" дар бар мегиранд. Дар сурати тағир додани интихоб ва танзимоти IP, STM32CubeMX қисми ибтидоии кодро навсозӣ мекунад, аммо рамзи сарчашмаи асосии барномаро нигоҳ медорад.
  • Барои таҳияи лоиҳаи фармоишӣ дар STM32CubeMX, раванди қадам ба қадам пайравӣ кунед:
    1. Микроконтроллери STM32-ро интихоб кунед, ки ба маҷмӯи зарурии периферия мувофиқат кунад.
    2. Ҳама нармафзори дарунсохтро бо истифода аз ҳалкунандаи конфликтҳои pinout, ёвари танзими дарахти соат, ҳисобкунаки масрафи нерӯ ва утилитае, ки конфигуратсияи периферии MCU (ба монанди GPIO ё USART) ва стекҳои миёнаравӣ (ба монанди USB) иҷро мекунад, танзим кунед.
    3. Дар асоси конфигуратсияи интихобшуда рамзи ибтидоии C-ро тавлид кунед. Ин код барои истифода дар якчанд муҳитҳои рушд омода аст. Рамзи корбар дар насли ояндаи код нигоҳ дошта мешавад.
  • Барои маълумоти бештар дар бораи STM32CubeMX, ба дастури корбарии STM32CubeMX барои конфигуратсияи STM32 ва тавлиди коди C (UM1718) муроҷиат кунед.
  • Барои рӯйхати лоиҳаи дастрас, собиқamples барои STM32CubeWBA, ба ёддошти барномавии STM32Cube миёнаравӣ муроҷиат кунед.amples барои силсилаи STM32WBA (AN5929).

Барномаҳои ронандагӣ

ариза HAL
Ин бахш қадамҳои заруриро барои сохтани барномаи фармоишии HAL бо истифода аз STM32CubeWBA тавсиф мекунад:

  1. Лоиҳа эҷод кунед
    • Барои сохтани лоиҳаи нав, аз лоиҳаи Шаблоне, ки барои ҳар як тахта дар зери \Лоиҳаҳо\ пешбинӣ шудааст, оғоз кунед. \Шаблонҳо ё аз ягон лоиҳаи дастрас дар зери \Лоиҳаҳо\ \Мисолҳо ё \Лоиҳаҳо\ \Барномаҳо (дар куҷо ба номи тахта ишора мекунад, ба монанди STM32CubeWBA).
    • Лоиҳаи Шаблон вазифаи ҳалқаи асосии холиро таъмин мекунад. Бо вуҷуди ин, барои фаҳмидани танзимоти лоиҳаи STM32CubeWBA нуқтаи ибтидоии хуб аст. Шаблон дорои хусусиятҳои зерин аст:
      • Он рамзи сарчашмаи HAL, CMSIS ва драйверҳои BSP-ро дар бар мегирад, ки маҷмӯи ҳадди ақали ҷузъҳо барои таҳияи код дар тахтаи додашуда заруранд.
      • Он дорои роҳҳои дохилшуда барои ҳамаи ҷузъҳои нармафзори миёнаравӣ.
      • Он дастгоҳҳои пуштибонии силсилаи STM32WBA-ро муайян мекунад ва имкон медиҳад, ки драйверҳои CMSIS ва HAL дуруст танзим карда шаванд.
      • Он корбарро барои истифода омода таъмин мекунад fileс пешакӣ танзим карда шудааст, ки дар зер нишон дода шудааст:
        HAL бо пойгоҳи пешфарз бо Arm® core SysTick оғоз карда шуд. SysTick ISR бо мақсади HAL_Delay() амалӣ карда шудааст.
        Шарҳ: Ҳангоми нусхабардории лоиҳаи мавҷуда ба ҷои дигар, боварӣ ҳосил кунед, ки ҳамаи роҳҳои дохилшуда нав карда мешаванд.
  2. Ба лоиҳаи корбар нармафзори миёнаравии заруриро илова кунед (ихтиёрӣ)
    Барои муайян кардани манбаъ fileс ба лоиха илова карда шавад file рӯйхат, ба ҳуҷҷатҳое, ки барои ҳар як миёнаравӣ пешбинӣ шудаанд, муроҷиат кунед. Ба барномаҳо дар зери \Projects\STM32xxx_yyy\Applications\ муроҷиат кунед. (дар куҷо ба стеки миёнаравӣ, ба монанди ThreadX) ишора мекунад, то бидонед, ки кадом манбаъ files ва дохил роҳҳо бояд илова карда шаванд.
  3. Ҷузъҳои нармафзори нармафзорро танзим кунед
    Ҷузъҳои HAL ва миёнаравӣ маҷмӯи имконоти конфигуратсияи вақти сохтанро бо истифода аз макросҳои #define дар сарлавҳа эълоншуда пешниҳод мекунанд file. Конфигуратсияи шаблон file дар дохили ҳар як ҷузъ таъмин карда мешавад, ки бояд ба ҷузвдони лоиҳа нусхабардорӣ карда шавад (одатан конфигуратсия file xxx_conf_template.h ном дорад, ҳангоми нусхабардории он ба ҷузвдони лоиҳа калимаи _template бояд хориҷ карда шавад). Конфигуратсия file барои фаҳмидани таъсири ҳар як варианти конфигуратсия маълумоти кофӣ медиҳад. Маълумоти муфассал дар ҳуҷҷатҳои барои ҳар як ҷузъи пешниҳодшуда мавҷуд аст.
  4. Китобхонаи HAL-ро оғоз кунед
    Пас аз гузаштан ба барномаи асосӣ, рамзи барнома бояд ба HAL_Init() API занг занад, то китобхонаи HAL-ро оғоз кунад, ки вазифаҳои зеринро иҷро мекунад:
    • Конфигуратсияи пешакии хотираи флешдор ва афзалияти қатъи SysTick (тавассути макросҳои дар st m32wbaxx_hal_conf.h муайяншуда).
    • Конфигуратсияи SysTick барои тавлиди қатъ дар ҳар миллисония дар афзалияти қатъи SysTick TICK_INT_PRIO, ки дар stm32wbaxx_hal_conf.h муайян шудааст.
    • Танзими афзалияти гурӯҳи NVIC ба 0.
    • Даъвати функсияи бозгашти HAL_MspInit() дар корбари stm32wbaxx_hal_msp.c муайян шудааст file барои ба амал баровардани инициализацияи сахтафзори глобалии сатҳи паст.
  5. Соатҳои системаро танзим кунед
    Конфигуратсияи соати система тавассути занг задан ба ду API-и дар зер тавсифшуда анҷом дода мешавад:
    • HAL_RCC_OscConfig(): ин API осцилляторҳои дохилӣ ва беруниро танзим мекунад. Истифодабаранда як ё ҳама осцилляторҳоро танзим мекунад.
    • HAL_RCC_ClockConfig(): ин API манбаи соати система, таъхири хотираи флеш ва пешакии AHB ва APB-ро танзим мекунад.
  6. Перифериро оғоз кунед
    • Аввал функсияи канории HAL_PPP_MspInit -ро нависед. Ба таври зерин амал кунед:
      • Соати перифериро фаъол созед.
      • GPIO-ҳои перифериро танзим кунед.
      • Канали DMA-ро танзим кунед ва қатъи DMA-ро фаъол созед (агар лозим бошад).
      • Қатъи перифериро фаъол созед (агар лозим бошад).
    • Агар лозим бошад, stm32xxx_it.c-ро таҳрир кунед, то ба коркардкунандагони зарурии халалдор (периферӣ ва DMA) занг занед.
    • Функсияҳои пурраи бозгашти зангро нависед, агар истифодаи қатъи периферӣ ё DMA ба нақша гирифта шавад.
    • Дар корбари main.c file, initialize сохтори дастаки канории ва даъват функсияи HAL_PPP_Init () барои initialize перифери.
  7. Барнома таҳия кунед
    • Дар ин сtagд, система омода аст ва таҳияи рамзи барномаи корбар метавонад оғоз шавад.
    • HAL API-ҳои интуитивӣ ва барои истифода омодаро барои танзими перифери таъмин мекунад. Он пурсиш, таваққуф ва модели барномасозии DMA-ро барои қонеъ кардани ҳама гуна талаботи барнома дастгирӣ мекунад. Барои тафсилоти бештар дар бораи чӣ гуна истифода бурдани ҳар як перифери, ба сарватманди собиқ муроҷиат кунедample маҷмӯи дар бастаи STM32CubeWBA MCU пешбинӣ шудааст.
      Огоҳӣ: Дар татбиқи пешфарз HAL, таймери SysTick ҳамчун базаи вақт истифода мешавад: он дар фосилаҳои муқаррарии вақт қатъҳоро тавлид мекунад. Агар HAL_Delay() аз раванди периферии ISR даъват карда шавад, боварӣ ҳосил кунед, ки қатъи SysTick нисбат ба қатъи перифералӣ афзалияти баландтар (аз ҷиҳати ададӣ камтар) дорад. Дар акси ҳол, раванди ISR зангзананда баста мешавад. Функсияҳое, ки ба конфигуратсияҳои пойгоҳи вақт таъсир мерасонанд, ҳамчун __заиф эълон карда мешаванд, то бекоркунӣ дар сурати татбиқи дигар дар корбар имконпазир гарданд. file (бо истифода аз таймери таъиноти умумӣ, масаланample, ё манбаи дигари вақт). Барои тафсилоти бештар, ба HAL_TimeBase собиқ муроҷиат кунедampле.

Барномаи LL
Ин бахш қадамҳои лозимиро барои сохтани барномаи фармоишии LL бо истифода аз STM32CubeWBA тавсиф мекунад.

  1. Лоиҳа эҷод кунед
    • Барои сохтани лоиҳаи нав, ё аз лоиҳаи Templates_LL, ки барои ҳар як тахта дар зери \Лоиҳаҳо\ пешбинӣ шудааст, оғоз кунед. \Templates_LL, ё аз ягон лоиҳаи дастрас дар зери \Projects\ \Масamples_LL ( ба номи тахта ишора мекунад, ба монанди NUCLEO-WBA32CG).
    • Лоиҳаи Шаблон вазифаи ҳалқаи асосии холиро таъмин мекунад, ки барои фаҳмидани танзимоти лоиҳа барои STM32CubeWBA нуқтаи ибтидоии хуб аст. Хусусиятҳои асосии шаблон инҳоянд:
      • Он дорои рамзҳои ибтидоии драйверҳои LL ва CMSIS мебошад, ки маҷмӯи ҳадди ақали ҷузъҳо барои таҳияи код дар тахтаи додашуда заруранд.
      • Он дорои роҳҳои дохилшуда барои ҳама ҷузъҳои лозимии нармафзори миёнаравӣ мебошад.
      • Он дастгоҳи силсилаи дастгирӣшавандаи STM32WBA-ро интихоб мекунад ва ба конфигуратсияи дурусти драйверҳои CMSIS ва LL имкон медиҳад.
      • Он корбариро барои истифода омода таъмин мекунад files, ки ба таври зерин пешакӣ танзим карда шудаанд:
        ◦ main.h: қабати абстраксияи таърифи LED ва USER_BUTTON.
        ◦ main.c: Конфигуратсияи соати система барои басомади ҳадди аксар.
  2. Лоиҳаи мавҷударо ба тахтаи дигар интиқол диҳед
    Барои дастгирии лоиҳаи мавҷуда дар тахтаи мақсадноки дигар, аз лоиҳаи Templates_LL оғоз кунед, ки барои ҳар як тахта пешбинӣ шудааст ва дар зери \Лоиҳаҳо\ дастрас аст. \Templates_LL.
    • LL-ро интихоб кунедampле: Барои пайдо кардани тахтае, ки дар он LL собиқampLes ҷойгир карда шудаанд, ба рӯйхати LL-и собиқ муроҷиат кунедamples STM32CubeProjectsList.html.
  3. Порти LL собиқampле:
    • Папкаи Templates_LL-ро нусхабардорӣ/часбонед - барои нигоҳ доштани манбаи ибтидоӣ - ё бевосита лоиҳаи Temp lates_LL-и мавҷударо навсозӣ кунед.
    • Сипас интиқол асосан аз иваз кардани Templates_LL иборат аст fileс аз ҷониби Examples_LL лоиҳаи мақсаднок.
    • Ҳама қисмҳои мушаххаси тахтаро нигоҳ доред. Бо сабабҳои возеҳӣ, қисмҳои мушаххаси тахта бо мушаххас нишон дода шудаанд tags:

      STMicroelectronics-STM32WBA-Силсилаи-Оғоз-расм-7

    • Ҳамин тариқ, қадамҳои асосии интиқол инҳоянд:
      • stm32wbaxx_it.h -ро иваз кунед file
      • stm32wbaxx_it.c -ро иваз кунед file
      • Иваз кардани асосии.h file ва онро навсозӣ кунед: Таърифи LED ва тугмаҳои корбарии қолаби LL-ро дар зери конфигуратсияи мушаххаси BOARD нигоҳ доред tags.
      • Иваз кардани асосии.c file ва онро навсозӣ кунед:
    • Конфигуратсияи соати функсияи қолаби SystemClock_Config() LL-ро дар зери конфигуратсияи мушаххаси BOARD нигоҳ доред tags.
    • Вобаста аз таърифи LED, ҳар як ҳодисаи LDx-ро бо LDy-и дигаре, ки дар main.h мавҷуд аст, иваз кунед file.
    • Бо ин дигаргуниҳо, собиқampле акнун дар тахтаи максаднок кор мекунад

Барномаҳои амниятӣ
Ин баста бо замимаҳои амниятӣ дода мешавад.

Барномаҳои SBSFU

  • SBSFU як ҳалли решаи эътимодро пешниҳод мекунад, аз ҷумла функсияҳои Secure Boot ва Secure Firmware Update (дар асоси MCUboot).
  • Маҳлул пеш аз иҷрои барнома истифода мешавад.
  • Ҳалли як собиқро таъмин мекунадample як хидмати бехатар (гузариши GPIO), ки аз барномаи ғайримахфӣ ҷудо карда шудааст. Замимаи бехатар дар вақти корӣ ҳоло ҳам метавонад ин ҳалли худро истифода барад.

Барномаҳои TFM
TFM як ҳалли решаи эътимодро пешниҳод мекунад, аз ҷумла функсияҳои пурборкунии бехатар ва навсозии нармафзори бехатар
(дар асоси MCUboot). Маҳлул пеш аз иҷрои барнома истифода мешавад. Ҳалли хидматҳои бехатари TFM-ро пешниҳод мекунад, ки аз барномаи ғайриамнӣ ҷудо шудаанд. Замимаи бехатар дар вақти корӣ ҳоло ҳам метавонад ин ҳалли худро истифода барад.

Барномаҳои RF
Замимаи RF дар ин ёддошти барнома тавсиф шудааст: Сохтани замимаҳои бесим бо микроконтроллерҳои силсилаи STM32WBA (AN5928).

Гирифтани навсозиҳои STM32CubeWBA
Варақаҳои охирини бастаи STM32CubeWBA MCU ва часпакҳо аз STM32WBA Series дастрасанд. Онҳоро аз тугмаи CHECK FOR UPDATE дар STM32CubeMX гирифтан мумкин аст. Барои тафсилоти бештар, ба Қисми 3-и дастури корбар STM32CubeMX барои конфигуратсияи STM32 ва тавлиди коди C (UM1718) муроҷиат кунед.

Саволҳои зиёд такрормешуда

  • Кай ман бояд ба ҷои драйверҳои LL HAL -ро истифода барам?
    • Драйверҳои HAL API-ҳои сатҳи баланд ва ба функсионалӣ нигаронидашударо бо сатҳи баланди интиқол пешниҳод мекунанд. Мушкилии маҳсулот ё периферӣ барои корбарони ниҳоӣ пинҳон аст.
    • Драйверҳои LL API-ҳои сатҳи пасти регистрро бо оптимизатсияи беҳтар, вале камтар интиқолшаванда пешниҳод мекунанд. Онҳо дониши амиқи мушаххасоти маҳсулот ё IP-ро талаб мекунанд.
  • Оё ман метавонам ронандагони HAL ва LL-ро якҷоя истифода барам? Агар ман тавонам, чӣ гуна маҳдудиятҳо вуҷуд доранд?
    • Ҳам драйверҳои HAL ва ҳам LL-ро истифода бурдан мумкин аст. HAL-ро барои марҳилаи оғозкунии IP истифода баред ва сипас амалиёти I/O-ро бо драйверҳои LL идора кунед.
    • Фарқи асосии байни HAL ва LL дар он аст, ки драйверҳои HAL талаб мекунанд, ки дастаҳоро барои идоракунии амалиёт созанд ва истифода баранд, дар ҳоле ки драйверҳои LL мустақиман дар регистрҳои периферӣ кор мекунанд. Собиқamples_MIX собиқample чӣ тавр омехта кардани HAL ва LL-ро нишон медиҳад.
  • API-ҳои ибтидоии LL чӣ гуна фаъол карда мешаванд?
    • Таърифи API-ҳои ибтидоии LL ва захираҳои алоқаманд (Сохторҳо, литералҳо ва прототипҳо) бо гузариши компиляцияи USE_FULL_LL_DRIVER шарт карда мешавад.
    • Барои истифодаи API-ҳои ибтидоии LL, ин гузаришро ба протсессори компилятори асбобҳо илова кунед.
  • Чӣ тавр STM32CubeMX кодро дар асоси нармафзори дарунсохт тавлид карда метавонад?
    STM32CubeMX дорои дониши дарунсохт дар бораи микроконтроллерҳои STM32, аз ҷумла таҷҳизоти периферӣ ва нармафзори онҳо мебошад, ки имкон медиҳад ба корбар пешниҳоди графикӣ ва тавлиди *.h ё *.c fileс дар асоси конфигуратсияи корбар.

ОГОҲИИ МУҲИМ – ДИККАТ ХОНЕД

  • STMicroelectronics NV ва филиалҳои он («СТ») ҳуқуқ доранд, ки дар вақти дилхоҳ бидуни огоҳӣ ба маҳсулоти ST ва/ё ба ин ҳуҷҷат тағйирот, ислоҳ, такмил, такмил ва такмил ворид кунанд. Харидорон бояд пеш аз додани фармоиш маълумоти охирини дахлдорро дар бораи маҳсулоти ST дастрас кунанд. Маҳсулоти ST мувофиқи шартҳо ва шартҳои фурӯши ST дар лаҳзаи тасдиқи фармоиш фурӯхта мешавад.
  • Харидорон барои интихоб, интихоб ва истифодаи маҳсулоти СТ танҳо масъуланд ва ST барои кӯмак дар барнома ё тарҳрезии маҳсулоти харидорон масъулият ба дӯш намегирад.
  • Аз ҷониби ST дар ин ҷо ягон иҷозатнома ба ягон ҳуқуқи моликияти зеҳнӣ дода намешавад.
  • Фурӯши дубораи маҳсулоти СТ бо шартҳои гуногун аз маълумоти дар ин ҷо овардашуда ҳама гуна кафолати аз ҷониби ST барои чунин маҳсулот додашударо бекор мекунад.
  • ST ва логотипи ST тамғаҳои тиҷоратии ST мебошанд. Барои маълумоти иловагӣ дар бораи тамғаҳои молии ST, ба www.st.com/trademarks муроҷиат кунед. Ҳама номҳои маҳсулот ё хидмати дигар моликияти соҳибони мувофиқ мебошанд.
  • Маълумот дар ин ҳуҷҷат маълумотеро, ки қаблан дар ҳама версияҳои қаблии ин ҳуҷҷат дода шуда буданд, иваз мекунад ва иваз мекунад.
  • © 2023 STMicroelectronics – Ҳама ҳуқуқҳо ҳифз шудаанд

Ҳуҷҷатҳо / Сарчашмаҳо

Оғози Силсилаи STMicroelectronics STM32WBA [pdf] Дастури корбар
Силсилаи STM32WBA Оғоз, Оғоз, Оғоз

Иқтибосҳо

Назари худро гузоред

Суроғаи почтаи электронии шумо нашр намешавад. Майдонҳои зарурӣ қайд карда шудаанд *