STM32WL3x-лоиго

Софтверски пакет STM32WL3x

STM32WL3x-Софтвер-пакет -ПРОДКУКТ

Спецификации

  • Име на производ: софтверски пакет STM32CubeWL3
  • Компатибилност: STM32WL3x микроконтролери
  • Главни карактеристики:
    • API со низок слој (LL) и слој за апстракција на хардвер (HAL).
    • Компоненти за среден софтвер на SigfoxTM, FatFS и FreeRTOSTM кернелот
    • Апликации и демонстрации

Упатство за употреба на производот

Почеток
За да започнете со користење на софтверскиот пакет STM32CubeWL3, следете ги овие чекори:

  1. Преземете го софтверскиот пакет од официјалното лице webсајт.
  2. Инсталирајте ја потребната развојна околина (на пр. STM32CubeIDE, EWARM, MDK-ARM).
  3. Се однесуваат на ексamples и апликации предвидени за насоки.

Завршена е архитектурата STM32CubeWL3view
Софтверскиот пакет STM32CubeWL3 е изграден околу три главни нивоа

  • Ниво 0: Хардверски апстракциски слој (HAL) и драјвери за BSP.
  • Ниво 1: Апликации, библиотеки и компоненти базирани на протокол.

Најчесто поставувани прашања (ЧПП)

П: Кои се главните карактеристики на софтверскиот пакет STM32CubeWL3?
О: Главните карактеристики вклучуваат API со низок слој и HAL, компоненти на среден софтвер како SigfoxTM, FatFS, кернелот FreeRTOSTM, апликации и демонстрации.

Вовед

STM32Cube е оригинална иницијатива на STMicroelectronics за значително подобрување на продуктивноста на дизајнерите со намалување на напорот за развој, времето и трошоците. STM32Cube го покрива целото портфолио на STM32.

STM32Cube вклучува:

  • Збир на кориснички алатки за развој на софтвер за покривање на развојот на проектот од зачнување до реализација, меѓу кои] се:
    • STM32CubeMX, графичка софтверска алатка за конфигурација која овозможува автоматско генерирање на код за иницијализација C со помош на графички волшебници
    • STM32CubeIDE, се-во-едно развојна алатка со периферна конфигурација, генерирање код, компилација на код и карактеристики за отстранување грешки
    • STM32CubeCLT, збир на алатки за развој на командната линија сè-во-едно со компилација на код, програмирање на табла и функции за отстранување грешки
    • STM32CubeProgrammer (STM32CubeProg), програмска алатка достапна во графички и верзии на командната линија
    • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), моќни алатки за следење за фино прилагодување на однесувањето и перформансите на STM32 апликациите во реално време
  • STM32Cube MCU и MPU пакети, сеопфатни платформи со вграден софтвер специфични за секоја серија на микроконтролер и микропроцесори (како што е STM32CubeWL3 за линијата производи STM32WL3x), кои вклучуваат:
    • Слој за апстракција на хардверот STM32Cube (HAL), обезбедувајќи максимална преносливост низ портфолиото STM32
    • STM32Cube нискослојни API, обезбедувајќи најдобри перформанси и отпечатоци со висок степен на корисничка контрола над] хардверот
    • Конзистентен сет на компоненти на среден софтвер како што се кернелот FreeRTOS™, FatFS и Sigfox™
    • Сите вградени софтверски алатки со целосни комплети периферни и апликативни прampлес
  • STM32Cube Expansion пакети, кои содржат вградени софтверски компоненти кои ги надополнуваат функционалностите на STM32Cube MCU и MPU пакетите со:
    • Екстензии на Middleware и апликативни слоеви
    • Exampработи на некои специфични табли за развој на STMicroelectronics

Ова упатство за корисникот опишува како да започнете со STM32CubeWL3 MCU пакетот.
Дел 2 ги опишува главните карактеристики на STM32CubeWL3 и Дел 3 обезбедува надview на неговата архитектура и на структурата на пакетот MCU.

Општи информации

