ST-ЛОГАТЫТ

Мікракантролеры STM32WL3x

STM32WL3x-Мікракантролеры-ПРАДУКТ

Інструкцыя па ўжыванні прадукту

  • Пакет STM32CubeWL3 уключае API нізкага ўзроўню (LL) і ўзроўню апаратнай абстракцыі (HAL), якія ахопліваюць апаратнае забеспячэнне мікракантролера.
  • Ён таксама забяспечвае такія кампаненты прамежкавага праграмнага забеспячэння, як ядро ​​SigfoxTM, FatFS і FreeRTOS.
  • Пакет пастаўляецца з эксampфайлы і прыкладанні для лёгкай рэалізацыі.
  • Архітэктура STM32CubeWL3 пабудавана вакол трох узроўняў: прыкладанняў, HAL і LL.
  • API HAL і LL ахопліваюць шырокі спектр патрабаванняў прыкладанняў.
  • HAL прапануе асноўнае выкарыстанне перыферыйных прыладamples, а LL забяспечвае працэдуры нізкага ўзроўню.
  • Гэты ўзровень уключае пакет падтрымкі платы (BSP) і падузроўні HAL.
  • BSP прапануе API для апаратных кампанентаў на платах, у той час як HAL забяспечвае асноўнае выкарыстанне перыферыйных прыладampлес.
  • Драйверы BSP звязваюць драйверы кампанентаў з пэўнымі платамі, палягчаючы перанос на іншае абсталяванне.
  • STM32CubeWL3 HAL і LL узаемадапаўняюць адзін аднаго і ахопліваюць шырокі спектр патрабаванняў прымянення.
  • Карыстальнікі могуць выкарыстоўваць гэтыя API для эфектыўнага ўзаемадзеяння з абсталяваннем мікракантролера.

Уводзіны

STM32Cube - гэта арыгінальная ініцыятыва STMicroelectronics па значнаму павышэнню прадукцыйнасці дызайнера за кошт скарачэння высілкаў, часу і выдаткаў на распрацоўку. STM32Cube ахоплівае ўвесь партфель STM32. STM32Cube ўключае ў сябе:

STM32Cube ўключае ў сябе:

  • Набор зручных інструментаў распрацоўкі праграмнага забеспячэння для ахопу распрацоўкі праекта ад задумы да рэалізацыі, сярод якіх:
    • STM32CubeMX, графічны інструмент канфігурацыі праграмнага забеспячэння, які дазваляе аўтаматычна генераваць код ініцыялізацыі C з дапамогай графічных майстроў
    • STM32CubeIDE, універсальны інструмент распрацоўкі з перыферыйнай канфігурацыяй, генерацыяй кода, кампіляцыяй кода і функцыямі адладкі
    • STM32CubeCLT, комплексны набор інструментаў каманднага радка з кампіляцыяй кода, праграмаваннем платы і функцыямі адладкі
    • STM32CubeProgrammer (STM32CubeProg), інструмент праграмавання, даступны ў графічным і камандным радку версіях
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), магутныя інструменты маніторынгу для тонкай налады паводзін і прадукцыйнасці прыкладанняў STM32 у рэжыме рэальнага часу
  • Пакеты STM32Cube MCU і MPU, комплексныя платформы ўбудаванага праграмнага забеспячэння, спецыфічныя для кожнай серыі мікракантролера і мікрапрацэсара (напрыклад, STM32CubeWL3 для лінейкі прадуктаў STM32WL3x), якія ўключаюць у сябе:
    • Узровень апаратнай абстракцыі STM32Cube (HAL), які забяспечвае максімальную пераноснасць у партфелі STM32
    • Нізкаслойныя API STM32Cube, якія забяспечваюць найлепшую прадукцыйнасць і адбітак з высокай ступенню кантролю карыстальніка над абсталяваннем
    • Узгоднены набор кампанентаў прамежкавага праграмнага забеспячэння, такіх як ядро ​​FreeRTOS™, FatFS і Sigfox™
    • Усе ўбудаваныя праграмныя ўтыліты з поўным наборам перыферыйных і прыкладных прampлес
  • Пакеты пашырэння STM32Cube, якія ўтрымліваюць убудаваныя праграмныя кампаненты, якія дапаўняюць функцыянальныя магчымасці MCU і MPU STM32Cube з дапамогай:
    • Пашырэнні прамежкавага праграмнага забеспячэння і прыкладныя пласты
    • ExampLes, які працуе на некаторых канкрэтных платах распрацоўшчыкаў STMicroelectronics
  • Гэта кіраўніцтва карыстальніка апісвае, як пачаць працу з пакетам STM32CubeWL3 MCU.

Раздзел 2 апісвае асноўныя функцыі STM32CubeWL3, а раздзел 3 дае большview яго архітэктуры і структуры пакета MCU.

Агульная інфармацыя

  • STM32CubeWL3 запускае дэманстрацыйныя прыкладанні з частатой ніжэй ГГц, у тым ліку двайковыя файлы Sigfox™, на мікракантролерах STM32WL3x, заснаваных на працэсары Arm® Cortex®‑M0+.
  • Мікракантролеры STM32WL3x убудоўваюць сучасную радыёчастотную перыферыю STMicroelectronics, сумяшчальную з суб-Ггц, аптымізаваную для звышнізкага энергаспажывання і выдатную прадукцыйнасць радыё, для беспрэцэдэнтнага тэрміну службы батарэі.

