STMicroelectronics-лого

STMicroelectronics STM32WBA цувралын эхлэл

STMicroelectronics-STM32WBA-цуврал-эхлэл-fig-1

Бүтээгдэхүүний мэдээлэл

Үзүүлэлтүүд:

  • Бүтээгдэхүүний нэр: 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-crypto сангууд болон бусад.
  • STM32CubeWBA MCU багц нь STM32CubeMX код үүсгэгчтэй нийцдэг үү?
    Тиймээ, уг багц нь эхлүүлэх кодыг үүсгэх STM32CubeMX код үүсгэгчтэй бүрэн нийцдэг.

Танилцуулга

  • STM32Cube нь STMicroelectronics-ийн анхны санаачилга бөгөөд хөгжүүлэлтийн хүчин чармайлт, цаг хугацаа, зардлыг бууруулах замаар дизайнерын бүтээмжийг мэдэгдэхүйц нэмэгдүүлэх зорилготой юм. STM32Cube нь STM32 багцыг бүхэлд нь хамардаг.
    STM32Cube нь:
    • Төсөл боловсруулахаас эхлээд хэрэгжүүлэх хүртэл ашиглахад зориулагдсан хэрэглэгчдэд ээлтэй програм хангамж хөгжүүлэх хэрэгслүүдийн багц бөгөөд үүнд:
      • STM32CubeMX нь график шидтэнг ашиглан C эхлүүлэх кодыг автоматаар үүсгэх боломжийг олгодог график програм хангамжийн тохиргооны хэрэгсэл юм.
      • STM32CubeIDE нь захын тохиргоо, код үүсгэх, код эмхэтгэх, дибаг хийх функц бүхий бүгдийг нэг дор хөгжүүлэх хэрэгсэл юм.
      • STM32CubeCLT нь код эмхэтгэх, самбарын програмчлал болон дибаг хийх функц бүхий командын мөрийг боловсруулах хэрэгслийн багц юм.
      • STM32CubeProgrammer (STM32CubeProg), график болон командын мөрийн хувилбаруудад байдаг програмчлалын хэрэгсэл
      • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), бодит цаг хугацаанд STM32 програмын зан байдал, гүйцэтгэлийг нарийн тохируулах хүчирхэг хяналтын хэрэгсэл.
    • STM32Cube MCU болон MPU багцууд, микроконтроллер болон микропроцессорын цуврал тус бүрт тусгайлан зориулсан цогц програм хангамжийн платформууд (STM32WBA цувралын STM32CubeWBA гэх мэт), үүнд:
      • STM32Cube техник хангамжийн хийсвэр давхарга (HAL) нь STM32 багцын хамгийн их зөөврийг баталгаажуулдаг.
      • STM32Cube бага түвшний API-ууд нь техник хангамжийг хэрэглэгчийн өндөр түвшний хяналтаар хамгийн сайн гүйцэтгэл, ул мөрийг баталгаажуулдаг.
      • ThreadX зэрэг дундын програм хангамжийн бүрэлдэхүүн хэсгүүдийн тууштай багц. FileX / LevelX, NetX Duo, USBX, мэдрэгчтэй номын сан, mbed-crypto, TFM, MCUboot, OpenBL болон STM32_WPAN (Bluetooth® Low Energy Pro-г оруулаад)files ба үйлчилгээ, Mesh, Zigbee®, OpenThread, Matter, 802.15.4 MAC давхарга)
      • Захын болон хэрэглээний иж бүрэн багц бүхий бүх суулгагдсан програм хангамжийн хэрэгслүүдamples
    • STM32Cube MCU болон MPU багцуудын функцийг нөхөх програм хангамжийн бүрэлдэхүүн хэсгүүдийг агуулсан STM32Cube өргөтгөлийн багцууд:
      • Дунд програмын өргөтгөлүүд болон хэрэглээний давхаргууд
      • Examples зарим тодорхой STMicroelectronics хөгжүүлэлтийн самбар дээр ажиллаж байна
  • Энэхүү хэрэглэгчийн гарын авлагад STM32CubeWBA MCU багцыг хэрхэн ашиглаж эхлэх талаар тайлбарласан болно.
    • 2-р хэсэг STM32CubeWBA үндсэн шинж чанарууд нь STM32CubeWBA MCU багцын үндсэн шинж чанаруудыг тайлбарладаг.
    • 3-р хэсэг STM32CubeWBA архитектур дууссанview гаруй өгдөгview STM32CubeWBA архитектур болон MCU багц бүтэц.

Ерөнхий мэдээлэл

STM32CubeWBA MCU багц нь Arm® TrustZone® ба FPU бүхий Arm® Cortex®-M32 процессор дээр суурилсан 32 битийн STM33 микроконтроллерууд дээр ажилладаг.
Жич: Arm болон TrustZone нь Arm Limited-ийн (эсвэл түүний охин компаниудын) АНУ болон/эсвэл өөр газар бүртгэгдсэн худалдааны тэмдэгнүүд юм.

STM32CubeWBA гол онцлогууд

  • STM32CubeWBA MCU багц нь TrustZone® ба FPU бүхий Arm® Cortex®-M32 процессор дээр суурилсан 32 битийн STM33 микроконтроллерууд дээр ажилладаг.
  • 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-crypto номын сангууд
    • ST Netwok номын сан
    • STMTouch мэдрэгчтэй мэдрэгчтэй номын сангийн шийдэл
  • Эдгээр бүх дунд програмын бүрэлдэхүүн хэсгүүдийг хэрэгжүүлэх хэд хэдэн програмууд болон үзүүлэнгүүдийг STM32CubeWBA MCU багцад оруулсан болно.
  • STM32CubeWBA MCU багцын бүрэлдэхүүн хэсгийг Зураг 1-д үзүүлэв. STM32CubeWBA MCU багцын бүрэлдэхүүн хэсгүүд.

    STMicroelectronics-STM32WBA-цуврал-эхлэл-fig-2

STM32CubeWBA архитектур дууссанview

STM32CubeWBA MCU багц шийдэл нь Зураг 2. STM32CubeWBA MCU багцын архитектурт тайлбарласны дагуу бие даасан гурван төвшинд хялбархан харилцан үйлчлэлцдэг.

STMicroelectronics-STM32WBA-цуврал-эхлэл-fig-3

0-р түвшин

Энэ түвшинг гурван дэд давхаргад хуваадаг.

  • Зөвлөлийн дэмжлэгийн багц (BSP).
  • Техник хангамжийн хийсвэр давхарга (HAL):
    • HAL захын драйверууд
    • Бага түвшний драйверууд
  • Үндсэн захын хэрэглээ жишээ ньamples.

Зөвлөлийн дэмжлэгийн багц (BSP)
Энэ давхарга нь техник хангамжийн самбарт (LCD, Аудио, microSD™, MEMS драйверууд гэх мэт) техник хангамжийн бүрэлдэхүүн хэсгүүдтэй холбоотой API-уудын багцыг санал болгодог. Энэ нь хоёр хэсгээс бүрдэнэ:

  • Бүрэлдэхүүн хэсгийн драйвер:
    Энэ драйвер нь STM32 төхөөрөмжтэй биш, харин самбар дээрх гадаад төхөөрөмжтэй холбоотой. Бүрэлдэхүүн хэсгийн драйвер нь BSP драйверын гадаад бүрэлдэхүүн хэсгүүдэд тусгай API-уудыг өгдөг бөгөөд бусад самбар дээр зөөврийн байж болно.
  • BSP драйвер:
    BSP драйвер нь бүрэлдэхүүн хэсгийн драйверуудыг тодорхой самбарт холбох боломжийг олгодог бөгөөд хэрэглэгчдэд ээлтэй багцаар хангадаг
    APIs. 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 нь хоёр ангилалд хуваагдана:
    1. Бүх STM32 цуврал микроконтроллеруудад нийтлэг болон ерөнхий функцүүдийг хангадаг ерөнхий API-ууд.
    2. Тодорхой гэр бүл эсвэл тодорхой хэсгийн дугаарт тусгайлан тохируулсан функцуудыг хангадаг өргөтгөлийн API.
  • Доод түвшний API-ууд нь бүртгэлийн түвшинд доод түвшний API-г өгдөг бөгөөд илүү оновчтой боловч зөөвөрлөх чадвар багатай.
    • Тэд MCU болон захын техникийн үзүүлэлтүүдийн талаар гүнзгий мэдлэг шаарддаг.
    • LL драйверууд нь HAL-аас илүү техник хангамжид ойр, түргэн хөнгөн, мэргэжилтэн рүү чиглэсэн давхаргыг санал болгохоор бүтээгдсэн. HAL-аас ялгаатай нь LL API нь оновчтой хандалт нь гол шинж чанар биш, эсвэл хүнд програм хангамжийн тохиргоо эсвэл нарийн төвөгтэй дээд түвшний стек шаарддаг захын төхөөрөмжүүдэд зориулагдсангүй.
    • LL драйверуудын онцлог нь:
      • Өгөгдлийн бүтцэд заасан параметрийн дагуу захын үндсэн функцуудыг эхлүүлэх функцүүдийн багц.
      • Эхлэх өгөгдлийн бүтцийг талбар бүрт тохирох дахин тохируулах утгуудаар дүүргэх функцүүдийн багц.
      • Захын төхөөрөмжийг идэвхгүй болгох функц (захын регистрүүдийг анхдагч утгаараа сэргээсэн).
      • Шууд болон атомын бүртгэлд хандах зориулалттай шугаман функцүүдийн багц.
      • HAL-аас бүрэн хараат бус, бие даасан горимд (HAL драйвергүйгээр) ашиглах боломжтой.
      • Дэмжигдсэн захын функцүүдийн бүрэн хамрах хүрээ.

Үндсэн захын хэрэглээ жишээ ньamples
Энэ давхарга нь өмнөх давхаргыг хамардагampЗөвхөн HAL болон BSP нөөцийг ашиглан STM32 захын төхөөрөмж дээр бүтээгдсэн.

1-р түвшин

Энэ түвшинг хоёр дэд давхаргад хуваадаг.

  • Дунд програмын бүрэлдэхүүн хэсгүүд
  • Exampдунд програмын бүрэлдэхүүн хэсгүүд дээр суурилсан les

Дунд програмын бүрэлдэхүүн хэсгүүд

  • Дунд програм хангамж нь Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
  • Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot болон mbed-crypto.
  • Энэ давхаргын бүрэлдэхүүн хэсгүүдийн хоорондох хэвтээ харилцан үйлчлэл нь онцолсон API-г дуудах замаар хийгддэг.
  • Доод түвшний драйверуудтай босоо харилцан үйлчлэл нь номын сангийн системийн дуудлагын интерфейс дээр хэрэгжсэн тодорхой буцаан дуудлагууд болон статик макронуудаар хийгддэг.
  • Дунд зэргийн програм хангамжийн бүрэлдэхүүн хэсэг бүрийн үндсэн шинж чанарууд нь дараах байдалтай байна.
    • Microsoft® Azure® RTOS
      • Azure® RTOS ThreadX: Бодит цагийн үйлдлийн систем (RTOS), хоёр функцийн горим бүхий суулгагдсан системд зориулагдсан.
        • Нийтлэг горим: Урсгалын удирдлага ба синхрончлол, санах ойн сангийн удирдлага, мессеж, үйл явдал зохицуулах зэрэг нийтлэг RTOS функцууд.
        • Модулийн горим: Урьдчилан холбосон ThreadX модулиудыг модулийн менежерээр дамжуулан шууд ачаалж, буулгах боломжийг олгодог дэвшилтэт хэрэглэгчийн горим.
      • NetX Duo
      • FileX
      • USBX
    • Bluetooth® Low Energy (BLE): Bluetooth® Low Energy протоколыг Link болон Stack давхаргад хэрэгжүүлдэг.
    • MCUboot (нээлттэй эхийн програм хангамж)
    • Стек болон холбогдох кластерт зориулсан Zigbee® протоколууд.
    • Thread® протоколын стек ба холбоос давхарга.
    • Arm® итгэмжлэгдсэн програм хангамж-M, TF‑M (нээлттэй эхийн программ хангамж): TrustZone®-д зориулсан Arm® платформын аюулгүй байдлын архитектурын (PSA) холбогдох аюулгүй үйлчилгээнүүдийн жишиг хэрэгжилт.
    • mbed-crypto (нээлттэй эхийн програм хангамж): mbed-crypto дунд програм хангамж нь PSA криптографийн API хэрэгжилтийг хангадаг.
    • STM32 мэдрэгчтэй мэдрэгчтэй сан: STMTouch багтаамжтай мэдрэгчтэй мэдрэгч бүхий бат бөх шийдэл, ойрын, мэдрэгчтэй товчлуур, шугаман болон эргэлтэт мэдрэгч мэдрэгчийг дэмждэг. Энэ нь батлагдсан гадаргын цэнэгийн шилжүүлгийг олж авах зарчим дээр суурилдаг.