STM32CubeWL3 работи апликации за демонстрација под GHz, вклучително и бинарни датотеки Sigfox™, на микроконтролери од линијата производи STM32WL3x базирани на процесорот Arm® Cortex®-M0+.
Микроконтролерите STM32WL3x го вградуваат најсовремениот RF радио периферен уред на STMicroelectronics компатибилен со суб-GHz, оптимизиран за ултра ниска потрошувачка на енергија и одлични радио перформанси, за неспоредливо траење на батеријата.
Забелешка: Arm е регистрирана трговска марка на Arm Limited (или нејзините подружници) во САД и/или на друго место.

Главни карактеристики на STM32CubeWL3

  • Пакетот STM32CubeWL3 MCU работи на 32-битни микроконтролери STM32 базирани на процесорот Arm® Cortex®‑M0+. Ги собира, во еден пакет, сите генерички вградени софтверски компоненти потребни за развој на апликација за микроконтролерите на производната линија STM32WL3x.
  • Пакетот вклучува API со низок слој (LL) и слој за апстракција на хардверот (HAL) што го покриваат хардверот на микроконтролерот, заедно со широк сет на ексamples работи на STMicroelectronics табли. HAL и LL API се достапни во BSD лиценца со отворен код за погодност на корисниците. Ги вклучува и компонентите на среден софтвер на Sigfox™, FatFS и FreeRTOS™ кернелот.
  • Пакетот STM32CubeWL3 MCU, исто така, обезбедува неколку апликации и демонстрации кои ги имплементираат сите негови компоненти на среден софтвер.
  • Распоредот на компонентата STM32CubeWL3 MCU Package е илустриран на Слика 1.

Слика 1. Компоненти на пакетот STM32CubeWL3 MCU 

STM32WL3x-Software-Package (2)

Завршена е архитектурата STM32CubeWL3view

Решението STM32CubeWL3 MCU Package е изградено околу три независни нивоа кои лесно комуницираат како што е опишано на Слика 2. STM32WL3x-Software-Package (3)Ниво 0
Ова ниво е поделено на три подслоеви:

  • Пакет за поддршка на одборот (BSP).
  • Хардверски апстракциски слој (HAL):
    • HAL периферни драјвери
    • Драјвери со низок слој
  • Основна употреба на периферни уреди прampлес.