Заўвага: Arm - зарэгістраваная гандлёвая марка Arm Limited (або яе даччыных кампаній) у ЗША і/або ў іншых месцах.

STM32WL3x-Мікракантролеры-FIG-1

Асноўныя функцыі STM32CubeWL3

  • Пакет STM32CubeWL3 MCU працуе на 32-бітных мікракантролерах STM32 на аснове працэсара Arm® Cortex®‑M0+. Ён збірае ў адным пакеце ўсе агульныя кампаненты ўбудаванага праграмнага забеспячэння, неабходныя для распрацоўкі прыкладання для Лінейка прадуктаў STM32WL3x мікракантролеры.
  • Пакет уключае API нізкага ўзроўню (LL) і ўзроўню апаратнай абстракцыі (HAL), якія ахопліваюць абсталяванне мікракантролера, разам з шырокім наборам эксampякія працуюць на платах STMicroelectronics. API HAL і LL даступны ў ліцэнзіі BSD з адкрытым зыходным кодам для зручнасці карыстальнікаў. Ён таксама ўключае кампаненты прамежкавага праграмнага забеспячэння ядра Sigfox™, FatFS і FreeRTOS™.
  • Пакет STM32CubeWL3 MCU таксама змяшчае некалькі прыкладанняў і дэманстрацый, якія рэалізуюць усе кампаненты прамежкавага праграмнага забеспячэння.
  • Схема кампанентаў пакета STM32CubeWL3 MCU паказана на малюнку 1.

STM32WL3x-Мікракантролеры-FIG-2

Архітэктура STM32CubeWL3 скончанаview

  • Рашэнне STM32CubeWL3 MCU Package пабудавана вакол трох незалежных узроўняў, якія лёгка ўзаемадзейнічаюць, як апісана на малюнку 2.

STM32WL3x-Мікракантролеры-FIG-3

Узровень 0
Гэты ўзровень падзелены на тры падузроўні:

  • Пакет падтрымкі платы (BSP).
  • Узровень апаратнай абстракцыі (HAL):
    • HAL драйвер перыферыйных прылад
    • Драйверы нізкага ўзроўню
  • Базавае выкарыстанне перыферыйных прылад, напрampлес.

Пакет падтрымкі платы (BSP)
Гэты ўзровень прапануе набор API адносна апаратных кампанентаў апаратных плат (такіх як святлодыёды, кнопкі і драйверы COM). Ён складаецца з дзвюх частак:

кампанент:

  • Гэта драйвер адносна знешняй прылады на плаце, а не STM32. Драйвер кампанентаў забяспечвае спецыяльныя API для знешніх кампанентаў драйвера BSP і можа быць перанесены на любую іншую плату.
    • Драйвер BSP:
  • Гэта дазваляе звязваць драйверы кампанентаў з пэўнай платай і забяспечвае набор зручных API. Правіла наймення API - BSP_FUNCT_Action().
  • Example: BSP_LED_Init(), BSP_LED_On()

BSP заснаваны на модульнай архітэктуры, якая дазваляе лёгка пераносіць на любое абсталяванне, проста ўкараняючы працэдуры нізкага ўзроўню.

Узровень апаратнай абстракцыі (HAL) і нізкі ўзровень (LL)

STM32CubeWL3 HAL і LL дапаўняюць адзін аднаго і ахопліваюць шырокі спектр патрабаванняў да прымянення:

  • Драйверы HAL прапануюць высокаўзроўневыя функцыянальна-арыентаваныя вельмі партатыўныя API. Яны хаваюць MCU і перыферыйную складанасць ад канчатковага карыстальніка.
    Драйверы HAL забяспечваюць агульныя шматэкземплярныя функцыянальна-арыентаваныя API, якія спрашчаюць рэалізацыю карыстальніцкіх прыкладанняў, забяспечваючы гатовыя да выкарыстання працэсы. Напрыкладample, для камунікацыйных перыферыйных прылад (I2C, UART і іншых), ён забяспечвае API, якія дазваляюць ініцыялізаваць і канфігураваць перыферыйныя прылады, кіраваць перадачай даных на аснове апытання, перапынення або працэсу DMA і апрацоўваць памылкі сувязі, якія могуць узнікнуць падчас сувязі. API драйвера HAL дзеляцца на дзве катэгорыі:
    • Універсальныя API, якія забяспечваюць агульныя і агульныя функцыі для ўсіх мікракантролераў серыі STM32.
    • API-інтэрфейсы пашырэння, якія забяспечваюць спецыяльныя і настроеныя функцыі для пэўнага сямейства або пэўнага нумара дэталі.
  • API нізкага ўзроўню забяспечваюць API нізкага ўзроўню на ўзроўні рэгістра, з лепшай аптымізацыяй, але меншай партатыўнасцю.
    Яны патрабуюць глыбокіх ведаў пра спецыфікацыі MCU і перыферыйных прылад.
    Драйверы LL распрацаваны, каб прапанаваць хуткі, лёгкі, арыентаваны на экспертаў ўзровень, які бліжэй да абсталявання, чым HAL. У адрозненне ад HAL, API LL не прадугледжаны для перыферыйных прылад, дзе аптымізаваны доступ не з'яўляецца ключавой функцыяй, або для тых, якія патрабуюць цяжкай канфігурацыі праграмнага забеспячэння або складанага стэка верхняга ўзроўню.
    Асаблівасці драйвераў LL:
  • Набор функцый для ініцыялізацыі асноўных перыферыйных функцый у адпаведнасці з параметрамі, указанымі ў структурах даных.
  • Набор функцый для запаўнення структур даных ініцыялізацыі значэннямі скіду, якія адпавядаюць кожнаму полю.
  • Функцыя перыферыйнай дэініцыялізацыі (перыферыйныя рэгістры аднаўляюцца да значэнняў па змаўчанні).
  • Набор убудаваных функцый для прамога і атамарнага доступу да рэгістра.
  • Поўная незалежнасць ад HAL і магчымасць выкарыстання ў аўтаномным рэжыме (без драйвераў HAL).
  • Поўны ахоп падтрымоўваных перыферыйных функцый.