Exampдунд програмын бүрэлдэхүүн хэсгүүд дээр суурилсан les
Дунд програмын бүрэлдэхүүн хэсэг бүр нэг буюу хэд хэдэн экс-тэй ирдэгamples (мөн програм гэж нэрлэдэг) хэрхэн ашиглахыг харуулсан. Интеграци жишээлбэлampДундын програм хангамжийн хэд хэдэн бүрэлдэхүүн хэсгүүдийг ашигладаг.

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бүх түвшний програмууд болон програмууд нь HAL драйвер эсвэл дунд програмын бүрэлдэхүүн хэсгүүдийг ойлгох, ашиглахад хялбар болгодог. Эдгээр өмнөхampХүснэгт 2-т жагсаасан STMicroelectronics самбар дээр ажилладаг.
    Хүснэгт 2. STM32WBA цувралын самбар
    Удирдах зөвлөл STM32WBA дэмждэг төхөөрөмжүүдийн самбар
    NUCLEO-WBA52CG STM32WBA52CGU6
    NUCLEO-WBA55CG STM32WBA55CGU6
    STM32WBA55-DK1 STM32WBA55CGU7
  • STM32CubeWBA MCU багц нь ямар ч нийцтэй техник хангамж дээр ажиллах боломжтой. Хэрэглэгч зүгээр л BSP драйверуудыг шинэчилж, өгөгдсөн хуучин файлыг порт руу шилжүүлдэгampХэрэв сүүлийнх нь ижил техник хангамжтай (LED, LCD дэлгэц, товчлуур гэх мэт) байвал самбар дээрх les.
Програм хангамжийн багц дууссанview
  • STM32CubeWBA багцын шийдэл нь Зураг 3-т үзүүлсэн бүтэцтэй, нэг зип багцаар хангагдсан болно. STM32CubeWBA програм хангамжийн багц бүтэц.

    STMicroelectronics-STM32WBA-цуврал-эхлэл-fig-4

  • Самбар бүрийн хувьд хуучин багцamples нь EWARM, MDK-ARM болон STM32CubeIDE хэрэгслийн гинжинд зориулсан урьдчилан тохируулсан төслүүдээр хангагдсан.
  • Зураг 4. STM32CubeWBA exampдууслааview NUCLEO‑WBA52CG, NUCLEO-WBA55CG болон STM32WBA55G-DK1 хавтангийн төслийн бүтцийг харуулж байна.

    STMicroelectronics-STM32WBA-цуврал-эхлэл-fig-5

  • эксamples-ийг хэрэглэх STM32Cube түвшнээс хамааран ангилах ба дараах байдлаар нэрлэнэ.
    • 0-р түвшний өмнөхamples-ийг Ex гэж нэрлэдэгamples, Examples_LL болон Examples_MIX. Тэд HAL драйверууд, LL драйверууд болон HAL болон LL драйверуудын холимогийг ямар ч дундын програм хангамжийн бүрэлдэхүүн хэсэггүйгээр ашигладаг.
    • 1-р түвшний өмнөхampпрограмууд гэж нэрлэдэг. Эдгээр нь дунд програмын бүрэлдэхүүн хэсэг бүрийн ердийн хэрэглээний тохиолдлыг өгдөг. Templ ates болон Templates_LL лавлахуудад байгаа загвар төслүүдийн ачаар тухайн самбарт зориулсан ямар ч програм хангамжийн програмыг хурдан бүтээх боломжтой.

TrustZone® идэвхжүүлсэн төслүүд

  • TrustZone®-г идэвхжүүлсэн Жишээ ньamples нэр нь _TrustZone угтварыг агуулна. Энэ дүрмийг мөн программд (TrustZone®-д зориулагдсан TFM болон SBSFU-аас бусад) хэрэглэнэ.
  • TrustZone®-г идэвхжүүлсэн Examples болон Applications нь Зураг 5-д үзүүлсэн шиг найдвартай болон аюулгүй дэд төслүүдээс бүрдсэн олон төслийн бүтцээр хангагдсан болно. Олон төслийн аюулгүй ба аюулгүй бус төслийн бүтэц.
  • TrustZone®-г идэвхжүүлсэн төслүүдийг CMSIS-5 төхөөрөмжийн загварын дагуу хөгжүүлж, системийн хуваалтын толгой хэсгийг багтаасан болно. file хуваалт_ .h, аюулгүй гүйцэтгэлийн төлөвт аюулгүй шинж чанарын нэгж (SAU), FPU болон аюулгүй/аюулгүй тасалдлын хуваарилалтыг голчлон хариуцдаг.
  • Энэ тохиргоог аюулгүй CMSIS SystemInit() функцэд гүйцэтгэдэг бөгөөд энэ нь аюулгүй программын main() функцийг оруулахаас өмнө эхлүүлэх үед дуудагддаг. Програм хангамжийн удирдамжийн Arm® TrustZone®-M баримт бичгийг үзнэ үү.

    STMicroelectronics-STM32WBA-цуврал-эхлэл-fig-6

  • STM32CubeWBA багцын програм хангамжийн багц нь _ хуваалт дахь санах ойн анхдагч хуваалтыг өгдөг. .h files-ийг доороос авах боломжтой: \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T emplates
  • Эдгээр хуваалтад files, 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 бүсүүд). Аюулгүй/аюулгүй програмуудын төслийн холбогч files нь мөн зэрэгцсэн байх ёстой.
  • Бүгд өмнөхampижил бүтэцтэй:
    • Бүх толгой хэсгийг агуулсан \Inc хавтас files.
    • Эх код агуулсан Src хавтас.
    • \EWARM, \MDK-ARM болон \STM32CubeIDE хавтаснууд нь багажны хэлхээ тус бүрийн урьдчилан тохируулсан төслийг агуулсан.
    • readme.md болон readme.html эксийг тайлбарласанample зан байдал, түүнийг ажиллуулахад шаардлагатай орчин.
    • ioc file Энэ нь хэрэглэгчид хуучин програм хангамжийн ихэнхийг нээх боломжийг олгодогampSTM32CubeMX доторх les.

STM32CubeWBA-г ашиглаж эхэлж байна

Эхний HAL экс ажиллуулж байнаample

Энэ хэсэгт эхний экс-г ажиллуулах нь хичнээн энгийн болохыг тайлбарладагample STM32CubeWBA дотор. Энэ нь NUCLEO-WBA52CG самбар дээр ажилладаг энгийн LED унтраалга үүсгэх жишээ болгон ашигладаг.

  1. STM32CubeWBA MCU багцыг татаж аваарай.
  2. Үүнийг өөрийн сонгосон лавлах руу задлаарай.
  3. Зураг 1-д үзүүлсэн багцын бүтцийг өөрчлөхгүй байхыг анхаарна уу. Мөн зарим IDE-д зам гарахад асуудал гардаг тул багцыг өөрийн үндсэн эзлэхүүнтэй (C:\ST эсвэл G:\Tests гэсэн үг) ойрхон газар хуулахыг зөвлөж байна. урт хэтэрхий урт байна.

Эхний TrustZone®-г идэвхжүүлсэн жишээлбэл ажиллуулж байнаample

  • TrustZone®-г ачаалж, ажиллуулахын өмнө жишээлбэлample, энэ нь заавал экс уншиж байнаampнамайг унш file 4.2.1 TrustZone®-г идэвхжүүлсэн төслүүд (TZEN=1 (хэрэглэгчийн сонголтын байт))-д заасны дагуу хамгаалалтыг идэвхжүүлсэн эсэхийг баталгаажуулдаг аливаа тусгай тохиргоонд зориулагдсан.
    1. \Projects\NUCLEO-WBA52CG\Ex-ыг үзнэ үүamples.
    2. \GPIO, дараа нь \GPIO_IOToggle_TrustZone фолдеруудыг нээнэ үү.
    3. Төслийг өөрийн дуртай хэрэгслийн гинжээр нээнэ үү. Түргэн дууслааview экс-ыг хэрхэн нээх, бүтээх, ажиллуулах талаарampДэмжигдсэн хэрэгслийн гинж бүхий le-г доор өгөв.
    4. Аюулгүй болон найдвартай бус бүх төслийг дарааллаар нь дахин бүтээнэ үү files ба аюулгүй болон хамгаалалтгүй зургуудыг зорилтот санах ойд ачаална.
    5. Эксийг ажиллуулample: тогтмол, аюулгүй програм нь LD2-г секунд тутамд, харин хамгаалалтгүй програм нь LD3-ийг хоёр дахин хурдан шилжүүлдэг. Дэлгэрэнгүй мэдээллийг Readme хэсгээс авна уу file эксample.
  • Эксийг нээх, бүтээх, ажиллуулахampДэмжигдсэн хэрэгслийн гинжтэй бол дараах алхмуудыг дагана уу:
    • EWARM:
      1. Хуучин доорample хавтас, \EWARM дэд хавтасыг нээнэ үү.
      2. Project.eww ажлын талбарыг ажиллуул
      3. xxxxx_S аюулгүй төслийг дахин бүтээнэ үү files: [Төсөл]>[Бүгдийг дахин бүтээх].
      4. xxxxx_NS хамгаалалтгүй төслийг Идэвхтэй програм гэж тохируулах (xxxxx_NS төсөл [Идэвхтэй болгож тохируулах] дээр баруун товшино уу)
      5. xxxxx_NS хамгаалалтгүй төслийг дахин бүтээнэ үү files: [Төсөл]>[Бүгдийг дахин бүтээх].
      6. [Төсөл]>[Татаж авах]>[Идэвхтэй програмыг татаж авах] -аар хамгаалалтгүй хоёртын файлыг анивчуулна.
      7. xxxxx_S-г Идэвхтэй програмаар тохируулна уу (xxxxx_S төсөл дээр баруун товшино уу [Идэвхтэй болгож тохируулах]).
      8. [Татаж авах ба дибаг хийх] (Ctrl+D) ашиглан аюулгүй хоёртын файлыг анивчина уу.
      9. Програмыг ажиллуулна уу: [Debug]>[Go(F5)]
    • MDK-ARM:
      1. \MDK-ARM хэрэгслийн сүлжээг нээнэ үү.
      2. Multiprojects ажлын талбарыг нээнэ үү file Project.uvmpw.
      3. xxxxx_s төслийг Active application ([Set as Active Project]) гэж сонгоно уу.
      4. xxxxx_s төслийг бүтээх.
      5. xxxxx_ns төслийг Active project ([Set as Active Project]) гэж сонгоно уу.
      6. xxxxx_ns төслийг бүтээх.
      7. Аюулгүй хоёртын файлыг ([F8]) ачаална уу. Энэ нь \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf-г флаш санах ой руу татдаг)
      8. Project_s төслийг идэвхтэй төсөл болгон сонгоно уу ([Идэвхтэй төсөл болгон тохируулах]).
      9. Аюулгүй хоёртын файлыг ачаална уу ([F8]). Энэ нь \MDK-ARM\xxxxx_s\Exe\xxxx_s.axf-г флаш санах ой руу татдаг).
      10. Эксийг ажиллуулample.
    • STM32CubeIDE:
      1. STM32CubeIDE хэрэгслийн сүлжээг нээнэ үү.
      2. Multiprojects ажлын талбарыг нээнэ үү file .төсөл.
      3. xxxxx_Secure төслийг дахин бүтээнэ үү.
      4. xxxxx_NonSecure төслийг дахин бүтээнэ үү.
      5. Аюулгүй төсөлд зориулж [STM32 Cortex-M C/C++ гэж дибаг хийх] програмыг ажиллуул.
      6. [Тохиргоог засах] цонхноос [Эхлүүлэх] самбарыг сонгоод, хамгаалалтгүй төслийн зураг болон тэмдэгтүүдийг ачаална уу.
        Чухал: Аюулгүй төсөл нь хамгаалалттай төслөөс өмнө ачаалагдсан байх ёстой.
      7. [Ok] дээр дарна уу.
      8. Эксийг ажиллуулample on дибаг хийх хэтийн төлөв.

Эхний TrustZone®-г идэвхгүй болгож ажиллуулж байнаample

  • TrustZone® идэвхгүйжүүлсэн програмыг ачаалж, ажиллуулахын өмнөample, энэ нь заавал экс уншиж байнаampнамайг унш file ямар нэгэн тодорхой тохиргооны хувьд. Хэрэв тусгайлан дурдаагүй бол самбарын төхөөрөмжийн хамгаалалт идэвхгүй байгаа эсэхийг шалгаарай (TZEN=0 (хэрэглэгчийн сонголтын байт)). TZEN = 0 руу нэмэлт регресс хийх бол FAQ-аас үзнэ үү
    1. \Projects\NUCLEO-WBA52CG\Ex-ыг үзнэ үүamples.
    2. \GPIO, дараа нь \GPIO_EXTI фолдеруудыг нээнэ үү.
    3. Төслийг өөрийн дуртай хэрэгслийн гинжээр нээнэ үү. Түргэн дууслааview экс-ыг хэрхэн нээх, бүтээх, ажиллуулах талаарampДэмжигдсэн хэрэгслийн гинж бүхий le-г доор өгөв.
    4. Бүгдийг нь сэргээ files болон өөрийн зургийг зорилтот санах ойд ачаална уу.
    5. Эксийг ажиллуулample: [ХЭРЭГЛЭГЧИЙН] товчлуурыг дарах бүрт LD1 LED асаалттай байдаг. Дэлгэрэнгүй мэдээллийг Readme хэсгээс авна уу file эксample.
  • Эксийг нээх, бүтээх, ажиллуулахampДэмжигдсэн хэрэгслийн гинжтэй бол дараах алхмуудыг дагана уу:
    • EWARM:
      1. Хуучин доорample хавтас, \EWARM дэд хавтасыг нээнэ үү.
      2. Project.eww ажлын талбарыг ажиллуулна уу (ажлын талбарын нэр нэг өмнөхөөс өөрчлөгдөж болноampнөгөө рүү).
      3. Бүгдийг нь сэргээ files: [Төсөл]>[Бүгдийг дахин бүтээх].
      4. Төслийн зургийг ачаална уу: [Төсөл]> [Дабаг].
      5. Програмыг ажиллуулна уу: [Дбаг]>[Яв (F5)].
    • MDK-ARM:
      1. Хуучин доорample хавтас руу ороод \MDK-ARM дэд хавтасыг нээнэ үү.
      2. Project.uvproj ажлын талбарыг ажиллуулна уу (ажлын талбарын нэр нэг хувилбараас өөрчлөгдөж болноampнөгөө рүү).
      3. Бүгдийг нь сэргээ files:[Төсөл]>[Бүх зорилтыг дахин бүтээх files].
      4. Төслийн зургийг ачаална уу: [Дбаг]>[Дабаг хийх сессийг эхлүүлэх/ зогсоох].
      5. Програмыг ажиллуулах: [Дбаг]>[Ажиллуулах (F5)].
    • STM32CubeIDE:
      1. STM32CubeIDE хэрэгслийн сүлжээг нээнэ үү.
      2. Дарна уу [File]>[Ажлын талбарыг сэлгэх]>[Бусад] руу ороод STM32CubeIDE ажлын талбарын лавлах руу очно уу.
      3. Дарна уу [File]>[Импорт] , [Ерөнхий]> [Ажлын талбарт байгаа төслүүд]-г сонгоод, [Дараах] дээр дарна уу.
      4. STM32CubeIDE ажлын талбарын лавлах руу орж төслийг сонго.
      5. Бүх төслийг дахин бүтээх files: [Project Explorer] цонхноос төслөө сонгоод [Project]>[Build project] цэсийг дарна уу.
      6. Програмыг ажиллуул: [Ажиллуулах]> [Дбаг хийх (F11)]
Захиалгат програм боловсруулах

Жич: Програм хангамж нь флаш санах ойноос 0 хүлээлтийн төлөвийг авахын тулд зааврын кэшийг (ICACHE) идэвхжүүлж, хамгийн их гүйцэтгэл, илүү сайн эрчим хүчний зарцуулалтад хүрэх ёстой.

STM32CubeMX ашиглан программыг хөгжүүлэх эсвэл шинэчлэх

  • STM32CubeWBA MCU багцад бараг бүх төслийн өмнөхamples нь STM32CubeMX хэрэглүүрийн тусламжтайгаар систем, захын төхөөрөмж болон дунд програмыг эхлүүлэхэд зориулагдсан.
  • Одоо байгаа төслийг шууд ашиглах жишээлбэлampSTM32CubeMX хэрэглүүрийн хувьд STM32CubeMX 6.10.0 буюу түүнээс дээш хувилбар шаардлагатай:
    • STM32CubeMX суулгасны дараа санал болгож буй төслийг нээж, шаардлагатай бол шинэчилнэ үү. Одоо байгаа төслийг нээх хамгийн энгийн арга бол *.ioc дээр давхар товших явдал юм file Ингэснээр STM32CubeMX нь төсөл болон түүний эх сурвалжийг автоматаар нээдэг files.
    • STM32CubeMX нь ийм төслүүдийн эхлүүлэх эх кодыг үүсгэдэг. Програмын үндсэн эх код нь "ХЭРЭГЛЭГЧИЙН КОД ЭХЛҮҮЛЭХ" болон "ХЭРЭГЛЭГЧИЙН КОД Төгсгөл" гэсэн тайлбаруудаас бүрдэнэ. IP сонголт болон тохиргоог өөрчилсөн тохиолдолд STM32CubeMX нь кодын эхлүүлэх хэсгийг шинэчлэх боловч үндсэн програмын эх кодыг хадгалдаг.
  • STM32CubeMX дээр захиалгат төсөл боловсруулахын тулд алхам алхмаар үйл явцыг дагана уу:
    1. Шаардлагатай дагалдах хэрэгслийн багцад тохирох STM32 микроконтроллерыг сонгоно уу.
    2. Зөрчилдөөнийг шийдэгч, цагны модыг тохируулах туслах хэрэгсэл, эрчим хүчний хэрэглээний тооцоолуур болон MCU захын тохиргоо (GPIO эсвэл USART гэх мэт) болон дунд програмын стек (USB гэх мэт) гүйцэтгэдэг хэрэгсэл ашиглан шаардлагатай бүх суулгагдсан програм хангамжийг тохируулна уу.
    3. Сонгосон тохиргоонд үндэслэн эхлүүлэх C кодыг үүсгэнэ. Энэ код нь хэд хэдэн хөгжүүлэлтийн орчинд ашиглахад бэлэн байна. Хэрэглэгчийн код нь дараагийн код үүсгэх үед хадгалагдана.
  • STM32CubeMX-ийн талаар нэмэлт мэдээлэл авахыг хүсвэл STM32-г тохируулах болон эхлүүлэх C код үүсгэх (UM32) STM1718CubeMX хэрэглэгчийн гарын авлагаас үзнэ үү.
  • Боломжтой төслийн жагсаалтын хувьд жишээлбэлampSTM32CubeWBA-д зориулсан les, STM32Cube програмын өмнөх програмын тэмдэглэлийг үзнэ үү.ampSTM32WBA цувралд зориулсан les (AN5929).

Жолооч програмууд

HAL програм
Энэ хэсэгт STM32CubeWBA ашиглан захиалгат HAL програмыг үүсгэхэд шаардагдах алхмуудыг тайлбарлана.

  1. Төсөл үүсгэх
    • Шинэ төсөл үүсгэхийн тулд \Projects\ хэсэгт байгаа самбар тус бүрийн загвар төслөөс эхлүүлнэ үү. \Загварууд эсвэл \Projects\ хэсэгт байгаа боломжтой төслүүдээс \Жишээ нь эсвэл \Төсөл\ \Програмууд (хаана STM32CubeWBA гэх мэт самбарын нэрийг хэлнэ).
    • Загвар төсөл нь хоосон үндсэн давталтын функцээр хангадаг. Гэсэн хэдий ч, энэ нь STM32CubeWBA төслийн тохиргоог ойлгоход тохиромжтой эхлэл юм. Загвар нь дараахь шинж чанартай байдаг.
      • Энэ нь HAL эх код, CMSIS болон BSP драйверуудыг агуулдаг бөгөөд эдгээр нь тухайн самбар дээр код боловсруулахад шаардагдах хамгийн бага бүрэлдэхүүн хэсэг юм.
      • Энэ нь програм хангамжийн бүх бүрэлдэхүүн хэсгүүдийн замуудыг агуулдаг.
      • Энэ нь дэмжигдсэн STM32WBA цуврал төхөөрөмжүүдийг тодорхойлж, CMSIS болон HAL драйверуудыг зөв тохируулах боломжийг олгодог.
      • Энэ нь ашиглахад бэлэн хэрэглэгчээр хангадаг fileдоор үзүүлсэн шиг урьдчилан тохируулсан:
        HAL-г Arm® core SysTick-ээр анхдагч цагийн суурьтай болгосон. SysTick ISR нь HAL_Delay() зорилгоор хэрэгжсэн.
        Жич: Одоо байгаа төслийг өөр байршилд хуулахдаа оруулсан бүх замууд шинэчлэгдсэн эсэхийг шалгаарай.
  2. Хэрэглэгчийн төсөлд шаардлагатай дунд програмыг нэмэх (заавал биш)
    Эх сурвалжийг тодорхойлохын тулд fileс төсөлд нэмж оруулах file Жагсаалт, дунд програм хангамж тус бүрээр өгөгдсөн баримт бичгийг харна уу. \Projects\STM32xxx_yyy\Applications\ доор байгаа програмуудыг харна уу. (хаана аль эх сурвалжийг мэдэхийн тулд ThreadX гэх мэт дунд програмын стекийг хэлнэ files болон оруулах замыг нэмэх шаардлагатай.
  3. Програм хангамжийн бүрэлдэхүүн хэсгүүдийг тохируулна уу
    HAL болон дунд програмын бүрэлдэхүүн хэсгүүд нь толгой хэсэгт зарласан #define макронуудыг ашиглан бүтээх цагийн тохиргооны багц сонголтыг санал болгодог. file. Загварын тохиргоо file Төслийн хавтас руу хуулах ёстой (ихэвчлэн тохиргоо file xxx_conf_template.h нэртэй тул төслийн хавтас руу хуулахдаа _template гэдэг үгийг хасах шаардлагатай). Тохиргоо file тохиргооны сонголт бүрийн нөлөөллийг ойлгох хангалттай мэдээллийг өгдөг. Бүрэлдэхүүн хэсэг тус бүрээр өгөгдсөн баримт бичигт илүү нарийвчилсан мэдээллийг авах боломжтой.
  4. HAL номын санг эхлүүлнэ үү
    Үндсэн програм руу шилжсэний дараа програмын код нь HAL номын санг эхлүүлэхийн тулд 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 дэлхийн доод түвшний техник хангамжийг эхлүүлэх.
  5. Системийн цагийг тохируулна уу
    Системийн цагийн тохиргоог доор тайлбарласан хоёр API-г дуудах замаар хийдэг.
    • HAL_RCC_OscConfig(): Энэ API нь дотоод болон гадаад осцилляторыг тохируулдаг. Хэрэглэгч нэг эсвэл бүх осцилляторыг тохируулахаар сонгоно.
    • HAL_RCC_ClockConfig(): Энэ API нь системийн цагийн эх үүсвэр, флаш санах ойн хоцрогдол, AHB болон APB тохируулагчийг тохируулдаг.
  6. Захын төхөөрөмжийг эхлүүлэх
    • Эхлээд захын HAL_PPP_MspInit функцийг бичнэ үү. Дараах байдлаар гүйцэтгэнэ.
      • Захын цагийг идэвхжүүлнэ үү.
      • Захын GPIO-г тохируулна уу.
      • DMA сувгийг тохируулж, DMA тасалдлыг идэвхжүүлнэ (шаардлагатай бол).
      • Захын тасалдлыг идэвхжүүлэх (шаардлагатай бол).
    • Шаардлагатай бол stm32xxx_it.c-г засварлаж, шаардлагатай тасалдал зохицуулагчийг (захын болон DMA) дуудна уу.
    • Хэрэв захын тасалдал эсвэл DMA ашиглахаар төлөвлөж байгаа бол процессын бүрэн дуудлагын функцийг бичнэ үү.
    • Хэрэглэгчийн main.c file, захын бариулын бүтцийг эхлүүлж, захын төхөөрөмжийг эхлүүлэхийн тулд HAL_PPP_Init() функцийг дуудна.
  7. Аппликейшн боловсруулах
    • Энэ үед сtage, систем бэлэн болсон бөгөөд хэрэглэгчийн програмын кодыг боловсруулж эхлэх боломжтой.
    • HAL нь захын төхөөрөмжийг тохируулахад хялбар, ашиглахад бэлэн API-уудыг өгдөг. Энэ нь санал асуулга, тасалдал, DMA програмчлалын загварыг дэмждэг бөгөөд аливаа програмын шаардлагыг хангадаг. Дагалдах төхөөрөмж тус бүрийг хэрхэн ашиглах талаар дэлгэрэнгүй мэдээллийг rich ex-ээс авна ууample багцыг STM32CubeWBA MCU багцад өгсөн.
      Анхааруулга: Анхдагч HAL хэрэгжилтэд SysTick таймерыг цагийн суурь болгон ашигладаг: энэ нь тогтмол хугацааны интервалаар тасалдлыг үүсгэдэг. Хэрэв HAL_Delay() нь захын ISR процессоос дуудагдсан бол SysTick тасалдал захын тасалдлаас өндөр ач холбогдолтой (тоон хувьд бага) байгаа эсэхийг шалгаарай. Үгүй бол дуудагч ISR процесс хаагдана. Хугацааны сангийн тохиргоонд нөлөөлж буй функцуудыг __сул гэж зарласан бөгөөд ингэснээр хэрэглэгч бусад хэрэгжүүлэлтийн үед хүчингүй болгох боломжтой болно. file (ерөнхий зориулалтын таймер ашиглах, жишээ ньample, эсвэл өөр цаг хугацааны эх сурвалж). Дэлгэрэнгүй мэдээллийг HAL_TimeBase-с үзнэ үүample.

LL програм
Энэ хэсэгт STM32CubeWBA ашиглан захиалгат LL программ үүсгэхэд шаардлагатай алхмуудыг тайлбарласан болно.

  1. Төсөл үүсгэх
    • Шинэ төсөл үүсгэхийн тулд \Projects\ хэсэгт самбар тус бүрд өгсөн Templates_LL төслөөс эхэлнэ үү. \Templates_LL, эсвэл \Projects\ доор байгаа аль ч боломжтой төслөөс \Жишээ ньamples_LL ( NUCLEO-WBA32CG гэх мэт самбарын нэрийг хэлнэ).
    • Загварын төсөл нь хоосон гол давталтын функцээр хангадаг бөгөөд энэ нь STM32CubeWBA-ийн төслийн тохиргоог ойлгоход тохиромжтой эхлэл юм. Загварын үндсэн шинж чанарууд нь дараах байдалтай байна.
      • Энэ нь LL болон CMSIS драйверуудын эх кодыг агуулдаг бөгөөд эдгээр нь тухайн самбар дээр код боловсруулахад шаардагдах хамгийн бага бүрэлдэхүүн хэсэг юм.
      • Энэ нь шаардлагатай бүх програм хангамжийн бүрэлдэхүүн хэсгүүдийн замуудыг агуулдаг.
      • Энэ нь дэмжигдсэн STM32WBA цуврал төхөөрөмжийг сонгож, CMSIS болон LL драйверуудын зөв тохиргоог хийх боломжийг олгодог.
      • Энэ нь хэрэглэгчийг ашиглахад бэлэн болгодог fileдараах байдлаар урьдчилан тохируулсан байна:
        ◦ main.h: LED ба USER_BUTTON тодорхойлолтын хийсвэр давхарга.
        ◦ main.c: Хамгийн их давтамжийн системийн цагийн тохиргоо.
  2. Одоо байгаа төслийг өөр самбарт шилжүүлэх
    Одоо байгаа төслийг өөр зорилтот самбар дээр дэмжихийн тулд самбар тус бүрт өгөгдсөн Templates_LL төслөөс эхлээрэй, \Projects\ хэсэгт байгаа. \Templates_LL.
    • Өмнө нь LL сонгоно ууample: LL ex байгаа самбарыг олохын тулдamples байрлуулсан байгаа бол LL ex-ийн жагсаалтыг үзнэ үүamples STM32CubeProjectsList.html.
  3. LL хуучин портampле:
    • Анхны эх сурвалжийг хадгалахын тулд Templates_LL фолдерыг хуулах/буудах эсвэл одоо байгаа Temp lates_LL төслийг шууд шинэчлэх.
    • Дараа нь зөөвөрлөх нь үндсэндээ Templates_LL-ийг орлуулахаас бүрдэнэ files by Examples_LL зорилтот төсөл.
    • Самбарын бүх тусгай хэсгүүдийг хадгал. Тодорхой болгох үүднээс самбарын тодорхой хэсгүүдийг тусгайлан тэмдэглэсэн болно tags:

      STMicroelectronics-STM32WBA-цуврал-эхлэл-fig-7

    • Тиймээс зөөвөрлөх үндсэн алхамууд нь дараах байдалтай байна.
      • stm32wbaxx_it.h-г солино уу file
      • stm32wbaxx_it.c-г солино уу file
      • Үндсэн.h-г солих file болон үүнийг шинэчлэх: LL загварын LED болон хэрэглэгчийн товчлуурын тодорхойлолтыг ЗӨВЛӨГИЙН ТУСГАЙ ТОХИРУУЛГА доор хадгална уу. tags.
      • Үндсэн хэсгийг солих.c file мөн шинэчлэх:
    • SystemClock_Config() LL загварын функцийн цагийн тохиргоог ЗӨВЛӨГИЙН ТУСГАЙ ТОХИРУУЛГА дор хадгална уу. tags.
    • LED-ийн тодорхойлолтоос хамааран LDx тохиолдол бүрийг main.h-д байгаа өөр LDy-ээр солино file.
    • Эдгээр өөрчлөлтүүдээр эксample одоо зорилтот самбар дээр гүйж байна

Аюулгүй байдлын програмууд
Энэхүү багц нь хамгаалалтын программуудын хамт ирдэг.

SBSFU програмууд

  • SBSFU нь Secure Boot болон Secure Firmware Update функцуудыг (MCUboot дээр суурилсан) багтаасан Root of Trust шийдлээр хангадаг.
  • Уг шийдлийг програмыг ажиллуулахын өмнө ашигладаг.
  • Энэхүү шийдэл нь хуучин хувилбарыг өгдөгampХамгаалалтгүй програмаас тусгаарлагдсан аюулгүй үйлчилгээний (GPIO унтраалга) le. Ашиглалтын үед аюулгүй бус програм нь энэ шийдлийг ашиглах боломжтой хэвээр байна.

TFM програмууд
TFM нь Secure Boot болон Secure Firmware Update функцийг багтаасан 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 драйверуудтай оролт/гаралтын ажиллагааг удирдана.
    • HAL ба LL хоёрын гол ялгаа нь HAL драйверууд үйлдлийн удирдлагад бариулыг үүсгэж ашиглах шаардлагатай байдаг бол LL драйверууд захын регистрүүд дээр шууд ажилладаг. Эксamples_MIX жишээ ньample нь HAL болон LL-ийг хэрхэн холихыг харуулсан.
  • LL эхлүүлэх API-г хэрхэн идэвхжүүлсэн бэ?
    • LL эхлүүлэх API болон холбогдох нөөцийн (Бүтэц, утга зохиол, эх загвар) тодорхойлолтыг USE_FULL_LL_DRIVER эмхэтгэлийн шилжүүлэгчээр хангадаг.
    • LL эхлүүлэх API-г ашиглахын тулд энэ шилжүүлэгчийг багажийн хөрвүүлэгчийн урьдчилсан процессорт нэмнэ үү.
  • STM32CubeMX суулгагдсан программ хангамж дээр суурилсан кодыг хэрхэн үүсгэх вэ?
    STM32CubeMX нь STM32 микроконтроллеруудын тухай, тэдгээрийн дагалдах төхөөрөмж, программ хангамжийн талаар суурилуулсан мэдлэгтэй бөгөөд энэ нь хэрэглэгчдэд график дүрслэл үзүүлэх, *.h эсвэл *.c үүсгэх боломжийг олгодог. files хэрэглэгчийн тохиргоонд суурилсан.

ЧУХАЛ МЭДЭГДЭЛ – АНХААРАЛТАЙ уншина уу

  • STMicroelectronics NV болон түүний охин компаниуд (“ST”) нь ST бүтээгдэхүүн болон/эсвэл энэхүү баримт бичигт ямар ч үед мэдэгдэлгүйгээр өөрчлөлт, залруулга, сайжруулалт, өөрчлөлт, сайжруулалт хийх эрхтэй. Худалдан авагчид захиалга өгөхөөс өмнө ST бүтээгдэхүүний талаарх хамгийн сүүлийн үеийн мэдээллийг авах ёстой. ST-ийн бүтээгдэхүүнийг захиалгын хүлээн зөвшөөрөгдөх үеийн ST-ийн борлуулалтын нөхцөл, нөхцлийн дагуу зардаг.
  • Худалдан авагчид ST бүтээгдэхүүний сонголт, сонголт, ашиглалтыг дангаараа хариуцах бөгөөд ST нь хэрэглээний тусламж, худалдан авагчийн бүтээгдэхүүний дизайныг хариуцахгүй.
  • СТ-ээс оюуны өмчийн аливаа эрхийг шууд болон далд хэлбэрээр олгох ямар ч тусгай зөвшөөрөл олгохгүй.
  • Энд дурдсан мэдээллээс өөр заалт бүхий ST бүтээгдэхүүнийг дахин худалдах нь тухайн бүтээгдэхүүнд ST-аас олгосон аливаа баталгааг хүчингүй болгоно.
  • ST ба ST лого нь ST-ийн худалдааны тэмдэг юм. ST барааны тэмдгийн талаарх нэмэлт мэдээллийг www.st.com/trademarks-аас авна уу. Бусад бүх бүтээгдэхүүн, үйлчилгээний нэр нь тус тусын эзэмшигчийн өмч юм.
  • Энэ баримт бичигт байгаа мэдээлэл нь энэ баримт бичгийн өмнөх хувилбаруудад өгсөн мэдээллийг орлож, орлоно.
  • © 2023 STMicroelectronics – Бүх эрх хуулиар хамгаалагдсан

Баримт бичиг / нөөц

STMicroelectronics STM32WBA цувралын эхлэл [pdf] Хэрэглэгчийн гарын авлага
STM32WBA цуврал Эхлэл, Эхлэл, Эхлэл

Лавлагаа

Сэтгэгдэл үлдээгээрэй

Таны имэйл хаягийг нийтлэхгүй. Шаардлагатай талбаруудыг тэмдэглэсэн *