Пакет за поддршка на одборот (BSP)
Овој слој нуди збир на API во однос на хардверските компоненти во хардверските табли (како што се LED диоди, копчиња и 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 и справување со комуникациските грешки што може да се појават за време на комуникацијата. АПИ-ата на драјверите на HAL се поделени во две категории:
  1. Генерички API, кои обезбедуваат заеднички и генерички функции на сите микроконтролери од серијата STM32.
  2. Екстензија API, кои обезбедуваат специфични и приспособени функции за одредено семејство или одреден број на дел.
  • Нискослојните API обезбедуваат API на ниско ниво на ниво на регистер, со подобра оптимизација, но помала преносливост. Тие бараат длабоко познавање на MCU и периферните спецификации.
    LL драјверите се дизајнирани да понудат брз лесен слој ориентиран кон експертите кој е поблиску до хардверот отколку HAL. Спротивно на HAL, LL API не се обезбедени за периферни уреди каде оптимизираниот пристап не е клучна карактеристика, или за оние на кои им е потребна тешка софтверска конфигурација или сложен оџак од повисоко ниво.

Возачите на LL се карактеризираат со:

  • Збир на функции за иницијализирање на периферните главни карактеристики според параметрите наведени во структурите на податоци.
  • Збир на функции за пополнување на структурите на податоци за иницијализација со вредностите за ресетирање што одговараат на секое поле.
  • Функција за периферна деиницијализација (периферните регистри вратени на нивните стандардни вредности).
  • Збир на вградени функции за директен и атомски пристап до регистарот.
  • Целосна независност од HAL и можност за користење во самостоен режим (без HAL драјвери).
  • Целосна покриеност на поддржаните периферни карактеристики.

Основна употреба на периферни уреди прampлес
Овој слој го опфаќа ексamples изградени преку периферните уреди STM32 користејќи само HAL и BSP ресурси.
Демонстрација прamples се исто така достапни за да се прикажат посложени прampсценарија со специфични периферни уреди, како што се MRSUBG и LPAWUR.

Ниво 1
Ова ниво е поделено на два подслоеви:

  • Компоненти на Middleware
  • Examples базирани на компонентите на Middleware

Компоненти на Middleware
Средниот софтвер е збир на библиотеки што го покриваат кернелот FreeRTOS™, FatFS и протоколот Sigfox™. Хоризонталната интеракција помеѓу компонентите на овој слој се врши со повикување на истакнатите API.
Вертикалната интеракција со двигателите со низок слој се врши преку специфични повратни повици и статични макроа имплементирани во интерфејсот за повици на библиотечниот систем.
Главните карактеристики на секоја компонента на среден софтвер се како што следува:

  • FreeRTOS™ кернел: имплементира оперативен систем во реално време (RTOS), дизајниран за вградени системи.
  • Sigfox™: ја имплементира библиотеката на протоколот Sigfox™ во согласност со мрежата на протоколот Sigfox™ и ја вклучува библиотеката на протоколот за тестирање RF за тестирање против алатките RF Sigfox™.
  • FatFS: го имплементира генеричкиот FAT file системски модул.

Examples базирани на компонентите на Middleware
Секоја компонента на среден софтвер доаѓа со еден или повеќе ексamples, исто така наречени апликации, покажувајќи како да се користи. Интеграција прampОбезбедени се и оние кои користат неколку компоненти на среден софтвер.

Заврши пакетот за фирмверот STM32CubeWL3view

Поддржани STM32WL3x уреди и хардвер
STM32Cube нуди високо пренослив слој за апстракција на хардверот (HAL) изграден околу генеричка архитектура. Тоа им овозможува на принципот на изградени слоеви, како на пример користење на слојот на среден софтвер за спроведување на нивните функции без да се знае, длабински, што се користи MCU. Ова ја подобрува повторната употреба на кодот на библиотеката и обезбедува лесна преносливост на други уреди.

  • Покрај тоа, со својата слоевита архитектура, STM32CubeWL3 нуди целосна поддршка за целата производна линија STM32WL3x.
  • Корисникот мора само да го дефинира вистинското макро во stm32wl3x.h.

Табелата 1 го прикажува макрото што треба да се дефинира во зависност од употребениот уред на производната линија STM32WL3x. Ова макро мора да биде дефинирано и во препроцесорот на компајлерот.
Табела 1. Макроа за производна линија STM32WL3x

Макро дефинирано во stm32wl3x.h Уреди од линијата на производи STM32WL3x
stm32wl33 STM32WL33xx микроконтролери

STM32CubeWL3 располага со богат сет на прamples и апликации на сите нивоа, што го олеснува разбирањето и користењето на кој било двигател на HAL или компоненти на среден софтвер. Овие ексampработи на таблите STMicroelectronics наведени во Табела 2.

Одбор Уреди поддржани од плочата STM32WL3x
NUCLEO-WL33CC1 STM32WL33CC
NUCLEO-WL33CC2 STM32WL33CC

STM32CubeWL3 MCU пакетот може да работи на кој било компатибилен хардвер. Корисниците едноставно ги ажурираат драјверите за BSP за да го префрлат дадениот прampна нивните табли, ако тие ги имаат истите хардверски карактеристики (како што се LED диоди или копчиња).

Пакетот на фирмверот завршиview
Решението STM32CubeWL3 MCU Package е обезбедено во едно зип пакет со структурата прикажана на Слика 3.
Слика 3. Структура на пакетот на фирмверот STM32CubeWL3

STM32WL3x-Software-Package (4)

Внимание:

Корисникот не смее да ги менува компонентите fileс. Корисникот може да ги уредува само изворите на \Projects.
За секоја табла, сет на прamples е обезбеден со претходно конфигурирани проекти за синџирите со алатки EWARM, MDK-ARM и STM32CubeIDE.
Слика 4 ја прикажува структурата на проектот за NUCLEO-WL33CCx таблите. STM32WL3x-Software-Package (5)

Поранешниотamples се класифицираат во зависност од нивото STM32CubeWL3 на кое се применуваат. Тие се именувани како што следува:

  • Ниво 0 прamples се нарекуваат Прampлес, прamples_LL, и прamples_MIX. Тие користат соодветно HAL драјвери, LL драјвери и мешавина од HAL и LL драјвери без никаква компонента за среден софтвер. Демонстрација прamples се исто така достапни.
  • Ниво 1 прamples се нарекуваат Апликации. Тие обезбедуваат типични случаи на употреба на секоја компонента на среден софтвер.

Секоја апликација за фирмвер за дадена табла може брзо да се изгради со помош на проектите за шаблони достапни во директориумите Templ ates и Templates_LL.

Exampлес, прamples_LL, и прamples_MIX ја имаат истата структура:

  • \Inc папка која го содржи целото заглавие files.
  • \Src папка која го содржи изворниот код.
  • Папки \EWARM, \MDK-ARM и \STM32CubeIDE кои го содржат претходно конфигурираниот проект за секој синџир на алатки.
  • readme.md и readme.html опишувајќи го прampоднесувањето и потребната средина за да функционира.

Започнуваме со STM32CubeWL3

Водење на првиот ексample
Овој дел објаснува колку е едноставно да се води првиот ексample во рамките на STM32CubeWL3. Тоа го користи како илустрација генерирањето на едноставен LED преклопник кој работи на плочката NUCLEO-WL33CC1:

  1. Преземете го пакетот STM32CubeWL3 MCU.
  2. Отпакувајте го или стартувајте го инсталаторот доколку е обезбеден, во директориум по ваш избор.
  3. Погрижете се да не ја измените структурата на пакетот прикажана на Слика 3. Структура на пакетот на фирмверот STM32CubeWL3. Забележете дека исто така се препорачува да го копирате пакетот на локација блиску до коренскиот волумен (што значи C:\ST или G:\Tests), бидејќи некои IDE наидуваат на проблеми кога патеката е премногу долга.

Како да водите HAL ексample
Пред вчитување и водење на ексampле, силно се препорачува да се прочита прampле читам file за која било специфична конфигурација.

  1. Прелистајте до \Проекти\NUCLEO-WL33CC\Прampлес.
  2. Отворете ги папките \GPIO, потоа \GPIO_EXTI.
  3. Отворете го проектот со претпочитаниот синџир со алатки. Брзо завршувањеview за тоа како да отворите, изградите и водите ексampле со поддржаните синџири за алатки е дадено подолу.
  4. Обновете ги сите files и вчитајте ја сликата во целната меморија.
  5. Стартувај го бившиотampле. За повеќе детали, погледнете на ексampле читам file.

Да се ​​отвори, изгради и водите поранешенampсо секоја од поддржаните синџири со алатки, следете ги чекорите подолу:

  • EWARM:
  1. Под прamples, отворете ја подпапката \EWARM.
  2. Стартувајте го работниот простор Project.eww (името на работниот простор може да се промени од едно прampле на друг).
  3. Обновете ги сите files: [Проект]> [Повторно изградете ги сите].
  4. Вчитајте ја сликата на проектот: [Проект]> [Отстранување грешки].
  5. Стартувај ја програмата: [Debug]>[Go (F5)].
  • МДК-АРМ:
  1. Под прamples, отворете ја подпапката \MDK-ARM.
  2. Отворете го работниот простор Project.uvproj (името на работниот простор може да се промени од едно прampле на друг).
  3. Обновете ги сите files: [Проект]>[Повторно изградете ја целата цел fileс].
  4. Вчитајте ја сликата на проектот: [Debug]>[Start/Stop Debug Session].
  5. Стартувај ја програмата: [Debug]>[Run (F5)].
  • STM32CubeIDE:
  1. Отворете го синџирот со алатки STM32CubeIDE.
  2. Кликнете на [File]>[Префрли работен простор]>[Друго] и прелистајте до директориумот за работниот простор STM32CubeIDE.
  3. Кликнете на [File]>[Увези], изберете [Општо]>[Постоечки проекти во работен простор], а потоа кликнете [Следно].
  4. Прегледајте го директориумот на работниот простор STM32CubeIDE и изберете го проектот.
  5. Обнова на целиот проект files: Изберете го проектот во прозорецот Project Explorer и потоа кликнете на
    Мени [Проект]> [Изградба на проект].
  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 за конфигурација и иницијализација на STM32 генерирање на кодови C (UM1718).

Апликации за драјвери

HAL апликација
Овој дел ги опишува чекорите потребни за создавање приспособена HAL апликација со користење на STM32CubeWL3:

  1. Направете проект
    За да креирате нов проект, започнете или од проектот Шаблон обезбеден за секоја табла под \Проекти\< STM32xxx_yyy>\Шаблони или од кој било достапен проект под \Проекти\ \Прampl es или \Projects\ \ Апликации (каде се однесува на името на таблата). Проектот Шаблон обезбедува празна функција на главната јамка. Сепак, добра почетна точка е да се разберат поставките на проектот STM32CubeWL32. Шаблонот ги има следните карактеристики:
    • Содржи изворен код HAL, CMSIS и BSP двигатели, кои се минималниот сет на компоненти потребни за да се развие код на дадена табла.
    • Ги содржи вклучените патеки за сите компоненти на фирмверот.
    • Ги дефинира поддржаните уреди од производната линија STM32WL3x, овозможувајќи правилно да се конфигурираат драјверите за CMSIS и HAL.
    • Обезбедува корисник подготвен за употреба fileе претходно конфигуриран како што е прикажано подолу:
    • HAL иницијализирана со стандардната временска база со Arm® јадрото SysTick.
    • SysTick ISR имплементиран за целта HAL_Delay().
      Забелешка: Кога копирате постоечки проект на друга локација, проверете дали се ажурирани сите вклучени патеки.
  2. Конфигурирајте ги компонентите на фирмверот
    Компонентите HAL и Middleware нудат збир на опции за конфигурација на време на изградба со користење макроа #define декларирани во заглавие file. Конфигурација на шаблон file е обезбедена во секоја компонента, која мора да се копира во проектната папка (обично конфигурацијата file е именуван xxx_conf_template.h, фрагментот _template треба да се отстрани кога се копира во проектната папка). Конфигурацијата file обезбедува доволно информации за да се разбере влијанието на секоја опција за конфигурација. Подетални информации се достапни во документацијата обезбедена за секоја компонента.
  3. Стартувајте ја библиотеката HAL
    По прескокнувањето на главната програма, кодот на апликацијата мора да го повика HAL_Init() API за да ја иницијализира библиотеката HAL, која ги извршува следните задачи:
    • Конфигурација на претходно преземање флеш меморија и приоритет на прекин на SysTick (преку макроа дефинирани во stm3 2wl3x_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.
    •  Во корисничкиот главен.в file, иницијализирајте ја структурата на периферната рачка, а потоа повикајте ја функцијата за иницијализација на периферните за да ја иницијализирате периферната.
  6. Развијте апликација
    На овој сtagд, системот е подготвен и може да започне развојот на кодот на корисничката апликација.
    HAL обезбедува интуитивни и подготвени за употреба API за конфигурирање на периферниот уред. Поддржува гласање, прекини и програмски модел DMA, за да се приспособат на сите барања за апликација. За повеќе детали за тоа како да го користите секој периферен уред, погледнете го богатиот ексampсетот е обезбеден во STM32CubeWL3 MCU пакетот.

Внимание:
Во стандардната имплементација на HAL, тајмерот SysTick се користи како временска база: тој генерира прекини во редовни временски интервали. Ако HAL_Delay() се повика од периферниот процес ISR, проверете дали прекинот SysTick има повисок приоритет (нумерички помал) од периферниот прекин. Инаку, процесот на ISR на повикувачот е
блокиран. Функциите кои влијаат на конфигурациите на временската база се декларирани како __слаби за да се овозможи прескокнување во случај на други имплементации кај корисникот file (со користење на тајмер за општа намена, на прample, или друг временски извор).
За повеќе детали, погледнете го пр. HAL_TimeBaseampле.

LL апликација
Овој дел ги опишува чекорите потребни за креирање приспособена LL апликација користејќи STM32CubeWL3.

  1. Направете проект
    За да креирате нов проект, или започнете од проектот Templates_LL обезбеден за секоја табла под \Projects\ \Templates_LL или од кој било достапен проект под \Projects\ \E xamples_LL ( се однесува на името на таблата, како што е NUCLEO-WL32CC33).
    Шаблонскиот проект обезбедува празна функција на главната јамка, што е добра почетна точка за разбирање на поставките на проектот за STM32CubeWL3. Главните карактеристики на шаблонот се следниве:
    • Ги содржи изворните кодови на двигателите LL и CMSIS, кои се минималниот сет на компоненти потребни за развивање на кодот на дадена табла.
    • Ги содржи вклучените патеки за сите потребни компоненти на фирмверот.
    • Го избира поддржаниот уред од производната линија STM32WL3x и овозможува правилна конфигурација на двигателите CMSIS и LL.
    • Обезбедува корисник подготвен за употреба fileкои се претходно конфигурирани на следниов начин:
    • main.h: LED и USER_BUTTON дефиниција на слој за апстракција.
    • main.c: Конфигурација на системски часовник за максимална фреквенција.
  2. Префрлете го LL exampле:
    • Копирајте/залепете ја папката Templates_LL – за да го задржите почетниот извор – или директно ажурирајте постоечки проект Templa tes_LL.
    • Потоа, пренесувањето главно се состои во замена на Templates_LL files од страна на Examples_LL насочен проект.
    • Чувајте ги сите специфични делови на таблата. Заради јасност, одредени делови на таблата се означени со специфични tags:
      STM32WL3x-Software-Package (1)

Така, главните чекори за пренесување се следниве:

  • Заменете го stm32wl3x_it.h file.
  • Заменете го stm32wl3x_it.c file.
  • Заменете го главниот.ч file и ажурирајте го: чувајте ја дефиницијата на LED и корисничкото копче на шаблонот LL под СПЕЦИФИЧНА КОНФИГУРАЦИЈА НА ТАБЛАТА tags.
  • Заменете го главниот.в file и ажурирај го:
  • Чувајте ја конфигурацијата на часовникот на функцијата за шаблон SystemClock_Config() LL под BOARD SPECIFIC CONFIGURATION tags.
  • Во зависност од дефиницијата на LED, заменете ја секоја појава на LDx со друга LDy достапна во file главен.ч.

Со овие модификации, ексample работи на целната табла.

RF апликации, демонстрации и прampлес
Различни типови на RF апликации, демонстрации и прampсе достапни во пакетот STM32CubeWL3. Тие се наведени во двата дела подолу.

Под-GHz прampлес и демонстрации
Овие ексamples ги демонстрираат главните карактеристики на радио периферните уреди MRSUBG и LPAWUR. Овие ексampсе достапни под:

  • Проекти\NUCLEO-WL33CC\Прamples\MRSUBG
  • Проекти\NUCLEO-WL33CC\Прamples\LPAWUR
  • Проекти\NUCLEO-WL33CC\Демонстрации\MRSUBG
  • Проекти\NUCLEO-WL33CC\Демонстрации\LPAWUR

Секој поранешенample или демонстрација генерално се состои од две програми наречени Tx и Rx кои дејствуваат како предавател и приемник, соодветно:

  • Examples/MRSUBG
    • MRSUBG_802_15_4: имплементација на физичкиот слој дефиниран со стандардот 802.15.4. Покажува како да го конфигурирате радиото да пренесува или прима пакети 802.15.4.
    • MRSUBG_BasicGeneric: Размена на STM32WL3x MR_SUBG основни пакети.
    • MRSUBG_Chat: Едноставна апликација која покажува како да користите Tx и Rx на истиот уред.
    • MRSUBG_DatabufferHandler: Ексampшто покажува како да се замени од Databuffer 0 и 1.
    • MRSUBG_Sequencer AutoAck: Ексampшто автоматски пренесува и прима потврди за пакети (ACK).
    • MRSUBG_WMBusSTD: Размена на WM-Bus пораки.
    • WakeupRadio: поранешенampза да го тестирате периферниот уред за радио LPAWUR.
  • Демонстрации/МРСУБГ
    • MRSUBG_RTC_Button_TX: Ова прampле покажува како да го поставите SoC во режим на длабоко стопирање и да го конфигурирате MRSUBG да го буди SoC со притискање на PB2 за да испрати рамка или по истекот на RTC тајмерот.
    • MRSUBG_Sequencer_Sniff: Овој прampле покажува како да го поставите секвенционерот MRSUBG да работи во режим на шмркање. Овој ексample ја демонстрира страната на приемникот и бара друг уред како предавател.
    • MRSUBG_Timer: апликацијата закажува неколку примери на MRSUBG тајмер (со автоматско вчитување) со различни временски интервали.
    • MRSUBG_WakeupRadio_Tx: Овој прampЛе објаснува како да го поставите SoC во режим за длабоко стопирање и да го конфигурирате MRSUBG да го буди SoC со притискање на PB2 за да испрати рамка. Овој ексample ја демонстрира страната на предавателот и бара друг уред како LPAWUR приемник. Приемникот прample се наоѓа под папката NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRad io_Rx.
  • Демонстрации/LPAWUR
    • LPAWUR_WakeupRadio_Rx: Ова прampЛе објаснува како да го поставите SoC во режим на длабоко стопирање и да го конфигурирате LPAWUR да го буди SoC кога ќе пристигне рамката и е правилно примена. Овој ексample ја демонстрира страната на приемникот и бара друг уред како предавател. Предавателот прample се наоѓа под папката NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRad io_Tx.

Апликација Sigfox™
Овие апликации покажуваат како да се имплементира сценариото на Sigfox™ и да се користат достапните Sigfox™ API. Тие се достапни во проектната патека Проекти\NUCLEO-WL33CC\Applications\Sigfox\:

  • Sigfox_CLI: оваа апликација покажува како да се користи интерфејс на командната линија (CLI) за испраќање наредби кои го користат протоколот Sigfox™ за испраќање пораки и изведување тестови за пресертификација.
  • Sigfox_PushButton: оваа апликација овозможува евалуација на радио способностите на уредот STM32WL33xx Sigfox™. Со притискање на PB1 се пренесува тест Sigfox™ рамка.

Најчесто поставувани прашања

  1. Кога треба да користам HAL наместо LL драјвери?
    HAL драјверите нудат API-и на високо ниво и функционално ориентирани, со високо ниво на преносливост. Комплексноста на производот или периферната опрема е скриена за крајните корисници.
    LL драјверите нудат API на ниво на регистер со низок слој, со подобра оптимизација, но помалку преносливи. Тие бараат длабинско познавање на спецификациите на производот или IP.
  2. Може ли HAL и LL драјверите да се користат заедно? Ако да, кои се ограничувањата?
    Можно е да се користат и HAL и LL драјвери. Користете го HAL за фазата на периферна иницијализација и потоа управувајте со I/O операциите со LL драјвери.
    Главната разлика помеѓу HAL и LL е тоа што HAL драјверите бараат да креираат и користат рачки за управување со операциите додека LL драјверите работат директно на периферните регистри. Мешањето HAL и LL е илустрирано во прamples_MIX прampлес.
  3. Како се овозможени АПИ за иницијализација на LL?
    Дефиницијата за LL иницијализација API и придружните ресурси (структури, литерали и прототипови) е условена од прекинувачот за компилација USE_FULL_LL_DRIVER.
    За да можете да користите API за иницијализација на LL, додадете го овој прекинувач во препроцесорот на компајлерот на синџирот на алатки.
  4. Дали има некој шаблон проект за периферните MRSUBG/LPAWUR прamples?
    За да креирате нов MRSUBG или LPAWUR ексample project, или започнете од скелетниот проект обезбеден под \Pr објекти\NUCLEO-WL33CC\Examples\MRSUBG или \Projects\NUCLEO-WL33CC\Examples\LPAWUR или од кој било достапен проект под истите директориуми.
  5. Како STM32CubeMX може да генерира код базиран на вграден софтвер?
    STM32CubeMX има вградено познавање на STM32 микроконтролери, вклучувајќи ги нивните периферни уреди и софтвер, што му овозможува да обезбеди графичка претстава на корисникот и да генерира *.h или *.c files врз основа на конфигурацијата на корисникот.

Историја на ревизии

Табела 3. Историја на ревизија на документ

Датум Ревизија Промени
29-мар-2024 1 Почетно ослободување.
30-октомври 2024 година 2 Целосна интеграција на STM32CubeWL3 in STM32Cube. Ажурирано:

Отстрането:

  • Алатки за компјутер, вклучувајќи Навигатор, STM32WL3 GUI, и GUI на MR-SUBG Sequencer
  • Како може WiSE-Studio IOMapper да генерира код базиран на вграден софтвер?
  • Дали Navigator дозволува пристап до ресурсите на софтверски пакет?

Документи / ресурси

Софтверски пакет ST STM32WL3x [pdf] Инструкции
STM32WL3x софтверски пакет, STM32WL3x, софтверски пакет, пакет

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *