STMicroelectronics STM32WBA Сериялар Баштоо
Продукт маалыматы
Өзгөчөлүктөрү:
- Продукт аты: STM32CubeWBA MCU пакети
- Өндүрүүчү: STMicroelectronics
- Шайкештик: STM32WBA сериясындагы микроконтроллерлер
- Лицензиялоо: Ачык булак BSD лицензиясы
Продукт колдонуу нускамалары
STM32CubeWBA MCU пакетинин негизги өзгөчөлүктөрү:
STM32CubeWBA MCU пакети STM32WBA сериясындагы микроконтроллерлерде тиркемелерди иштеп чыгуу үчүн бардык керектүү камтылган программалык компоненттерди камсыз кылат. Бул STM32 сериясынын ичинде өтө көчмө жана HAL жана LL API'лери менен келет, мисалыamples жана орто программа компоненттери.
Архитектура бүттүview:
STM32CubeWBA MCU пакетинин архитектурасы үч деңгээлден турат – Тиркемелер, Китепкана жана протоколго негизделген компоненттер, Аппараттык абстракция катмары, BSP драйверлери, Негизги драйверлер жана Төмөн катмарлуу API.
Көп берилүүчү суроолор
- STM32CubeWBA MCU пакетине эмне кирет?
Пакет төмөнкү катмар (LL) жана аппараттык абстракция катмары (HAL) API'лерин камтыйт, мисалыamples, тиркемелер, орто программанын компоненттери сыяктуу FileX/LevelX, NetX Duo, mbed-крипто китепканалары жана башкалар. - STM32CubeWBA MCU пакети STM32CubeMX код генератору менен шайкеш келеби?
Ооба, пакет инициализация кодун түзүү үчүн STM32CubeMX код генератору менен толук шайкеш келет.
Introduction
- STM32Cube - иштеп чыгуу аракетин, убакытты жана чыгымды азайтуу аркылуу дизайнердин өндүрүмдүүлүгүн олуттуу жогорулатуу үчүн STMicroelectronics оригиналдуу демилгеси. STM32Cube бүт STM32 портфелин камтыйт.
STM32Cube төмөнкүлөрдү камтыйт:- Долбоорду иштеп чыгууну концепциядан ишке ашырууга чейин камтыган колдонуучуга ыңгайлуу программалык камсыздоону иштеп чыгуу куралдарынын жыйындысы, алардын арасында:
- STM32CubeMX, графикалык усталарды колдонуу менен C инициализациялоо кодун автоматтык түрдө чыгарууга мүмкүндүк берген графикалык программалык конфигурациялоо куралы
- STM32CubeIDE, перифериялык конфигурация, кодду түзүү, кодду түзүү жана мүчүлүштүктөрдү оңдоо функциялары менен бардыгы биринде иштеп чыгуу куралы
- STM32CubeCLT, коддорду компиляциялоо, такта программалоо жана мүчүлүштүктөрдү оңдоо функциялары менен бардыгы бир жерде буйрук сабын иштеп чыгуу инструменттери
- STM32CubeProgrammer (STM32CubeProg), графикалык жана буйрук сап версияларында жеткиликтүү программалоо куралы
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), реалдуу убакытта STM32 тиркемелеринин жүрүм-турумун жана иштешин тактоо үчүн күчтүү мониторинг куралдары
- STM32Cube MCU жана MPU топтомдору, ар бир микроконтроллер жана микропроцессордук серияларга мүнөздүү комплекстүү камтылган программалык платформалар (мисалы, STM32WBA сериясы үчүн STM32CubeWBA), алар төмөнкүлөрдү камтыйт:
- STM32Cube аппараттык абстракция катмары (HAL), STM32 портфолиосу боюнча максималдуу көчүрүүнү камсыз кылуу
- STM32Cube төмөн катмарлуу API'лер, жабдыктарды колдонуучунун жогорку деңгээлдеги көзөмөлү менен мыкты аткарууну жана издерди камсыз кылуу
- ThreadX сыяктуу орто программалык компоненттердин ырааттуу топтому, FileX / LevelX, NetX Duo, USBX, сенсордук китепкана, mbed-crypto, TFM, MCUboot, OpenBL жана STM32_WPAN (анын ичинде Bluetooth® Low Energy Profileс жана кызматтар, Mesh, Zigbee®, OpenThread, Matter жана 802.15.4 MAC катмары)
- Бардык камтылган программалык утилиталар перифериялык жана прикладдык эксamples
- STM32Cube MCU жана MPU топтомдорунун функцияларын толуктаган камтылган программалык компоненттерди камтыган STM32Cube кеңейтүү пакеттери:
- Орто программанын кеңейтүүлөрү жана колдонмо катмарлары
- Examples кээ бир конкреттүү STMicroelectronics иштеп чыгуу такталарында иштейт
- Долбоорду иштеп чыгууну концепциядан ишке ашырууга чейин камтыган колдонуучуга ыңгайлуу программалык камсыздоону иштеп чыгуу куралдарынын жыйындысы, алардын арасында:
- Бул колдонуучу колдонмосу STM32CubeWBA MCU пакетин кантип баштоону сүрөттөйт.
- 2-бөлүм STM32CubeWBA негизги өзгөчөлүктөрү STM32CubeWBA MCU пакетинин негизги өзгөчөлүктөрүн сүрөттөйт.
- 3-бөлүм STM32CubeWBA архитектурасы бүттүview ашык камсыз кылатview STM32CubeWBA архитектурасынын жана MCU пакетинин структурасынын.
Жалпы маалымат
STM32CubeWBA MCU пакети Arm® TrustZone® жана FPU менен Arm® Cortex®-M32 процессоруна негизделген STM32 33-бит микроконтроллерлерде иштейт.
Эскертүү: Arm жана TrustZone АКШда жана/же башка жерлерде Arm Limited (же анын туунду компаниялары) катталган соода белгилери.
STM32CubeWBA негизги өзгөчөлүктөрү
- STM32CubeWBA MCU топтому TrustZone® жана FPU менен Arm® Cortex®-M32 процессоруна негизделген STM32 33-бит микроконтроллерлерде иштейт.
- STM32CubeWBA бир пакетте STM32WBA сериясындагы микроконтроллерлер үчүн тиркемени иштеп чыгуу үчүн зарыл болгон бардык жалпы камтылган программалык компоненттерди чогултат. STM32Cube демилгесине ылайык, бул компоненттер топтому STM32WBA сериясындагы микроконтроллерлерде гана эмес, башка STM32 серияларында да өтө көчмө болуп саналат.
- STM32CubeWBA инициализация кодун түзүү үчүн STM32CubeMX код генератору менен толук шайкеш келет. Пакет микроконтроллердин аппараттык жабдыктарын камтыган төмөнкү катмарлуу (LL) жана аппараттык абстракция катмарынын (HAL) API'лерин, ошондой эле экстенсивдүү топтомду камтыйт.ampSTMicroelectronics такталарында иштеген les. HAL жана LL API'лери колдонуучуга ыңгайлуу болушу үчүн ачык булактуу BSD лицензиясында жеткиликтүү.
- STM32CubeWBA MCU пакети ошондой эле Microsoft® Azure® RTOS ортолук программасынын жана башка үй ичиндеги жана ачык булактуу стектердин айланасында курулган комплекстүү ортолук программалык компонентти камтыйт, тиешелүү мурункуamples.
- Алар бекер, колдонуучуга ыңгайлуу лицензия шарттары менен келет:
- Интеграцияланган жана толук өзгөчөлөнгөн Azure® RTOS: Azure® RTOS ThreadX
- Azure® RTOS ThreadX менен CMSIS-RTOS ишке ашыруу
- USB хост жана түзмөк стектери көптөгөн класстар менен келет: Azure® RTOS USBX
- Өркүндөтүлгөн file системасы жана флэш которуу катмары: FileX / LevelX
- Өнөр жайлык деңгээлдеги тармактык стек: көптөгөн IoT протоколдору менен келген аткаруу үчүн оптималдаштырылган: NetX Duo
- OpenBootloader
- Arm® Trusted Firmware-M (TF‑M) интеграциялык чечими
- mbed-крипто китепканалары
- ST Netwok китепканасы
- STMTouch сенсордук китепкана чечими
- Бул ортолук программанын бардык компоненттерин ишке ашыруучу бир нече тиркемелер жана демонстрациялар STM32CubeWBA MCU пакетинде да берилген.
- STM32CubeWBA MCU пакетинин компонентинин схемасы 1-сүрөттө көрсөтүлгөн. STM32CubeWBA MCU пакетинин компоненттери.
STM32CubeWBA архитектурасы бүттүview
STM32CubeWBA MCU пакеттик чечими 2-сүрөттө сүрөттөлгөндөй оңой өз ара аракеттенүүчү үч көз карандысыз деңгээлде курулган. STM32CubeWBA MCU пакетинин архитектурасы.
0-деңгээл
Бул деңгээл үч субкатмарга бөлүнөт:
- Башкармалык колдоо пакети (BSP).
- Аппараттык абстракция катмары (HAL):
- HAL перифериялык драйверлери
- Төмөн катмардагы айдоочулар
- Негизги перифериялык колдонуу, мисалыamples.
Башкармалык колдоо пакети (BSP)
Бул катмар аппараттык такталардагы аппараттык компоненттерге (мисалы, LCD, Аудио, \ microSD™ жана MEMS драйверлери) салыштырмалуу API топтомун сунуштайт. Ал эки бөлүктөн турат:
- Компонент драйвери:
Бул драйвер STM32 түзмөгүнө эмес, тактадагы тышкы түзмөккө тиешелүү. Компонент драйвери BSP драйверинин тышкы компоненттерине белгилүү API'лерди берет жана башка тактайда көчмө болушу мүмкүн. - BSP айдоочусу:
BSP драйвери компонент драйверлерин белгилүү бир тактага байланыштырууга мүмкүндүк берет жана колдонуучуга ыңгайлуу топтомун камсыз кылат
API'лер. API аталышынын эрежеси - BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP модулдук архитектурага негизделген, ал жөн гана төмөнкү деңгээлдеги процедураларды ишке ашыруу менен каалаган жабдыкта оңой көчүрүүгө мүмкүндүк берет.
Аппараттык абстракция катмары (HAL) жана төмөнкү катмар (LL)
STM32CubeWBA HAL жана LL кошумча болуп саналат жана колдонуу талаптарынын кеңири спектрин камтыйт:
- HAL драйверлери жогорку деңгээлдеги функцияга багытталган, портативдик API'лерди сунуштайт. Алар акыркы колдонуучуга MCU жана перифериялык татаалдыкты жашырышат.
HAL драйверлери колдонууга даяр процесстерди камсыз кылуу менен колдонуучу тиркемесин ишке ашырууну жөнөкөйлөтүүчү жалпы көп инстанциялуу өзгөчөлүктөргө багытталган API'лерди камсыз кылат. Мисалы үчүнample, байланыш перифериялык түзүлүштөрү үчүн (I2S, UART жана башкалар) перифериялык түзүлүштү инициализациялоого жана конфигурациялоого, сурамжылоого, үзгүлтүккө учуратууга же DMA процессине негизделген маалыматтарды берүүнү башкарууга жана байланыш учурунда пайда болушу мүмкүн болгон байланыш каталарын башкарууга мүмкүндүк берген API'лерди камсыз кылат. HAL драйверинин API'лери эки категорияга бөлүнөт:- Бардык STM32 сериясындагы микроконтроллерлерге жалпы жана жалпы функцияларды камсыз кылган жалпы API'лер.
- Белгилүү бир үй-бүлө же белгилүү бир бөлүк номери үчүн конкреттүү жана ыңгайлаштырылган функцияларды камсыз кылган кеңейтүү API'лери.
- Төмөн катмардагы API'лер реестр деңгээлинде төмөн деңгээлдеги API'лерди камсыздайт, оптималдаштыруу жакшыраак, бирок азыраак көчүрүү.
- Алар MCU жана перифериялык спецификациялар боюнча терең билимди талап кылат.
- LL драйверлери HALга караганда жабдыкка жакыныраак, тез жеңил салмактагы экспертке багытталган катмарды сунуштоо үчүн иштелип чыккан. HALдан айырмаланып, LL API'лери оптималдаштырылган жетүү негизги өзгөчөлүк болбогон перифериялык түзүлүштөр үчүн же оор программалык конфигурацияны же татаал жогорку деңгээлдеги стекти талап кылгандар үчүн каралган эмес.
- LL айдоочулар өзгөчөлүктөрү:
- Маалымат структураларында көрсөтүлгөн параметрлерге ылайык перифериялык негизги функцияларды инициализациялоо үчүн функциялардын жыйындысы.
- Ар бир талаага туура келген баштапкы абалга келтирүү маанилери менен инициализация маалымат структураларын толтуруу үчүн функциялардын жыйындысы.
- Перифериялык инициализациялоо функциясы (перифериялык регистрлер демейки маанилерине кайтарылган).
- Түз жана атомдук регистрге кирүү үчүн саптык функциялардын жыйындысы.
- HALдан толук көз карандысыздык жана өз алдынча режимде колдонуу мүмкүнчүлүгү (HAL айдоочулары жок).
- Колдоого алынган перифериялык функцияларды толук камтуу.
Негизги перифериялык колдонуу, мисалыamples
Бул катмар эксampHAL жана BSP ресурстарын колдонуу менен STM32 перифериялык түзүлүштөрүнүн үстүнө курулган les.
1-деңгээл
Бул деңгээл эки катмарга бөлүнөт:
- Орточо программанын компоненттери
- Exampорто программанын компоненттерине негизделген
Орточо программанын компоненттери
- Ортодогу программа Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®, камтыган китепканалардын жыйындысы.
- Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot жана mbed-крипто.
- Бул катмардын компоненттеринин ортосундагы горизонталдуу өз ара аракеттенүү өзгөчөлөнгөн API'лерди чакыруу аркылуу ишке ашырылат.
- Төмөн катмардагы драйверлер менен вертикалдуу өз ара аракеттенүү китепкана тутумунун чалуу интерфейсинде ишке ашырылган атайын кайра чалуулар жана статикалык макростар аркылуу ишке ашырылат.
- Ар бир ортолук программалык камсыздоонун негизги өзгөчөлүктөрү төмөнкүлөр:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: эки функционалдык режими бар кыналган системалар үчүн иштелип чыккан реалдуу убакытта иштөө тутуму (RTOS).
- Жалпы режим: жипти башкаруу жана синхрондоштуруу, эстутум пулун башкаруу, билдирүү жөнөтүү жана окуяны башкаруу сыяктуу жалпы RTOS функциялары.
- Модуль режими: Алдын ала байланышкан ThreadX модулдарын модулдун менеджери аркылуу тез жүктөөгө жана түшүрүүгө мүмкүндүк берүүчү өркүндөтүлгөн колдонуучу режими.
- NetX Duo
- FileX
- USBX
- Azure® RTOS ThreadX: эки функционалдык режими бар кыналган системалар үчүн иштелип чыккан реалдуу убакытта иштөө тутуму (RTOS).
- Bluetooth® Low Energy (BLE): Link жана Stack катмарлары үчүн Bluetooth® Low Energy протоколун ишке ашырат.
- MCUboot (ачык программалык камсыздоо)
- Стек жана тиешелүү кластерлер үчүн Zigbee® протоколдору.
- Thread® протоколунун стек жана шилтеме катмары.
- Arm® ишенимдүү микропрограммасы-M, TF‑M (ачык булактуу программалык камсыздоо): TrustZone® үчүн Arm® платформа коопсуздук архитектурасынын (PSA) тиешелүү коопсуз кызматтары менен ишке ашырылышы.
- mbed-crypto (ачык булактуу программалык камсыздоо): mbed-crypto орто программасы PSA криптографиялык API ишке ашырууну камсыз кылат.
- STM32 Сенсордук сенсордук китепкана: жакындыкты, тийүү баскычын, сызыктуу жана айлануучу сенсорлорду колдогон бекем STMTouch сыйымдуулугу сенсордук чечим. Ал далилденген беттик зарядды өткөрүп алуу принцибине негизделген.
- Microsoft® Azure® RTOS
Exampорто программанын компоненттерине негизделген
Ар бир ортолук программанын компоненти бир же бир нече экс менен келетampаны кантип колдонууну көрсөтүүчү les (тиркемелер деп да аталат). Интеграция эксampбир нече ортоңку программалык компоненттерди колдонгон les да берилген.
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 мурунку бай топтомун камтыйтampбардык деңгээлдердеги les жана тиркемелер ар кандай HAL драйверин же орто программанын компоненттерин түшүнүүнү жана колдонууну жеңилдетет. Булар эксamples 2-таблицада келтирилген STMicroelectronics такталарында иштейт.
Таблица 2. STM32WBA сериялары үчүн такталарБашкармалык Board STM32WBA колдоого алынган түзмөктөр NUCLEO-WBA52CG STM32WBA52CGU6 NUCLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - STM32CubeWBA MCU топтому ар кандай шайкеш жабдыкта иштей алат. Колдонуучу жөн гана BSP драйверлерин жаңыртуу үчүн берилген эксampтактадагы les, эгерде акыркысы бирдей аппараттык өзгөчөлүктөргө ээ болсо (мисалы, LED, ЖК дисплей жана баскычтар).
Микропрограмма пакети бүттүview
- STM32CubeWBA пакетинин чечими 3-сүрөттө көрсөтүлгөн структурага ээ болгон бир zip пакетинде берилет. STM32CubeWBA микропрограмма пакетинин түзүмү.
- Ар бир такта үчүн, эксamples EWARM, MDK-ARM жана STM32CubeIDE инструменталдык чынжырлары үчүн алдын ала конфигурацияланган долбоорлор менен камсыздалган.
- 4-сүрөт. STM32CubeWBA examples overview NUCLEO‑WBA52CG, NUCLEO-WBA55CG жана STM32WBA55G-DK1 такталары үчүн долбоордун түзүмүн көрсөтөт.
- мурдагыamples алар колдонулган STM32Cube деңгээлине жараша классификацияланат жана алар төмөнкүчө аталат:
- 0-деңгээл мурункуamples Ex деп аталатamples, Examples_LL, жана Examples_MIX. Алар тиешелүүлүгүнө жараша HAL драйверлерин, LL драйверлерин жана HAL жана LL драйверлеринин аралашмасын орто программалык компонентсиз колдонушат.
- 1-деңгээл мурункуamples Тиркемелер деп аталат. Алар орто программанын ар бир компонентинин типтүү колдонуу учурларын камсыз кылат. Templ ates жана Templates_LL каталогдорундагы шаблондук долбоорлордун аркасында берилген такта үчүн каалаган микропрограммалык тиркемелерди тез арада курууга болот.
TrustZone® иштетилген долбоорлор
- TrustZone® иштетилген Мисamples аттары _TrustZone префиксин камтыйт. Эреже Тиркемелерге да колдонулат (TFM жана SBSFUден тышкары, алар TrustZone® үчүн).
- TrustZone® иштетилген Examples жана Тиркемелер 5-сүрөттө көрсөтүлгөндөй, коопсуз жана кооптуу эмес субпроекттерден турган мультидолбоордук структура менен камсыздалган. Көп долбоордук коопсуз жана коопсуз эмес долбоордун структурасы.
- TrustZone® иштетилген долбоорлор CMSIS-5 түзмөгүнүн шаблонуна ылайык иштелип чыккан, системаны бөлүү аталышын камтуу үчүн кеңейтилген file бөлүм_ .h, ал негизинен коопсуз атрибут бирдигин (SAU), FPU жана коопсуз/коопсуз үзгүлтүктөрдү коопсуз аткаруу абалында дайындоо үчүн жооптуу.
- Бул орнотуу коопсуз CMSIS SystemInit() функциясында аткарылат, ал ишке киргенде коопсуз колдонмонун main() функциясына кирүү алдында чакырылат. Программалык камсыздоонун көрсөтмөлөрүнүн Arm® TrustZone®-M документтерин караңыз.
- STM32CubeWBA топтому микропрограмма пакети _ бөлүмдө демейки эстутум бөлүүнү камсыз кылат. .h fileтөмөнкүлөр жеткиликтүү: \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T emplates
- Бул бөлүктөрдө fileс, SAU демейки боюнча өчүрүлгөн. Демек, IDAU эстутум картасы коопсуздук атрибуциясы үчүн колдонулат. RM0495 маалымдама колдонмосунда TrustZone® технологиясын колдонуу менен Кооптуу/коопсуз бөлүү сүрөтүн караңыз.
- Колдонуучу SAU иштетсе, демейки SAU аймактарынын конфигурациясы бөлүмдө алдын ала аныкталат fileс төмөнкүдөй:
- SAU аймагы 0: 0x08080000 – 0x081FFFFF (флеш эстутумдун коопсуз жарымы (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 Бул колдонуучуларга микропрограмманын көбүн ачууга мүмкүндүк беретampSTM32CubeMX ичиндеги les.
STM32CubeWBA менен баштоо
Биринчи HAL эксample
Бул бөлүмдө биринчи экс иштетүү канчалык жөнөкөй түшүндүрүлөтample STM32CubeWBA ичинде. Ал мисал катары NUCLEO-WBA52CG тактасында иштеген жөнөкөй LED которгучтун жаралышын колдонот:
- STM32CubeWBA MCU топтомун жүктөп алыңыз.
- Аны өзүңүз каалаган каталогго ачыңыз.
- 1-сүрөттө көрсөтүлгөн таңгак түзүмүн өзгөртпөөңүздү текшериңиз. Ошондой эле пакетти өзүңүздүн түпкү көлөмүңүзгө жакын жерге көчүрүү сунушталат (C:\ST же G:\Tests), анткени кээ бир IDEлер жолдон чыкканда көйгөйлөргө туш болушат. узундугу өтө узун.
Биринчи TrustZone® иштетилген эксample
- TrustZone® иштетилген экс жүктөө жана иштетүү алдындаample, бул экс окуу үчүн милдеттүү болуп саналатample readme file 4.2.1 TrustZone® иштетилген долбоорлордо (TZEN=1 (колдонуучунун варианты байт)) сүрөттөлгөндөй коопсуздуктун иштетилгенин камсыз кылган кандайдыр бир конкреттүү конфигурация үчүн.
- \Projects\NUCLEO-WBA52CG\Мисamples.
- \GPIO, андан кийин \GPIO_IOToggle_TrustZone папкаларын ачыңыз.
- Долбоорду өзүңүзгө жаккан куралдар чынжырчасы менен ачыңыз. Тез бүттүview экс кантип ачуу, куруу жана иштетүү боюнчаampле колдоого алынган инструменталдык чынжырчалар төмөндө келтирилген.
- Бардык коопсуз жана кооптуу эмес долбоорлорду ырааттуулукта калыбына келтириңиз fileс жана максаттуу эс тутумга коопсуз жана коопсуз эмес сүрөттөрдү жүктөңүз.
- Мурун иштетample: дайыма коопсуз тиркеме LD2ди секунд сайын алмаштырып турат, ал эми коопсуз эмес тиркеме LD3ти эки эсе тез алмаштырат. Көбүрөөк маалымат алуу үчүн, Readme караңыз file мурункуample.
- Эксти ачуу, куруу жана иштетүүampколдоого алынган куралдар чынжырлары менен төмөнкү кадамдарды аткарыңыз:
- EWARM:
- Экстин астындаample папканы ачыңыз, \EWARM ички папкасын ачыңыз.
- Project.eww жумушчу мейкиндигин ишке киргизиңиз
- xxxxx_S коопсуз долбоорун кайра куруу files: [Долбоор]>[Баарын кайра куруу].
- xxxxx_NS кооптуу эмес долбоорун Активдүү колдонмо катары коюңуз (xxxxx_NS долбооруна оң баскычты чыкылдатыңыз [Активдүү катары коюу])
- xxxxx_NS коопсуз эмес долбоорун кайра түзүңүз files: [Долбоор]>[Баарын кайра куруу].
- Кооптуу экиликти [Долбоор]>[Жүктөө]>[Активдүү тиркемени жүктөө] менен жарк эттириңиз.
- xxxxx_S жигердүү тиркеме катары коюңуз (xxxxx_S долбоорун оң баскыч менен чыкылдатыңыз [Активдүү катары коюу].
- Коопсуз экиликти [Жүктөө жана мүчүлүштүктөрдү оңдоо] (Ctrl+D) менен жарк этиңиз.
- Программаны иштетиңиз: [Debug]>[Go(F5)]
- MDK-ARM:
- \MDK-ARM куралдар тизмегин ачыңыз.
- Multiprojects иш мейкиндигин ачыңыз file Project.uvmpw.
- Активдүү колдонмо катары xxxxx_s долбоорун тандаңыз ([Активдүү долбоор катары коюу]).
- xxxxx_s долбоорун түзүңүз.
- Активдүү долбоор катары xxxxx_ns долбоорун тандаңыз ([Активдүү долбоор катары коюу]).
- xxxxx_ns долбоорун түзүңүз.
- Кооптуу экиликти жүктөңүз ([F8]). Бул флэш эстутумга \MDK-ARM\xxxx_ns\Exe\xxxx_ns.axf жүктөйт)
- Project_s долбоорун активдүү долбоор катары тандаңыз ([Активдүү долбоор катары коюу]).
- Коопсуз экиликти жүктөңүз ([F8]). Бул флэш эстутумга \MDK-ARM\xxxx_s\Exe\xxxx_s.axf жүктөйт).
- Мурун иштетample.
- STM32CubeIDE:
- STM32CubeIDE куралдар чынжырын ачыңыз.
- Multiprojects иш мейкиндигин ачыңыз file .project.
- xxxxx_Secure долбоорун кайра түзүңүз.
- xxxxx_NonSecure долбоорун кайра түзүңүз.
- Коопсуз долбоор үчүн [STM32 Cortex-M C/C++ катары мүчүлүштүктөрдү оңдоо] тиркемесин ишке киргизиңиз.
- [Конфигурацияны түзөтүү] терезесинде [Стартуп] панелин тандап, кооптуу эмес долбоордун сүрөтүн жана символдорун жүктөңүз.
Маанилүү: Коопсуз долбоор коопсуз долбоордон мурун жүктөлүшү керек. - [Ok] чыкылдатыңыз.
- Мурун иштетample on мүчүлүштүктөрдү аныктоо перспективасы.
- EWARM:
Биринчи TrustZone® өчүрүлгөн эксample
- TrustZone® өчүрүлгөн экс жүктөө жана иштетүү алдындаample, бул экс окуу үчүн милдеттүү болуп саналатample readme file кандайдыр бир конкреттүү конфигурация үчүн. Эгерде конкреттүү эскертмелер жок болсо, такта аппаратынын коопсуздук өчүрүлгөндүгүн текшериңиз (TZEN=0 (колдонуучунун опциясы байт)). TZEN = 0 үчүн кошумча регрессияны жасоо үчүн FAQ караңыз
- \Projects\NUCLEO-WBA52CG\Мисamples.
- \GPIO, андан кийин \GPIO_EXTI папкаларын ачыңыз.
- Долбоорду өзүңүзгө жаккан куралдар чынжырчасы менен ачыңыз. Тез бүттүview экс кантип ачуу, куруу жана иштетүү боюнчаampле колдоого алынган инструменталдык чынжырчалар төмөндө келтирилген.
- Баарын кайра куруу fileс жана сүрөтүңүздү максаттуу эс тутумга жүктөңүз.
- Мурун иштетample: [КОЛДОНЧУ] баскычы басылган сайын LD1 диоду которулат. Көбүрөөк маалымат алуу үчүн, Readme караңыз file мурункуample.
- Эксти ачуу, куруу жана иштетүүampколдоого алынган куралдар чынжырлары менен төмөнкү кадамдарды аткарыңыз:
- EWARM:
- Экстин астындаample папканы ачыңыз, \EWARM ички папкасын ачыңыз.
- Project.eww жумушчу мейкиндигин ишке киргизиңиз (жумуш мейкиндигинин аты мурункудан өзгөрүшү мүмкүнampбашкага).
- Баарын кайра куруу files: [Долбоор]>[Баарын кайра куруу].
- Долбоордун сүрөтүн жүктөө: [Долбоор]> [Мүчүлүштүктөрдү оңдоо].
- Программаны иштетүү: [Debug]>[Go (F5)].
- MDK-ARM:
- Экстин астындаample папкасын ачып, \MDK-ARM папкасын ачыңыз.
- Project.uvproj жумушчу мейкиндигин ишке киргизиңиз (жумуш мейкиндигинин аты бирден өзгөрүшү мүмкүнampбашкага).
- Баарын кайра куруу files:[Долбоор]>[Бардык максатты кайра куруу fileс].
- Долбоордун сүрөтүн жүктөө: [Debug]>[Debug Session Start/Stop].
- Программаны иштетүү: [Debug]>[Run (F5)].
- STM32CubeIDE:
- STM32CubeIDE куралдар чынжырын ачыңыз.
- Чыкылдатуу [File]>[Жумуш мейкиндигин которуштуруу]>[Башка] жана STM32CubeIDE жумушчу мейкиндигинин каталогун карап чыгыңыз.
- Чыкылдатуу [File]>[Импорт] , [Жалпы]>[Жумуш мейкиндигиндеги бар долбоорлорду] тандап, андан кийин [Кийинки] чыкылдатыңыз.
- STM32CubeIDE жумушчу мейкиндигинин каталогун карап чыгып, долбоорду тандаңыз.
- Бардык долбоорду кайра куруу files: [Project Explorer] терезесинде долбоорду тандап, андан кийин [Project]>[Build project] менюсун басыңыз.
- Программаны иштетиңиз: [Run]>[Debug (F11)]
- EWARM:
Ыңгайлаштырылган колдонмону иштеп чыгуу
Эскертүү: Программалык камсыздоо инструкциялардын кэшин (ICACHE) флеш эс тутумунан 0 күтүү абалында аткарууну жана максималдуу өндүрүмдүүлүккө жана жакшыраак энергия керектөөгө жетиши үчүн иштетиши керек.
Колдонмону иштеп чыгуу же жаңыртуу үчүн STM32CubeMX колдонуу
- STM32CubeWBA MCU топтомунда, дээрлик бардык долбоор мурункуamples STM32CubeMX куралы менен системаны, перифериялык түзүлүштөрдү жана орто программаны инициализациялоо үчүн түзүлөт.
- Учурдагы долбоордун түздөн-түз пайдалануусуampSTM32CubeMX куралынан STM32CubeMX 6.10.0 же андан жогору талап кылынат:
- STM32CubeMX орнотулгандан кийин, сунушталган долбоорду ачып, зарыл болсо жаңыртыңыз. Учурдагы долбоорду ачуунун эң жөнөкөй жолу - *.iocти эки жолу басуу file Ошентип, STM32CubeMX автоматтык түрдө долбоорду жана анын булагын ачат files.
- STM32CubeMX мындай долбоорлордун инициализация булак кодун жаратат. Колдонмонун негизги булак коду “КОЛДОНЧУ КОД БАШТАЛГАН” жана “КОЛДОНЧУ КОД END” комментарийлеринде камтылган. IP тандоосу жана жөндөөлөрү өзгөртүлгөн учурда, STM32CubeMX коддун инициалдаштыруу бөлүгүн жаңыртат, бирок колдонмонун негизги булак кодун сактайт.
- STM32CubeMX ичинде ыңгайлаштырылган долбоорду иштеп чыгуу үчүн кадам-кадам процессин аткарыңыз:
- Керектүү перифериялык түзүлүшкө дал келген STM32 микроконтроллерин тандаңыз.
- Пинут-конфликт чечүүчү, саат дарагынын жөндөө жардамчысы, энергия керектөөчү калькулятор жана MCU перифериялык конфигурациясын (GPIO же USART сыяктуу) жана орто программа стектерин (мисалы, USB) аткарган утилитаны колдонуп, бардык керектүү кыстарылган программалык камсыздоону конфигурациялаңыз.
- Тандалган конфигурациянын негизинде инициализация C кодун жаратыңыз. Бул код бир нече иштеп чыгуу чөйрөлөрүндө колдонууга даяр. Колдонуучу коду кийинки код муунунда сакталат.
- STM32CubeMX жөнүндө көбүрөөк маалымат алуу үчүн, STM32 конфигурациялоо жана инициализациялоо C кодун түзүү (UM32) үчүн STM1718CubeMX колдонуучу колдонмосун караңыз.
- Жеткиликтүү долбоордун тизмеси үчүн эксampSTM32CubeWBA үчүн les, STM32Cube микропрограммасынын мурунку тиркеме эскертүүсүн караңызampSTM32WBA сериялары үчүн (AN5929).
Айдоочу колдонмолору
HAL колдонмосу
Бул бөлүмдө STM32CubeWBA аркылуу ыңгайлаштырылган HAL тиркемесин түзүү үчүн зарыл болгон кадамдар сүрөттөлөт:
- Долбоор түзүү
- Жаңы долбоорду түзүү үчүн, \Projects\ астындагы ар бир такта үчүн берилген Калып долбоорунан баштаңыз. \Шаблондор же \Долбоорлор\ астындагы бардык жеткиликтүү долбоорлордон \Мисалдар же \Долбоорлор\ \ Колдонмолор (кайда тактасынын аталышын билдирет, мисалы, STM32CubeWBA).
- Template долбоору бош негизги цикл функциясын камсыз кылат. Бирок, бул STM32CubeWBA долбоорунун жөндөөлөрүн түшүнүү үчүн жакшы башталгыч чекит болуп саналат. шаблон төмөнкү өзгөчөлүктөргө ээ:
- Ал HAL булак кодун, CMSIS жана BSP драйверлерин камтыйт, алар берилген тактада кодду иштеп чыгуу үчүн зарыл болгон компоненттердин минималдуу топтому.
- Ал бардык микропрограмма компоненттери үчүн камтылган жолдорду камтыйт.
- Бул CMSIS жана HAL драйверлерин туура конфигурациялоого мүмкүндүк берүүчү STM32WBA сериясындагы колдоого алынган түзмөктөрдү аныктайт.
- Бул колдонууга даяр колдонуучуну камсыз кылат fileтөмөндө көрсөтүлгөндөй алдын ала конфигурацияланган:
HAL Arm® негизги SysTick менен демейки убакыт базасы менен инициализацияланган. SysTick ISR HAL_Delay() максатында ишке ашырылган.
Эскертүү: Учурдагы долбоорду башка жерге көчүрүп жатканда, бардык камтылган жолдор жаңыртылганын текшериңиз.
- Колдонуучунун долбооруна керектүү орто программаны кошуңуз (милдеттүү эмес)
булагын аныктоо үчүн fileлар долбоорго кошулат file тизмеси, ар бир орто программа үчүн берилген документтерди карагыла. \Projects\STM32xxx_yyy\Applications\ астындагы тиркемелерди караңыз (кайда кайсы булакты билүү үчүн ThreadX сыяктуу ортомчу программанын стекине кайрылат files жана камтуу жолдорун кошуу керек. - Микропрограмма компоненттерин конфигурациялаңыз
HAL жана орто программанын компоненттери темада жарыяланган #define макросторун колдонуу менен куруу убактысынын конфигурациясынын варианттарынын топтомун сунуштайт. file. Шаблон конфигурациясы file ар бир компоненттин ичинде берилет, ал долбоордун папкасына көчүрүлүшү керек (көбүнчө конфигурация file xxx_conf_template.h деп аталат, долбоордун папкасына көчүрүп жатканда _template сөзүн алып салуу керек). конфигурация file ар бир конфигурация вариантынын таасирин түшүнүү үчүн жетиштүү маалымат берет. Кененирээк маалымат ар бир компонент үчүн берилген документтерде бар. - HAL китепканасын баштаңыз
Негизги программага өткөндөн кийин, колдонмо коду төмөнкү тапшырмаларды аткарган HAL китепканасын инициализациялоо үчүн HAL_Init() API чакырышы керек:- Флэш эстутумду алдын ала алып келүү жана SysTick үзгүлтүккө учуроо артыкчылыгын конфигурациялоо (st m32wbaxx_hal_conf.h ичинде аныкталган макростар аркылуу).
- stm32wbaxx_hal_conf.h ичинде аныкталган TICK_INT_PRIO SysTick үзгүлтүккө учуратуу приоритетинде ар бир миллисекундда үзгүлтүктү жаратуу үчүн SysTick конфигурациясы.
- NVIC тобунун артыкчылыктуулугун 0гө коюу.
- stm32wbaxx_hal_msp.c колдонуучуда аныкталган HAL_MspInit() кайра чалуу функциясынын чалуусу file глобалдык төмөнкү деңгээлдеги аппараттык инициализацияларды аткаруу үчүн.
- Системанын саатын конфигурациялаңыз
Системалык сааттын конфигурациясы төмөндө сүрөттөлгөн эки APIди чакыруу аркылуу ишке ашырылат:- HAL_RCC_OscConfig(): бул API ички жана тышкы осцилляторлорду конфигурациялайт. Колдонуучу бир же бардык осцилляторлорду конфигурациялоону тандайт.
- HAL_RCC_ClockConfig(): бул API системалык сааттын булагын, флеш эстутумдун кечигүү убактысын жана AHB жана APB алдын ала шкалаларын конфигурациялайт.
- Перифериялык түзүлүштү баштоо
- Алгач перифериялык HAL_PPP_MspInit функциясын жазыңыз. Төмөнкүдөй жүрүңүз:
- Перифериялык саатты иштетүү.
- Перифериялык GPIO конфигурациялаңыз.
- DMA каналын конфигурациялаңыз жана DMA үзгүлтүгүн иштетиңиз (зарыл болсо).
- Перифериялык үзгүлтүктү иштетүү (зарыл болсо).
- Керек болсо, талап кылынган үзгүлтүктөрдү иштетүүчүлөрдү (перифериялык жана DMA) чакыруу үчүн stm32xxx_it.c түзөтүңүз.
- Эгерде перифериялык үзгүлтүккө же DMA колдонуу пландаштырылса, кайра чалуу процессинин толук функцияларын жазыңыз.
- User main.c file, перифериялык тутка структурасын инициализациялоодон кийин перифериялык инициализациялоо үчүн HAL_PPP_Init() функциясын чакырыңыз.
- Алгач перифериялык HAL_PPP_MspInit функциясын жазыңыз. Төмөнкүдөй жүрүңүз:
- Колдонмо иштеп чыгуу
- Бул жерде сtagд, система даяр жана колдонуучунун колдонмо кодун иштеп чыгуу башталышы мүмкүн.
- HAL перифериялык түзүлүштү конфигурациялоо үчүн интуитивдик жана колдонууга даяр API'лерди камсыз кылат. Ал сурамжылоону, үзгүлтүктөрдү жана DMA программалоо моделин колдойт. Ар бир перифериялык түзүлүштү кантип колдонуу керектиги жөнүндө көбүрөөк маалымат алуу үчүн, бай эксampле топтому STM32CubeWBA MCU топтомунда берилген.
Абайлаңыз: Демейки HAL ишке ашырууда SysTick таймери убакыт базасы катары колдонулат: ал үзгүлтүксүз убакыт аралыктарында үзгүлтүктөрдү жаратат. Эгерде HAL_Delay() перифериялык ISR процессинен чакырылса, SysTick үзгүлтүккө учурашы перифериялык үзгүлтүккө караганда жогорураак артыкчылыкка (сан жагынан төмөн) ээ экенин текшериңиз. Болбосо, чалуучунун ISR процесси бөгөттөлөт. Убакыт базасынын конфигурацияларына таасир этүүчү функциялар колдонуучуда башка ишке ашырууда жокко чыгарууну мүмкүн кылуу үчүн __алсыз деп жарыяланды. file (жалпы максаттагы таймерди колдонуу, мисалыample, же башка убакыт булагы). Көбүрөөк маалымат алуу үчүн HAL_TimeBase эксample.
LL колдонмо
Бул бөлүмдө STM32CubeWBA аркылуу ыңгайлаштырылган LL тиркемесин түзүү үчүн зарыл болгон кадамдар сүрөттөлөт.
- Долбоор түзүү
- Жаңы долбоорду түзүү үчүн, \Projects\ астындагы ар бир такта үчүн берилген Templates_LL долбоорунан баштаңыз. \ Templates_LL, же \Projects\ астындагы бардык жеткиликтүү долбоорлордон \Мисamples_LL ( тактасынын аталышын билдирет, мисалы, NUCLEO-WBA32CG).
- Үлгү долбоору бош негизги цикл функциясын камсыз кылат, бул STM32CubeWBA үчүн долбоордун жөндөөлөрүн түшүнүү үчүн жакшы башталгыч чекит. Калыптын негизги мүнөздөмөлөрү төмөнкүлөр:
- Ал LL жана CMSIS драйверлеринин баштапкы коддорун камтыйт, алар берилген тактада кодду иштеп чыгуу үчүн зарыл болгон компоненттердин минималдуу топтому.
- Ал бардык керектүү микропрограмма компоненттери үчүн камтылган жолдорду камтыйт.
- Ал колдоого алынган STM32WBA сериясындагы аппаратты тандап, CMSIS жана LL драйверлерин туура конфигурациялоого мүмкүндүк берет.
- Бул колдонууга даяр колдонуучуну камсыз кылат files төмөнкүдөй алдын ала конфигурацияланган:
◦ main.h: LED жана USER_BUTTON аныктоочу абстракция катмары.
◦ main.c: максималдуу жыштык үчүн системалык сааттын конфигурациясы.
- Учурдагы долбоорду башка тактага өткөрүңүз
Учурдагы долбоорду башка максаттуу тактада колдоо үчүн, ар бир такта үчүн берилген Templates_LL долбоорунан баштаңыз жана \Projects\ астында жеткиликтүү. \ Templates_LL.- LL мурунку тандаңызample: LL экс турган тактаны табууamples жайгаштырылган, LL экс тизмесин карагылаamples STM32CubeProjectsList.html.
- LL мурунку портampле:
- Templates_LL папкасын көчүрүңүз/ чаптаңыз - баштапкы булакты сактоо үчүн - же учурдагы Temp lates_LL долбоорун түз жаңыртуу.
- Андан кийин көчүрүү негизинен Templates_LL алмаштыруудан турат files тарабынан Examples_LL максаттуу долбоор.
- Бардык тактайдын белгилүү бөлүктөрүн сактаңыз. Түшүнүктүүлүк үчүн тактайдын бөлүктөрү өзгөчө белгилер менен белгиленет tags:
- Ошентип, негизги көчүрүү кадамдары болуп төмөнкүлөр саналат:
- stm32wbaxx_it.h алмаштырыңыз file
- stm32wbaxx_it.c алмаштырыңыз file
- негизги.h алмаштырыңыз file жана аны жаңыртыңыз: LL шаблонунун LED жана колдонуучу баскычынын аныктамасын BOARD SPECIFIC CONFIGURATION астында сактаңыз tags.
- Негизгисин алмаштырыңыз.c file жана аны жаңыртыңыз:
- SystemClock_Config() LL шаблон функциясынын саат конфигурациясын BOARD SPECIFIC CONFIGURATION астында сактаңыз tags.
- LED аныктамасына жараша ар бир LDx көрүнүшүн main.h ичинде бар башка LDy менен алмаштырыңыз file.
- Бул өзгөртүүлөр менен эксampле азыр максаттуу тактада иштейт
Коопсуздук колдонмолору
Бул пакет коопсуздук колдонмолору менен жеткирилет.
SBSFU колдонмолору
- SBSFU, Secure Boot жана Secure Firmware Update функцияларын (MCUboot негизинде) камтыган Root of Trust чечими менен камсыз кылат.
- Чечим колдонмону аткаруудан мурун колдонулат.
- Чечим мурункуну камсыз кылатampкооптуу эмес тиркемеден обочолонгон коопсуз кызматтын (GPIO которуштуруусу). Иштөө убагындагы кооптуу колдонмо дагы эле бул чечимди колдоно алат.
TFM колдонмолору
TFM ишенимдүү жүктөө жана коопсуз микропрограмманы жаңыртуу функцияларын камтыган Root of Trust чечими менен камсыз кылат.
(MCUboot негизинде). Чечим колдонмону аткаруудан мурун колдонулат. Чечим коопсуз эмес тиркемеден обочолонгон TFM коопсуз кызматтарын камсыз кылат. Иштөө убагындагы кооптуу колдонмо дагы эле бул чечимди колдоно алат.
RF колдонмолору
RF колдонмосу бул колдонмонун эскертүүсүндө сүрөттөлөт: STM32WBA сериясындагы микроконтроллерлер (AN5928) менен зымсыз тиркемелерди куруу.
STM32CubeWBA релиз жаңыртуулары алынууда
Акыркы STM32CubeWBA MCU пакетинин релиздери жана патчтары STM32WBA Серияларынан жеткиликтүү. Алар STM32CubeMX ичиндеги CHECK FOR UPDATE баскычынан алынышы мүмкүн. Көбүрөөк маалымат алуу үчүн, STM3 конфигурациялоо жана инициализациялоо C кодун түзүү (UM32) үчүн STM32CubeMX колдонуучу колдонмосунун 1718-бөлүмүн караңыз.
Көп берилүүчү суроолор
- LL драйверлеринин ордуна HALды качан колдонушум керек?
- HAL драйверлери жогорку деңгээлдеги жана функцияга багытталган API'лерди сунуштайт, алар жогорку деңгээлдеги портативдик менен. Продукт же перифериялык татаалдыгы акыркы колдонуучулар үчүн жашырылган.
- LL драйверлери жакшыраак оптималдаштырылган, бирок портативдик азыраак катмарлуу реестр деңгээлиндеги API'лерди сунуштайт. Алар продукт же IP спецификациялары боюнча терең билимди талап кылат.
- HAL жана LL драйверлерин чогуу колдоно аламбы? Мүмкүн болсо, кандай чектөөлөр бар?
- HAL жана LL драйверлерин да колдонсо болот. IP инициализация фазасы үчүн HAL колдонуңуз, андан кийин LL драйверлери менен I/O операцияларын башкарыңыз.
- HAL жана LL ортосундагы негизги айырма, HAL драйверлери операцияны башкаруу үчүн туткаларды түзүүнү жана колдонууну талап кылат, ал эми LL драйверлери түздөн-түз перифериялык регистрлерде иштешет. Эксamples_MIX example HAL менен LLди кантип аралаштырууну көрсөтөт.
- LL инициализация API'лери кантип иштетилген?
- LL инициализациялоо API'леринин жана ага байланыштуу ресурстардын (Түзүмдөр, литералдар жана прототиптер) аныктамасы USE_FULL_LL_DRIVER компиляция которгучу менен шартталган.
- LL инициализациялоо API'лерин колдонуу үчүн, бул которгучту инструменттердин компиляторунун препроцессоруна кошуңуз.
- Кантип STM32CubeMX орнотулган программанын негизинде кодду түзө алат?
STM32CubeMX STM32 микроконтроллерлери, анын ичинде алардын перифериялык түзүлүштөрү жана колдонуучуга графикалык көрсөтүүнү камсыз кылуу жана *.h же *.c түзүүгө мүмкүндүк берген программалык камсыздоо боюнча орнотулган билимге ээ. fileс колдонуучунун конфигурациясына негизделген.
МААНИЛҮҮ ЭСКЕРТҮҮ – КЫЛАТ КЫЛЫП ОКУҢУЗ
- STMicroelectronics NV жана анын туунду компаниялары («СТ») ST өнүмдөрүнө жана/же бул документке каалаган убакта эскертүүсүз өзгөртүү, оңдоо, жакшыртуу, өзгөртүү жана жакшыртуу укугун өзүнө калтырат. Сатып алуучулар буйрутмаларды берүүдөн мурун ST продуктулары боюнча акыркы тиешелүү маалыматты алышы керек. ST продуктылары СТтин сатуунун шарттарына ылайык, буйрутманы ырастоо учурундагы жерде сатылат.
- Сатып алуучулар ST өнүмдөрүн тандоо, тандоо жана колдонуу үчүн жалгыз жооп берет жана ST колдонууга жардам берүү же сатып алуучулардын продуктуларынын дизайны үчүн эч кандай жоопкерчилик тартпайт.
- Бул жерде ST тарабынан эч кандай интеллектуалдык менчик укугуна ачык же кыйыр түрдө эч кандай лицензия берилбейт.
- Бул жерде баяндалган маалыматтан башкача жоболор менен СТ продукциясын кайра сатуу СТ тарабынан мындай продукт үчүн берилген кепилдикти жокко чыгарат.
- ST жана ST логотиби ST соода белгилери болуп саналат. ST соода белгилери жөнүндө кошумча маалымат алуу үчүн, www.st.com/trademarks караңыз. Бардык башка өнүм же кызмат аттары тиешелүү ээлеринин менчиги болуп саналат.
- Бул документтеги маалымат бул документтин бардык мурунку версияларында мурда берилген маалыматтын ордун басат жана алмаштырат.
- © 2023 STMicroelectronics – Бардык укуктар корголгон
Документтер / Ресурстар
![]() |
STMicroelectronics STM32WBA Сериялар Баштоо [pdf] Колдонуучунун колдонмосу STM32WBA Сериялар Баштоо, Баштоо, Баштоо |