Базавае выкарыстанне перыферыйных прылад, напрampлес
Гэты пласт ахоплівае эксampфайлы, пабудаваныя на перыферыйных прыладах STM32 з выкарыстаннем толькі рэсурсаў HAL і BSP.
Заўвага: Дэманстрацыя эксamples таксама даступныя, каб паказаць больш складаныя example сцэнарыі з пэўнымі перыферыйнымі прыладамі, такімі як MRSUBG і LPAWUR.

Узровень 1
Гэты ўзровень падзелены на два падузроўні:

  • Кампаненты прамежкавага праграмнага забеспячэння
  • Exampфайлы на аснове кампанентаў прамежкавага праграмнага забеспячэння

Кампаненты прамежкавага праграмнага забеспячэння
Прамежкавае праграмнае забеспячэнне - гэта набор бібліятэк, якія ахопліваюць ядро ​​FreeRTOS™, FatFS і бібліятэку пратаколаў Sigfox™.
Гарызантальнае ўзаемадзеянне паміж кампанентамі гэтага ўзроўню ажыццяўляецца шляхам выкліку прадстаўленых API.
Вертыкальнае ўзаемадзеянне з драйверамі нізкага ўзроўню ажыццяўляецца з дапамогай спецыяльных зваротных выклікаў і статычных макрасаў, рэалізаваных у інтэрфейсе сістэмнага выкліку бібліятэкі.
Асноўныя характарыстыкі кожнага кампанента прамежкавага праграмнага забеспячэння наступныя:

  • Ядро FreeRTOS™: рэалізуе аперацыйную сістэму рэальнага часу (RTOS), прызначаную для ўбудаваных сістэм.
  • Sigfox™: укараняе бібліятэку пратаколаў Sigfox™, сумяшчальную з сеткай пратаколаў Sigfox™, і ўключае ў сябе бібліятэку пратаколаў радыёчастотнага тэставання для тэставання на інструментах RF Sigfox™.
  • FatFS: рэалізуе агульны FAT file сістэмны модуль.

Exampфайлы на аснове кампанентаў прамежкавага праграмнага забеспячэння

  • Кожны кампанент прамежкавага праграмнага забеспячэння пастаўляецца з адным або некалькімі examples, таксама званыя прыкладаннямі, якія паказваюць, як ім карыстацца.
  • Інтэграцыя прampтаксама прадастаўляюцца файлы, якія выкарыстоўваюць некалькі кампанентаў прамежкавага праграмнага забеспячэння.

Пакет прашыўкі STM32CubeWL3 скончаныview

Падтрымліваюцца прылады і абсталяванне STM32WL3x

  • STM32Cube прапануе вельмі пераносны апаратны ўзровень абстракцыі (HAL), пабудаваны вакол агульнай архітэктуры. Гэта дазваляе прынцып нарошчвання слаёў, напрыклад, выкарыстанне ўзроўню прамежкавага праграмнага забеспячэння для рэалізацыі іх функцый, не ведаючы, у глыбіні, які MCU выкарыстоўваецца. Гэта паляпшае шматразовае выкарыстанне кода бібліятэкі і забяспечвае лёгкую пераноснасць на іншыя прылады.
  • Акрамя таго, з яго шматслаёвай архітэктурай, STM32CubeWL3 прапануе поўную падтрымку ўсёй лінейкі прадуктаў STM32WL3x.
  • Карыстальнік павінен толькі вызначыць правільны макрас у stm32wl3x.h.
  • Табліца 1 паказвае макрас для вызначэння ў залежнасці ад выкарыстоўванай прылады лінейкі прадуктаў STM32WL3x. Гэты макрас таксама павінен быць вызначаны ў прэпрацэсары кампілятара.

Табліца 1. Макрасы для лінейкі прадуктаў STM32WL3x

Макрас, вызначаны ў STM32WL3X.h Прылады лінейкі STM32WL3x
stm32wl3x Мікракантролеры STM32WL30xx Мікракантролеры STM32WL31xx Мікракантролеры STM32WL33xx

Табліца 2. Платы для лінейкі прадуктаў STM32WL3x

Савет Плата STM32WL3x падтрымлівае прылады
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

Пакет STM32CubeWL3 MCU можа працаваць на любым сумяшчальным абсталяванні. Карыстальнікі абнаўляюць драйверы BSP, каб перанесці прадастаўлены exampфайлы на сваіх платах, калі яны маюць аднолькавыя апаратныя функцыі (напрыклад, святлодыёды або кнопкі).

Пакет прашыўкі скончаныview

  • Рашэнне STM32CubeWL3 MCU Package прадастаўляецца ў адной упакоўцы zip са структурай, паказанай на малюнку 3.

STM32WL3x-Мікракантролеры-FIG-4

Увага: Карыстальнік не павінен змяняць кампаненты fileс. Карыстальнік можа рэдагаваць толькі крыніцы \Projects. Для кожнай дошкі камплект эксamples пастаўляецца з загадзя сканфігураванымі праектамі для інструментальных ланцугоў EWARM, MDK-ARM і STM32CubeIDE.
На малюнку 4 паказана структура праекта для плат NUCLEO-WL33CCx.

STM32WL3x-Мікракантролеры-FIG-5

Былыampфайлы класіфікуюцца ў залежнасці ад узроўню STM32CubeWL3, да якога яны прымяняюцца. Яны называюцца наступным чынам:

  • Узровень 0 прampлес называюцца Exampлес, выпрamples_LL і Examples_MIX. Яны выкарыстоўваюць адпаведна драйверы HAL, драйверы LL і сумесь драйвераў HAL і LL без якіх-небудзь кампанентаў прамежкавага праграмнага забеспячэння. Дэманстрацыя эксampлес таксама даступныя.
  • Узровень 1 прampфайлы называюцца прыкладаннямі. Яны забяспечваюць тыповыя выпадкі выкарыстання кожнага кампанента прамежкавага праграмнага забеспячэння.

Любое прыкладанне ўбудаванага праграмнага забеспячэння для дадзенай платы можа быць хутка створана з дапамогай шаблонных праектаў, даступных у каталогах Templates і Templates_LL.
Exampлес, выпрamples_LL і Examples_MIX маюць такую ​​ж структуру:

  • Папка \Inc, якая змяшчае ўвесь загаловак files.
  • Папка \Src, якая змяшчае зыходны код.
  • Папкі \EWARM, \MDK-ARM і \STM32CubeIDE, якія змяшчаюць загадзя сканфігураваны праект для кожнай ланцужкі інструментаў.
  • readme.md і readme.html, якія апісваюць exampпаводзіны і неабходнае асяроддзе, каб прымусіць яго працаваць.

Пачатак працы з STM32CubeWL3

Запуск першага эксample
У гэтым раздзеле тлумачыцца, як проста запусціць першы эксample ў STM32CubeWL3. У якасці ілюстрацыі ён выкарыстоўвае генерацыю простага святлодыёднага тумблера, які працуе на плаце NUCLEO-WL33CC1:

  1. Спампуйце пакет MCU STM32CubeWL3.
  2. Распакуйце яго або запусціце праграму ўстаноўкі, калі ёсць, у каталог па вашаму выбару.
  3. Не змяняйце структуру пакета, паказаную на малюнку 3. Структура пакета прашыўкі STM32CubeWL3. Звярніце ўвагу, што таксама рэкамендуецца скапіяваць пакет у месцы, блізкім да каранёвага тома (гэта значыць C:\ST або G:\Tests), паколькі некаторыя IDE сутыкаюцца з праблемамі, калі шлях занадта доўгі.

Як запусціць HAL example
Перад загрузкай і запускам example, настойліва рэкамендуецца прачытаць example readme file для любой канкрэтнай канфігурацыі.

  1. Перайдзіце да \Projects\NUCLEO-WL33CC\Exampлес.
  2. Адкрыйце папкі \GPIO, затым \GPIO_EXTI.
  3. Адкрыйце праект з упадабанай ланцугом інструментаў. Хуткі разview аб тым, як адкрыць, стварыць і запусціць эксampфайл з падтрымоўванымі ланцужкамі інструментаў прыведзены ніжэй.
  4. Адбудуйце ўсё files і загрузіце малюнак у мэтавую памяць.
  5. Запусціце былуюampле. Для больш падрабязнай інфармацыі звярніцеся да выхample readme file.

Каб адкрыць, стварыць і запусціць эксampз кожнай з падтрымоўваных ланцугоў інструментаў выканайце наступныя дзеянні:

  • EWARM:
    1. Пад эксamples, адкрыйце падпапку \EWARM.
    2. Запусціце працоўную вобласць Project.eww (назва працоўнай вобласці можа змяніцца з ранейшай, напрыкладampда іншага).
    3. Адбудуйце ўсё files: [Праект]>[Перабудаваць усё].
    4. Загрузіце выяву праекта: [Праект]>[Адладка].
    5. Запусціце праграму: [Debug]>[Go (F5)].
  • MDK-ARM:
    1. Пад эксamples, адкрыйце падпапку \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]>[Імпарт], абярыце [Агульныя]>[Існуючыя праекты ў працоўную вобласць], а затым націсніце [Далей].
    4. Перайдзіце ў каталог працоўнай прасторы STM32CubeIDE і абярыце праект.
    5. Аднавіць увесь праект files: Выберыце праект у акне Правадыра праектаў, затым націсніце меню [Праект]>[Стварыць праект].
    6. Запусціце праграму: [Run]>[Debug (F11)].

Распрацоўка індывідуальнага прыкладання

Выкарыстанне STM32CubeMX для распрацоўкі або абнаўлення прыкладання

  • У пакеце STM32Cube MCU амаль усе праекты, выклampфайлы ствараюцца з дапамогай інструмента STM32CubeMX для ініцыялізацыі сістэмы, перыферыйных прылад і прамежкавага праграмнага забеспячэння.

Прамое выкарыстанне існуючага праекта напрampфайл з інструмента STM32CubeMX патрабуе STM32CubeMX 6.12.0 або вышэй:

  • Пасля ўстаноўкі STM32CubeMX адкрыйце і пры неабходнасці абнавіце прапанаваны праект.
    Самы просты спосаб адкрыць існуючы праект - двойчы пстрыкнуць па *.ioc file так што STM32CubeMX аўтаматычна адкрывае праект і яго зыходны код fileс. STM32CubeMX стварае зыходны код ініцыялізацыі такіх праектаў.
  • Асноўны зыходны код прыкладання змяшчаецца ў каментарах «ПАЧАТОК КОДУ КАРЫСТАЛЬНІКА» і «КАНЕЦ КОДА КАРЫСТАЛЬНІКА». Калі выбар і налады перыферыйнага абсталявання зменены, STM32CubeMX абнаўляе частку кода ініцыялізацыі, захоўваючы зыходны код асноўнага прыкладання.
  • Каб распрацаваць уласны праект з STM32CubeMX, выканайце пакрокавы працэс:
    1. Наладзьце ўсё неабходнае ўбудаванае праграмнае забеспячэнне з дапамогай вырашэння канфліктаў распіноўкі, памочніка па наладцы дрэва гадзіннікаў, калькулятара энергаспажывання і ўтыліты, якая выконвае канфігурацыю перыферыйных прылад MCU (напрыклад, GPIO або USART).
    2. Стварыце код ініцыялізацыі C на аснове абранай канфігурацыі. Гэты код гатовы да выкарыстання ў некалькіх асяроддзях распрацоўкі. Код карыстальніка захоўваецца пры наступнай генерацыі кода.
      Для атрымання дадатковай інфармацыі аб STM32CubeMX звярніцеся да кіраўніцтва карыстальніка STM32CubeMX для стварэння кода C канфігурацыі і ініцыялізацыі STM32 (UM1718).

Прыкладання для драйвераў
Дадатак HAL
У гэтым раздзеле апісваюцца крокі, неабходныя для стварэння карыстацкага прыкладання HAL з дапамогай STM32CubeWL3

  1. Стварыце праект
    Каб стварыць новы праект, пачніце альбо з шаблоннага праекта, які прадстаўлены для кожнай дошкі ў раздзеле \Праекты\ \Шаблоны або з любога даступнага праекта ў \Праекты\ \Напрampфайлы або \Праекты\ \Прыкладанні (дзе адносіцца да назвы дошкі).
    Праект Template забяспечвае пустую функцыю асноўнага цыклу. Аднак гэта добрая адпраўная кропка для разумення налад праекта STM32CubeWL3. Шаблон мае наступныя характарыстыкі:
    • Ён змяшчае зыходны код HAL, драйверы CMSIS і BSP, якія ўяўляюць сабой мінімальны набор кампанентаў, неабходных для распрацоўкі кода на дадзенай плаце.
    • Ён змяшчае ўключаныя шляхі для ўсіх кампанентаў прашыўкі.
    • Ён вызначае падтрымоўваныя прылады лінейкі прадуктаў STM32WL3x, што дазваляе правільна канфігураваць драйверы CMSIS і HAL.
    • Гэта гатовы да выкарыстання карыстальнік fileпапярэдне настроены, як паказана ніжэй:
    • HAL ініцыялізуецца з базай часу па змаўчанні з дапамогай ядра Arm® SysTick.
    • SysTick ISR рэалізаваны для мэты HAL_Delay().
    • Заўвага: пры капіраванні існуючага праекта ў іншае месца пераканайцеся, што ўсе ўключаныя шляхі абноўлены.
  2. Наладзьце кампаненты прашыўкі
    Кампаненты HAL і прамежкавага праграмнага забеспячэння прапануюць набор параметраў канфігурацыі падчас зборкі з выкарыстаннем макрасаў #define, аб'яўленых у загалоўку file. Канфігурацыя шаблону file змяшчаецца ў кожным кампаненце, які трэба скапіяваць у тэчку праекта (звычайна гэта канфігурацыя file называецца xxx_conf_template.h, фрагмент
    • шаблон трэба выдаліць пры капіраванні ў тэчку праекта). Канфігурацыя file дае дастаткова інфармацыі, каб зразумець уплыў кожнай опцыі канфігурацыі. Больш падрабязную інфармацыю можна знайсці ў дакументацыі для кожнага кампанента.
  3. Запусціце бібліятэку HAL
    Пасля пераходу да асноўнай праграмы код прыкладання павінен выклікаць API HAL_Init() для ініцыялізацыі бібліятэкі HAL, якая выконвае наступныя задачы:
    • Канфігурацыя папярэдняй выбаркі флэш-памяці і прыярытэту перапынення SysTick (праз макрасы, вызначаныя ў stm32 wl3x_hal_conf.h).
    • Канфігурацыя SysTick для генерацыі перапынення кожную мілісекунду з прыярытэтам перапынення SysTick TICK_INT_PRIO, вызначаным у stm32wl3x_hal_conf.h.
    • Ўстаноўка прыярытэту групы NVIC на 0.
    • Выклік функцыі зваротнага выкліку HAL_MspInit(), вызначанай у карыстальніку stm32wl3x_hal_msp.c file для выканання глабальнай апаратнай ініцыялізацыі нізкага ўзроўню.
  4. Наладзьце сістэмныя гадзіны
    Канфігурацыя сістэмнага гадзінніка выконваецца шляхам выкліку двух API, апісаных ніжэй:
    • HAL_RCC_OscConfig(): гэты API канфігуруе ўнутраны і знешні асцылятары. Карыстальнік выбірае
      наладзіць адзін або ўсе асцылятары.
    • HAL_RCC_ClockConfig(): гэты API канфігуруе крыніцу сістэмнага тактавага сігналу, затрымку флэш-памяці і папярэднія дзельшчыкі AHB і APB.
  5. Ініцыялізуйце перыферыю
    • Спачатку напішыце функцыю ініцыялізацыі перыферыйнага прылады. Дзейнічайце наступным чынам:
    • Уключыце перыферыйныя гадзіны.
    • Наладзьце перыферыйныя GPIO.
    • Наладзьце канал DMA і ўключыце перапыненне DMA (пры неабходнасці).
    • Уключыце перыферыйнае перапыненне (пры неабходнасці).
    • Пры неабходнасці адрэдагуйце stm32xxx_it.c, каб выклікаць неабходныя апрацоўшчыкі перапыненняў (перыферыйныя і DMA).
    • Працэс запісу выконвае функцыі зваротнага выкліку, калі плануецца выкарыстоўваць перыферыйнае перапыненне або DMA.
    • У карыстальніку main.c file, ініцыялізуйце перыферыйную структуру ручкі, затым выклічце функцыю ініцыялізацыі перыферыйнага прылады для ініцыялізацыі перыферыйнага прылады.
  6. Распрацаваць прыкладанне
    На гэтым сtage, сістэма гатовая і можа пачацца распрацоўка кода карыстальніцкага прыкладання.
    HAL забяспечвае інтуітыўна зразумелыя і гатовыя да выкарыстання API для канфігурацыі перыферыйнага прылады. Ён падтрымлівае апытанне, перапыненні і мадэль праграмавання DMA, каб задаволіць любыя патрабаванні прыкладання. Для атрымання больш падрабязнай інфармацыі аб выкарыстанні кожнай перыферыйнай прылады звярніцеся да rich exampнабор уваходзіць у пакет STM32CubeWL3 MCU.

Увага: У рэалізацыі HAL па змаўчанні таймер SysTick выкарыстоўваецца ў якасці часовай базы: ён генеруе перапыненні праз рэгулярныя прамежкі часу. Калі HAL_Delay() выклікаецца з перыферыйнага працэсу ISR, пераканайцеся, што перапыненне SysTick мае больш высокі прыярытэт (меншы лікава), чым перыферыйнае перапыненне. У адваротным выпадку працэс ISR абанента блакуецца. Функцыі, якія ўплываюць на канфігурацыі разгорткі часу, аб'яўлены як __слабыя, каб зрабіць магчымым перавызначэнне ў выпадку іншых рэалізацый у карыстальніцкім file (з выкарыстаннем таймера агульнага прызначэння, напрыкладample, або іншая крыніца часу). Для атрымання дадатковай інфармацыі звярніцеся да HAL_TimeBase exampле.

LL дадатак
У гэтым раздзеле апісваюцца крокі, неабходныя для стварэння карыстацкага прыкладання LL з дапамогай STM32CubeWL3.

  1. Стварыце праект
    Каб стварыць новы праект, альбо пачніце з праекта Templates_LL, які прадстаўлены для кожнай дошкі ў \Projects\ \Templates_LL або з любога даступнага праекта ў \Projects\ \Напрamples_ LL ( адносіцца да назвы платы, напрыклад NUCLEO-WL32CC33).
    Шаблон праекта забяспечвае пустую функцыю асноўнага цыкла, якая з'яўляецца добрай адпраўной кропкай для разумення налад праекта для STM32CubeWL3. Асноўныя характарыстыкі шаблону наступныя:
    • Ён змяшчае зыходныя коды драйвераў LL і CMSIS, якія ўяўляюць сабой мінімальны набор кампанентаў, неабходных для распрацоўкі кода на дадзенай плаце.
    • Ён змяшчае ўключаныя шляхі для ўсіх неабходных кампанентаў прашыўкі.
    • Ён выбірае падтрымоўваную прыладу лінейкі прадуктаў STM32WL3x і дазваляе правільна канфігураваць драйверы CMSIS і LL.
    • Ён забяспечвае гатовы да выкарыстання карыстальнік files, якія папярэдне настроены наступным чынам:
    • main.h: святлодыёд і ўзровень абстракцыі вызначэння USER_BUTTON.
    • main.c: канфігурацыя сістэмнага гадзінніка для максімальнай частаты.
  2. Порт LL exampль:
    • Скапіруйце/устаўце папку Templates_LL - каб захаваць першапачатковую крыніцу - або непасрэдна абнавіце існуючы праект Template s_LL.
    • Затым партаванне заключаецца ў асноўным у замене Templates_LL files па Exampмэтавы праект les_LL.
    • Захоўвайце ўсе спецыфічныя часткі дошкі. З меркаванняў яснасці, асобныя часткі дошкі пазначаны спецыфічным сцяжком tags:STM32WL3x-Мікракантролеры-FIG-6
    • Такім чынам, асноўныя этапы пераносу наступныя:
    • Заменіце stm32wl3x_it.h file.
    • Заменіце stm32wl3x_it.c file.
    • Замяніць main.h file і абнавіце яго: захавайце вызначэнне святлодыёда і кнопкі карыстальніка ў шаблоне LL у раздзеле КАНФІГУРАЦЫЯ ПЛАТЫ tags.
    • Замяніце асноўны.c file і абнавіць яго:
    • Захоўвайце канфігурацыю гадзінніка функцыі шаблона SystemClock_Config() LL у раздзеле BOARD SPECIFIC CONFIGURATION tags.
    • У залежнасці ад вызначэння святлодыёда, заменіце кожнае з'яўленне LDx іншым LDy, даступным у file асноўны.ч.
    • З гэтымі мадыфікацыямі эксample працуе на мэтавай дошцы.

ВЧ-прыкладанні, дэманстрацыі і прampлес
Розныя тыпы радыёчастотных прыкладанняў, дэманстрацыі і прampфайлы даступныя ў пакеце STM32CubeWL3.
Яны пералічаны ў двух раздзелах ніжэй.

Суб-Ггц напрampлес і дэманстрацыі
Гэтыя эксampдэманструюць асноўныя асаблівасці радыёперыферыйных прылад MRSUBG і LPAWUR. Гэтыя эксampфайлы даступныя пад:

  • Праекты\NUCLEO-WL33CC\Exampлес\МРСУБГ
  • Праекты\NUCLEO-WL33CC\Exampлес\ЛПАВУР
  • Праекты\NUCLEO-WL33CC\Дэманстрацыі\MRSUBG
  • Праекты\NUCLEO-WL33CC\Дэманстрацыі\LPAWUR

Кожны былыample або дэманстрацыя звычайна складаецца з дзвюх праграм, якія называюцца Tx і Rx, якія дзейнічаюць як перадатчык і прымач адпаведна:

Exampлес/МРСУБГ

  • MRSUBG_802_15_4: рэалізацыя фізічнага ўзроўню, вызначанага стандартам 802.15.4. Ён паказвае, як наладзіць радыё для перадачы або атрымання пакетаў 802.15.4.
  • MRSUBG_BasicGeneric: абмен базавымі пакетамі STM32WL3x MR_SUBG.
  • MRSUBG_Chat: простае прыкладанне, якое паказвае, як выкарыстоўваць Tx і Rx на адной прыладзе.
  • MRSUBG_DatabufferHandler: напрampфайл, які паказвае, як памяняць месцамі буфер дадзеных 0 і 1.
  • MRSUBG_Sequencer AutoAck: прыкладample, які аўтаматычна перадае і прымае пацверджанні пакетаў (ACK).
  • MRSUBG_WMBusSTD: абмен паведамленнямі WM-Bus.
  • WakeupRadio: былыample для праверкі перыферыйнага радыё LPAWUR.

Дэманстрацыі/МРСУБГ

  • MRSUBG_RTC_Button_TX: гэта напрample паказвае, як усталяваць SoC у рэжым глыбокай прыпынку і наладзіць MRSUBG для абуджэння SoC, націснуўшы PB2 для адпраўкі кадра або пасля заканчэння часу таймера RTC.
  • MRSUBG_Sequencer_Sniff: Гэта выклample паказвае, як наладзіць секвенсар MRSUBG для працы ў рэжыме нюхання. Гэты былыample дэманструе бок прымача і патрабуе іншай прылады ў якасці перадатчыка.
  • MRSUBG_Timer: Дадатак плануе некалькі асобнікаў таймера MRSUBG (з аўтаперазагрузкай) з рознымі інтэрваламі часу.
  • MRSUBG_WakeupRadio_Tx: Гэта былample тлумачыць, як усталяваць SoC у рэжым глыбокай прыпынку і наладзіць MRSUBG для абуджэння SoC, націснуўшы PB2 для адпраўкі кадра. Гэты былыample дэманструе бок перадатчыка і патрабуе іншай прылады ў якасці прымача LPAWUR. Прыёмнік эксampLe знаходзіцца ў папцы NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRadio_Rx.

Дэманстрацыі /ЛПАВУР

  • LPAWUR_WakeupRadio_Rx: Гэта былample тлумачыць, як усталяваць SoC у рэжыме глыбокай прыпынку і наладзіць LPAWUR, каб абудзіць SoC, калі кадр прыходзіць і прымаецца правільна. Гэты былыample дэманструе бок прымача і патрабуе іншай прылады ў якасці перадатчыка. Перадатчык exampLe знаходзіцца ў папцы NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRadio_Tx.

Прыкладанне Sigfox™
Гэтыя прыкладанні паказваюць, як рэалізаваць сцэнарый Sigfox™ і выкарыстоўваць даступныя API Sigfox™. Яны даступныя ў шляху праекта Projects\NUCLEO-WL33CC\Applications\Sigfox\:

  • Sigfox_CLI: гэта дадатак паказвае, як выкарыстоўваць інтэрфейс каманднага радка (CLI) для адпраўкі каманд, якія выкарыстоўваюць пратакол Sigfox™ для адпраўкі паведамленняў і правядзення перадсертыфікацыйных тэстаў.
  • Sigfox_PushButton: гэта дадатак дазваляе ацэньваць радыёмагчымасці прылады STM32WL33xx Sigfox™. Націск PB1 перадае тэставы кадр Sigfox™.

Гісторыя версій

Табліца 3. Гісторыя рэдагавання дакумента

Дата Рэвізія Змены
29-сакавіка-2024 1 Першапачатковы выпуск.
30-2024 кастрычніка 2 Поўная інтэграцыя STM32CubeWL3 у STM32Cube. Абноўлена:

•         Уводзіны

•         Раздзел 2: Асноўныя функцыі STM32CubeWL3

•         Раздзел 3.2.1: Кампаненты прамежкавага праграмнага забеспячэння

•         Раздзел 4: пакет прашыўкі STM32CubeWL3 скончаныview

•         Раздзел 5.1: Запуск першага эксample

•         Раздзел 5.3: радыёчастотныя прыкладанні, дэманстрацыі і прampлес

Дададзена:

•         Раздзел 5.1.1: Як запусціць HAL example

•         Раздзел 5.2.1: Выкарыстанне STM32CubeMX для распрацоўкі або абнаўлення прыкладання

• СРаздзел 6.4: Ці існуе шаблонны праект для перыферыйных прылад MRSUBG/LPAWUR, напрampлес?

•         Раздзел 6.5: Як STM32CubeMX можа генераваць код на аснове ўбудаванага праграмнага забеспячэння?

Выдалена:

•         Інструменты ПК, у тым ліку Навігатар, Графічны інтэрфейс STM32WL3, і Графічны інтэрфейс секвенсера MR-SUBG

•         Як WiSE-Studio IOMapper можа ствараць код на аснове ўбудаванага праграмнага забеспячэння?

•         Ці дазваляе Navigator доступ да рэсурсаў праграмнага пакета?

22-2025 студзеня 3 Пашыраны дыяпазон прыдатных прылад для мікракантролераў STM32WL30xx і STM32WL31xx у табліцы 1. Макрасы для лінейкі прадуктаў STM32WL3x.

ВАЖНАЯ ЗАЎВАГА – УВАЖЛІВА ЧЫТАЙЦЕ

  • STMicroelectronics NV і яе даччыныя кампаніі («ST») пакідаюць за сабой права ўносіць змены, выпраўленні, удасканаленні, мадыфікацыі і паляпшэнні ў прадукты ST і/або ў гэты дакумент у любы час без папярэдняга паведамлення. Пакупнікі павінны атрымаць самую актуальную інфармацыю аб прадуктах ST, перш чым рабіць заказы. Прадукцыя ST прадаецца ў адпаведнасці з умовамі продажу ST, якія дзейнічаюць на момант пацвярджэння замовы.
  • Пакупнікі нясуць поўную адказнасць за выбар, выбар і выкарыстанне прадуктаў ST, і ST не нясе адказнасці за дапамогу ў прымяненні або дызайн прадуктаў пакупнікоў.
  • ST тут не прадастаўляе ніякіх ліцэнзій, відавочных або пэўных, на права інтэлектуальнай уласнасці.
  • Перапродаж прадуктаў ST з умовамі, адрознымі ад інфармацыі, выкладзенай у гэтым дакуменце, прыводзіць да анулявання любой гарантыі, прадастаўленай ST на такі прадукт.
  • ST і лагатып ST з'яўляюцца гандлёвымі маркамі ST. Для атрымання дадатковай інфармацыі аб гандлёвых марках ST звярніцеся да www.st.com/trademarks. Усе іншыя назвы прадуктаў і паслуг з'яўляюцца ўласнасцю іх адпаведных уладальнікаў.
  • Інфармацыя ў гэтым дакуменце замяняе інфармацыю, якая была прадстаўлена ў папярэдніх версіях гэтага дакумента.
  • © 2025 STMicroelectronics – Усе правы абаронены

FAQ

Калі я павінен выкарыстоўваць HAL замест драйвераў LL?

Драйверы HAL прапануюць высокаўзроўневыя і функцыянальна-арыентаваныя API з высокім узроўнем партатыўнасці. Складанасць прадукту або перыферыйнага абсталявання схавана для канчатковых карыстальнікаў. Драйверы LL прапануюць API нізкага ўзроўню рэгістра з лепшай аптымізацыяй, але менш партатыўнымі. Яны патрабуюць глыбокіх ведаў аб прадуктах або характарыстыках IP.

Як уключаны API ініцыялізацыі LL?

Вызначэнне API ініцыялізацыі LL і звязаных з імі літэралаў і прататыпаў структур рэсурсаў абумоўлена пераключальнікам кампіляцыі USE_FULL_LL_DRIVER. Каб мець магчымасць выкарыстоўваць API ініцыялізацыі LL, дадайце гэты пераключальнік у прэпрацэсар кампілятара інструментальнай ланцуга.

Ці існуе шаблонны праект для перыферыйных прылад MRSUBG/LPAWURampлес?

Каб стварыць новы MRSUBG або LPAWUR exampпраект, альбо пачніце са каркаснага праекта, прадстаўленага ў раздзеле Pr ojectsNUCLEO- 33CC Examples MRSUBG або ProjectsNUCLEO-WL33CC Examples LPAWUR або з любога даступнага праекта ў гэтых жа каталогах.

Як STM32CubeMX можа генераваць код на аснове ўбудаванага праграмнага забеспячэння?

STM32CubeMX мае ўбудаваныя веды пра мікракантролеры STM32, у тым ліку іх перыферыйныя прылады і праграмнае забеспячэнне, што дазваляе забяспечваць графічнае прадстаўленне для карыстальніка і генераваць .h або .c files на аснове канфігурацыі карыстальніка.

Дакументы / Рэсурсы

Мікракантролеры ST STM32WL3x [pdfКіраўніцтва карыстальніка
Мікракантролеры STM32WL3x, STM32WL3x, мікракантролеры

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *