STMicroelectronics-լոգոն

STMicroelectronics STM32WBA Series Ինչպես սկսել

STMicroelectronics-STM32WBA-Series-Getting-Started-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 փաթեթներ, համապարփակ ներկառուցված ծրագրային հարթակներ, որոնք հատուկ են յուրաքանչյուր միկրոկոնտրոլերի և միկրոպրոցեսորների շարքին (օրինակ՝ STM32CubeWBA STM32WBA սերիայի համար), որոնք ներառում են.
      • STM32Cube ապարատային աբստրակցիոն շերտ (HAL), որն ապահովում է առավելագույն տեղափոխելիություն STM32 պորտֆելի ողջ տարածքում
      • STM32Cube ցածր շերտի API-ներ, որոնք ապահովում են լավագույն կատարումը և ոտնահետքերը՝ ապարատային սարքերի նկատմամբ օգտագործողի վերահսկողության բարձր աստիճանով
      • Միջին ծրագրակազմի բաղադրիչների հետևողական շարք, ինչպիսին է ThreadX-ը, FileX / LevelX, NetX Duo, USBX, հպման գրադարան, mbed-crypto, TFM, MCUboot, OpenBL և STM32_WPAN (ներառյալ Bluetooth® Low Energy Profiles և ծառայություններ, Mesh, Zigbee®, OpenThread, Matter և 802.15.4 MAC շերտ)
      • Ներկառուցված ծրագրային ապահովման բոլոր կոմունալ ծառայությունները՝ ծայրամասային և կիրառական սարքերի ամբողջական հավաքածուներով, օրինակamples
    • STM32Cube ընդլայնման փաթեթներ, որոնք պարունակում են ներկառուցված ծրագրային բաղադրիչներ, որոնք լրացնում են STM32Cube MCU և MPU փաթեթների գործառույթները՝
      • Միջին ծրագրերի ընդարձակումներ և կիրառական շերտեր
      • Examples աշխատում է որոշ հատուկ STMicroelectronics մշակման տախտակների վրա
  • Օգտագործողի այս ձեռնարկը նկարագրում է, թե ինչպես սկսել STM32CubeWBA MCU փաթեթի հետ:
    • Բաժին 2 STM32CubeWBA հիմնական հատկանիշները նկարագրում են STM32CubeWBA MCU փաթեթի հիմնական հատկանիշները:
    • Բաժին 3 STM32CubeWBA ճարտարապետությունն ավարտված էview ապահովում է ավարտview STM32CubeWBA ճարտարապետության և MCU փաթեթի կառուցվածքի մասին:

Ընդհանուր տեղեկություններ

STM32CubeWBA MCU փաթեթն աշխատում է STM32 32-բիթանոց միկրոկարգավորիչներով, որոնք հիմնված են Arm® Cortex®-M33 պրոցեսորի վրա Arm® TrustZone®-ով և FPU-ով:
Նշում. Arm-ը և TrustZone-ը Arm Limited-ի (կամ նրա դուստր ձեռնարկությունների) գրանցված ապրանքանիշերն են ԱՄՆ-ում և/կամ այլուր:

STM32CubeWBA հիմնական հատկանիշները

  • STM32CubeWBA MCU փաթեթն աշխատում է STM32 32-բիթանոց միկրոկարգավորիչներով, որոնք հիմնված են Arm® Cortex®-M33 պրոցեսորի վրա TrustZone®-ով և FPU-ով:
  • STM32CubeWBA-ը մեկ փաթեթում հավաքում է բոլոր ընդհանուր ներկառուցված ծրագրային բաղադրիչները, որոնք անհրաժեշտ են STM32WBA սերիայի միկրոկառավարիչների համար հավելված մշակելու համար: STM32Cube-ի նախաձեռնությանը համահունչ՝ բաղադրիչների այս փաթեթը շատ շարժական է ոչ միայն STM32WBA սերիայի միկրոկոնտրոլերների, այլ նաև STM32 սերիաների համար:
  • STM32CubeWBA-ն լիովին համատեղելի է STM32CubeMX կոդի գեներատորի հետ՝ սկզբնականացման կոդ ստեղծելու համար: Փաթեթը ներառում է ցածր շերտի (LL) և ապարատային աբստրակցիոն շերտի (HAL) API-ներ, որոնք ծածկում են միկրոկոնտրոլերի ապարատը, ինչպես նաև նախկինի լայնածավալ հավաքածու:amples աշխատում է STMicroelectronics տախտակների վրա: HAL և LL API-ները հասանելի են բաց կոդով BSD լիցենզիայում՝ օգտվողների հարմարության համար:
  • STM32CubeWBA MCU փաթեթը նաև պարունակում է համապարփակ միջին ծրագրային բաղադրիչ, որը կառուցված է Microsoft® Azure® RTOS միջին ծրագրի և այլ ներքին և բաց կոդով կույտերի շուրջ՝ համապատասխան նախկինում:amples.
  • Նրանք գալիս են անվճար, օգտագործողի համար հարմար լիցենզիայի պայմաններով.
    • Ինտեգրված և լիարժեք Azure® RTOS. Azure® RTOS ThreadX
    • CMSIS-RTOS իրականացում Azure® RTOS ThreadX-ով
    • USB հյուրընկալող և սարքերի կույտերը գալիս են բազմաթիվ դասերի հետ՝ Azure® RTOS USBX
    • Ընդլայնված file համակարգ և ֆլեշ թարգմանության շերտ. FileX / LevelX
    • Արդյունաբերական կարգի ցանցային կույտ. օպտիմիզացված է կատարման համար, որը գալիս է բազմաթիվ IoT արձանագրություններով. NetX Duo
    • OpenBootloader
    • Arm® Trusted Firmware-M (TF‑M) ինտեգրացիոն լուծում
    • mbed-crypto գրադարաններ
    • ST Netwok գրադարան
    • STMTtouch touch sensing գրադարանի լուծում
  • STM32CubeWBA MCU փաթեթում տրամադրված են նաև մի քանի հավելվածներ և ցուցադրումներ, որոնք իրականացնում են միջին ծրագրակազմի բոլոր բաղադրիչները:
  • STM32CubeWBA MCU փաթեթի բաղադրիչի դասավորությունը պատկերված է Նկար 1-ում: STM32CubeWBA MCU փաթեթի բաղադրիչները:

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-2

STM32CubeWBA ճարտարապետությունն ավարտված էview

STM32CubeWBA MCU փաթեթի լուծումը կառուցված է երեք անկախ մակարդակների շուրջ, որոնք հեշտությամբ փոխազդում են, ինչպես նկարագրված է Նկար 2-ում: STM32CubeWBA MCU փաթեթի ճարտարապետություն:

STMicroelectronics-STM32WBA-Series-Getting-Started-fig-3

Մակարդակ 0

Այս մակարդակը բաժանված է երեք ենթաշերտի.

  • Խորհրդի աջակցության փաթեթ (BSP):
  • Սարքավորումների աբստրակցիոն շերտ (HAL):
    • HAL ծայրամասային վարորդներ
    • Ցածր շերտի վարորդներ
  • Հիմնական ծայրամասային օգտագործումը, օրինակamples.

Խորհրդի աջակցության փաթեթ (BSP)
Այս շերտն առաջարկում է API-ների մի շարք՝ կապված ապարատային վահանակների ապարատային բաղադրիչների հետ (օրինակ՝ LCD, Audio,\ microSD™ և MEMS դրայվերներ): Այն կազմված է երկու մասից.

  • Բաղադրիչի վարորդ.
    Այս դրայվերը կապված է տախտակի արտաքին սարքի հետ, և ոչ թե STM32 սարքի հետ: Բաղադրիչի դրայվերը հատուկ API-ներ է տրամադրում BSP վարորդի արտաքին բաղադրիչներին և կարող է շարժական լինել ցանկացած այլ տախտակի վրա:
  • BSP վարորդ.
    BSP դրայվերը թույլ է տալիս կապել բաղադրիչ դրայվերները որոշակի տախտակի հետ և ապահովում է օգտագործողի համար հարմար մի շարք
    API-ներ. API-ի անվանման կանոնն է BSP_FUNCT_Action():
    Example՝ BSP_LED_Init(), BSP_LED_On()
    BSP-ն հիմնված է մոդուլային ճարտարապետության վրա, որը թույլ է տալիս հեշտությամբ տեղափոխել ցանկացած սարքավորում՝ պարզապես իրականացնելով ցածր մակարդակի առօրյան:

Սարքավորումների աբստրակցիոն շերտ (HAL) և ցածր շերտ (LL)
STM32CubeWBA HAL-ը և LL-ը փոխլրացնող են և ընդգրկում են կիրառական պահանջների լայն շրջանակ.

  • HAL դրայվերներն առաջարկում են բարձր մակարդակի գործառույթների վրա հիմնված բարձր շարժական API-ներ: Նրանք թաքցնում են MCU-ն և ծայրամասային բարդությունը վերջնական օգտագործողին:
    HAL դրայվերներն ապահովում են ընդհանուր բազմաբնույթ առանձնահատկությունների վրա հիմնված API-ներ, որոնք պարզեցնում են օգտատերերի հավելվածների իրականացումը` տրամադրելով պատրաստի օգտագործման գործընթացներ: ՆախampՀաղորդակցման ծայրամասային սարքերի համար (I2S, UART և այլք) այն տրամադրում է API-ներ, որոնք թույլ են տալիս սկզբնավորել և կարգավորել ծայրամասային սարքը, կառավարել տվյալների փոխանցումը՝ հիմնված հարցման, ընդհատման կամ DMA գործընթացի վրա և կարգավորել հաղորդակցման սխալները, որոնք կարող են առաջանալ հաղորդակցության ընթացքում: HAL վարորդների API-ները բաժանված են երկու կատեգորիայի.
    1. Ընդհանուր API-ներ, որոնք ապահովում են ընդհանուր և ընդհանուր գործառույթներ STM32 սերիայի բոլոր միկրոկառավարիչների համար:
    2. Ընդլայնման API-ներ, որոնք ապահովում են հատուկ և հարմարեցված գործառույթներ որոշակի ընտանիքի կամ որոշակի մասի համար:
  • Ցածր շերտի API-ներն ապահովում են ցածր մակարդակի API-ներ ռեգիստրի մակարդակում, ավելի լավ օպտիմալացումով, բայց ավելի քիչ շարժունակությամբ:
    • Նրանք պահանջում են MCU-ի և ծայրամասային բնութագրերի խորը գիտելիքներ:
    • LL դրայվերները նախագծված են առաջարկելու արագ թեթև փորձագիտական ​​կողմնորոշված ​​շերտ, որն ավելի մոտ է սարքաշարին, քան HAL-ը: Ի տարբերություն HAL-ի, LL API-ները չեն տրամադրվում ծայրամասային սարքերի համար, որտեղ օպտիմիզացված մուտքը հիմնական հատկանիշ չէ, կամ նրանց համար, ովքեր պահանջում են ծանր ծրագրային կազմաձևում կամ բարդ վերին մակարդակի կույտ:
    • LL վարորդների առանձնահատկությունը.
      • Գործառույթների մի շարք՝ ծայրամասային հիմնական հատկանիշները սկզբնավորելու համար՝ համաձայն տվյալների կառուցվածքներում նշված պարամետրերի:
      • Գործառույթների մի շարք՝ սկզբնականացման տվյալների կառուցվածքները լրացնելու համար յուրաքանչյուր դաշտին համապատասխան զրոյական արժեքներով:
      • Ծայրամասային ապասկզբնավորման ֆունկցիա (ծայրամասային ռեգիստրները վերականգնվել են իրենց լռելյայն արժեքներին):
      • Ուղղակի և ատոմային ռեգիստր մուտք գործելու համար ներկառուցված գործառույթների մի շարք:
      • Լիակատար անկախություն HAL-ից և ինքնուրույն ռեժիմում օգտագործելու հնարավորություն (առանց HAL վարորդների):
      • Աջակցվող ծայրամասային գործառույթների ամբողջական ծածկույթ:

Հիմնական ծայրամասային օգտագործումը, օրինակamples
Այս շերտը ներառում է նախկինamples կառուցված STM32 ծայրամասային սարքերի վրա՝ օգտագործելով միայն HAL և BSP ռեսուրսները:

Մակարդակ 1

Այս մակարդակը բաժանված է երկու ենթաշերտի.

  • Միջին ծրագրերի բաղադրիչներ
  • Examples հիմնված միջին ծրագրի բաղադրիչների վրա

Միջին ծրագրերի բաղադրիչներ

  • Միջին ծրագրակազմը գրադարանների մի շարք է, որը ներառում է Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
  • Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot և mbed-crypto:
  • Հորիզոնական փոխազդեցությունը այս շերտի բաղադրիչների միջև կատարվում է՝ զանգահարելով ներկայացված API-ները:
  • Ցածր շերտի դրայվերների հետ ուղղահայաց փոխազդեցությունը կատարվում է գրադարանային համակարգի զանգերի ինտերֆեյսում ներդրված հատուկ զանգերի և ստատիկ մակրոների միջոցով:
  • Յուրաքանչյուր միջին ծրագրի բաղադրիչի հիմնական առանձնահատկությունները հետևյալն են.
    • Microsoft® Azure® RTOS
      • Azure® RTOS ThreadX. իրական ժամանակի օպերացիոն համակարգ (RTOS), որը նախատեսված է երկու ֆունկցիոնալ ռեժիմով ներկառուցված համակարգերի համար:
        • Ընդհանուր ռեժիմ. RTOS-ի ընդհանուր գործառույթներ, ինչպիսիք են թելերի կառավարումը և համաժամացումը, հիշողության լողավազանի կառավարումը, հաղորդագրությունների փոխանակումը և իրադարձությունների մշակումը:
        • Մոդուլի ռեժիմ. Օգտագործողի առաջադեմ ռեժիմ, որը թույլ է տալիս բեռնել և բեռնաթափել նախապես կապված ThreadX մոդուլները անմիջապես մոդուլի կառավարչի միջոցով:
      • NetX Duo
      • FileX
      • USBX
    • Bluetooth® Low Energy (BLE). Իրականացնում է Bluetooth® Low Energy արձանագրությունը Link և Stack շերտերի համար:
    • MCUboot (բաց կոդով ծրագրակազմ)
    • Zigbee® արձանագրությունները կույտի և հարակից կլաստերների համար:
    • Thread® արձանագրության կույտ և կապի շերտ:
    • Arm® վստահելի որոնվածը-M, TF‑M (բաց կոդով ծրագրակազմ). TrustZone®-ի համար Arm® պլատֆորմի անվտանգության ճարտարապետության (PSA) տեղեկանք իրականացումը հարակից անվտանգ ծառայությունների հետ:
    • mbed-crypto (բաց կոդով ծրագրաշար).
    • STM32 Հպման ցուցիչի գրադարան. STMTouch-ի հզոր կոնդենսիվ հպման ցուցիչներ, որոնք աջակցում են մոտիկության, հպման ստեղնին, գծային և պտտվող հպման սենսորներին: Այն հիմնված է մակերեւութային լիցքի փոխանցման ձեռքբերման ապացուցված սկզբունքի վրա:

Examples հիմնված միջին ծրագրի բաղադրիչների վրա
Միջին ծրագրերի յուրաքանչյուր բաղադրիչ գալիս է մեկ կամ մի քանի նախկինով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-ն ներկայացնում է նախկինի հարուստ հավաքածուamples և հավելվածներ բոլոր մակարդակներում, ինչը հեշտացնում է ցանկացած HAL դրայվեր կամ միջին ծրագրաշարի բաղադրիչներ հասկանալն ու օգտագործելը: Սրանք նախկինamples-երը գործարկվում են աղյուսակ 2-ում թվարկված STMicroelectronics տախտակների վրա:
    Աղյուսակ 2. Տախտակներ STM32WBA շարքի համար
    Վարչություն Տեղադրեք STM32WBA աջակցվող սարքեր
    NUCLEO-WBA52CG STM32WBA52CGU6
    NUCLEO-WBA55CG STM32WBA55CGU6
    STM32WBA55-DK1 STM32WBA55CGU7
  • STM32CubeWBA MCU փաթեթը կարող է աշխատել ցանկացած համատեղելի սարքավորման վրա: Օգտագործողը պարզապես թարմացնում է BSP դրայվերները՝ տրամադրված նախկինը տեղափոխելու համարamples տախտակի վրա, եթե վերջինս ունի նույն ապարատային հատկանիշները (օրինակ՝ LED, LCD էկրան և կոճակներ):
Որոնվածի փաթեթն ավարտված էview
  • STM32CubeWBA փաթեթի լուծումը տրամադրվում է մեկ zip փաթեթում, որն ունի Նկար 3-ում ներկայացված կառուցվածքը: STM32CubeWBA որոնվածի փաթեթի կառուցվածքը:

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-4

  • Յուրաքանչյուր տախտակի համար մի շարք նախկինamples-ը տրամադրվում է EWARM, MDK-ARM և STM32CubeIDE գործիքների համար նախատեսված նախապես կազմաձևված նախագծերով:
  • Նկար 4. STM32CubeWBA նախկինampավելի քիչview ցույց է տալիս NUCLEO-WBA52CG, NUCLEO-WBA55CG և STM32WBA55G-DK1 տախտակների նախագծի կառուցվածքը:

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-5

  • Նախկինamples դասակարգվում են՝ կախված STM32Cube մակարդակից, որին կիրառվում են, և դրանք անվանվում են հետևյալ կերպ.
    • Մակարդակ 0 նախկինamples կոչվում են Examples, Examples_LL և Examples_MIX. Նրանք օգտագործում են համապատասխանաբար HAL դրայվերներ, LL դրայվերներ և HAL և LL դրայվերների խառնուրդ՝ առանց որևէ միջին ծրագրի բաղադրիչի:
    • Մակարդակ 1 նախկինamples կոչվում են Ծրագրեր: Նրանք ապահովում են միջին ծրագրակազմի յուրաքանչյուր բաղադրիչի բնորոշ օգտագործման դեպքեր: Տվյալ տախտակի համար ցանկացած որոնվածային հավելված կարող է արագ ստեղծվել Templ ates և Templates_LL դիրեկտորիաներում առկա կաղապարային նախագծերի շնորհիվ:

TrustZone® միացված նախագծեր

  • TrustZone®-ը միացված է Examples անունները պարունակում են _TrustZone նախածանցը: Կանոնը կիրառվում է նաև հավելվածների համար (բացառությամբ TFM-ի և SBSFU-ի, որոնք բնիկ են TrustZone®-ի համար):
  • TrustZone®-ին միացված Examples-ը և Applications-ը տրամադրվում է բազմանախագծային կառուցվածքով, որը բաղկացած է անվտանգ և ոչ անվտանգ ենթածրագրերից, ինչպես ներկայացված է Նկար 5-ում:
  • TrustZone®-ով միացված նախագծերը մշակվել են CMSIS-5 սարքի ձևանմուշի համաձայն՝ ընդարձակվելով՝ ներառելով համակարգի բաժանման վերնագիրը file բաժանում_ .h, որը հիմնականում պատասխանատու է ապահով հատկանիշի միավորի (SAU), FPU-ի և անվտանգ/անապահով ընդհատումների նշանակման համար ապահով կատարման վիճակում:
  • Այս կարգավորումն իրականացվում է անվտանգ CMSIS SystemInit() ֆունկցիայում, որը կանչվում է գործարկման ժամանակ՝ նախքան անվտանգ հավելվածի main() ֆունկցիան մուտքագրելը: Տե՛ս Arm® TrustZone®-M ծրագրային ապահովման ուղեցույցների փաստաթղթերը:

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-6

  • STM32CubeWBA փաթեթի որոնվածային փաթեթը ապահովում է հիշողության լռելյայն բաժանում բաժանման մեջ _ .հ files հասանելի է հետևյալ տակ՝ \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T emmplates
  • Այս բաժանման մեջ files, SAU-ն անջատված է լռելյայնորեն: Հետևաբար, IDAU հիշողության քարտեզագրումն օգտագործվում է անվտանգության վերագրման համար: Տե՛ս RM0495 տեղեկատու ձեռնարկում TrustZone® տեխնոլոգիայի օգտագործմամբ անվտանգ/ոչ անվտանգ բաժանումը:
  • Եթե ​​օգտագործողը միացնում է SAU-ն, ապա բաժանման մեջ նախապես սահմանված է SAU տարածաշրջանների լռելյայն կոնֆիգուրացիան files հետևյալ կերպ.
    • SAU տարածաշրջան 0. 0x08080000 – 0x081FFFFF (ֆլեշ հիշողության անապահով կեսը (512 Կբայթ))
    • SAU տարածաշրջան 1. 0x0BF88000 – 0x0BF97FFF (անապահով համակարգի հիշողություն)
    • SAU տարածաշրջան 2. 0x0C07E000 – 0x0C07FFFF (անվտանգ, ոչ անվտանգ կանչելի)
    • SAU տարածաշրջան 3. 0x20010000 – 0x2001FFFF (անապահով SRAM2 (64 Կբայթ))
    • SAU տարածաշրջան 4. 0x40000000 – 0x4FFFFFFF (անապահով ծայրամասային քարտեզագրված հիշողություն)
  • Լռելյայն բաժանմանը համապատասխանելու համար 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՝ նկարագրելով նախկինampվարքագիծը և անհրաժեշտ միջավայրը, որպեսզի այն աշխատի:
    • ioc file որը թույլ է տալիս օգտվողներին բացել որոնվածի մեծ մասը նախկինումamples շրջանակներում STM32CubeMX.

Սկսում ենք STM32CubeWBA-ով

Աշխատում է առաջին HAL նախկինample

Այս բաժինը բացատրում է, թե որքան պարզ է գործարկել առաջին նախկինըample STM32CubeWBA-ի շրջանակներում: Այն որպես օրինակ օգտագործում է NUCLEO-WBA52CG տախտակի վրա աշխատող պարզ լուսադիոդային անջատիչի արտադրությունը.

  1. Ներբեռնեք STM32CubeWBA MCU փաթեթը:
  2. Բացեք այն ձեր ընտրած գրացուցակի մեջ:
  3. Համոզվեք, որ չփոփոխեք Նկար 1-ում ներկայացված փաթեթի կառուցվածքը: Նաև խորհուրդ է տրվում պատճենել փաթեթը ձեր արմատային ծավալին մոտ գտնվող վայրում (նշանակում է C:\ST կամ G:\Tests), քանի որ որոշ IDE-ներ խնդիրներ են ունենում, երբ ճանապարհը երկարությունը չափազանց երկար է:

Աշխատում է առաջին TrustZone®-ը միացված նախկինումample

  • Նախքան բեռնելն ու գործարկելը միացված TrustZone® օրինակample, պարտադիր է կարդալ նախկինample readme file ցանկացած կոնկրետ կոնֆիգուրացիայի համար, որն ապահովում է, որ անվտանգությունը միացված է, ինչպես նկարագրված է Բաժին 4.2.1 TrustZone® միացված նախագծերում (TZEN=1 (օգտագործողի ընտրանքի բայթ)):
    1. Թերթիր դեպի \Projects\NUCLEO-WBA52CG\Examples.
    2. Բացեք \GPIO, ապա \GPIO_IOToggle_TrustZone պանակները:
    3. Բացեք նախագիծը ձեր նախընտրած գործիքների շղթայով: Արագ ավարտview այն մասին, թե ինչպես բացել, կառուցել և ղեկավարել նախկինըampաջակցվող գործիքների շղթաներով տրված է ստորև:
    4. Հերթականորեն վերակառուցեք բոլոր անվտանգ և ոչ անվտանգ նախագիծը files և բեռնել ապահով և ոչ անվտանգ պատկերները թիրախային հիշողության մեջ:
    5. Վազիր նախկինըample. կանոնավոր կերպով, ապահով հավելվածն ամեն վայրկյան փոխում է LD2-ը, իսկ ոչ անվտանգ հավելվածը երկու անգամ ավելի արագ է փոխում LD3-ը: Լրացուցիչ մանրամասների համար դիմեք readme-ին file նախկինիampլե.
  • Նախկին բացելու, կառուցելու և գործարկելու համարampաջակցվող գործիքների շղթաներով, հետևեք ստորև նշված քայլերին.
    • EWARM:
      1. Նախկին տակample folder, բացեք \EWARM ենթաթղթապանակը:
      2. Գործարկեք Project.eww աշխատանքային տարածքը
      3. Վերակառուցեք xxxxx_S անվտանգ նախագիծը files: [Նախագիծ]>[Վերականգնել բոլորը]:
      4. Սահմանեք xxxxx_NS ոչ անվտանգ նախագիծը որպես Ակտիվ հավելված (աջ սեղմեք xxxxx_NS նախագծի վրա [Սահմանել որպես ակտիվ])
      5. Վերակառուցեք xxxxx_NS ոչ անվտանգ նախագիծը files: [Նախագիծ]>[Վերականգնել բոլորը]:
      6. Ֆլեշեք անապահով երկուականը [Project]>[Ներբեռնում]>[Ներբեռնեք ակտիվ հավելվածը] միջոցով:
      7. Սահմանեք xxxxx_S-ը որպես ակտիվ հավելված (աջ սեղմեք xxxxx_S նախագծի վրա [Սահմանել որպես ակտիվ]:
      8. Թափել ապահով երկուականը [Download and Debug]-ով (Ctrl+D):
      9. Գործարկեք ծրագիրը՝ [Debug]>[Go(F5)]
    • MDK-ARM:
      1. Բացեք \MDK-ARM գործիքների շղթան:
      2. Բացեք Multiprojects աշխատանքային տարածքը file Project.uvmpw.
      3. Ընտրեք xxxxx_s նախագիծը որպես Ակտիվ հավելված ([Սահմանել որպես ակտիվ նախագիծ]):
      4. Կառուցեք xxxxx_s նախագիծը:
      5. Ընտրեք xxxxx_ns նախագիծը որպես Ակտիվ նախագիծ ([Set as Active Project]):
      6. Կառուցեք xxxxx_ns նախագիծը:
      7. Բեռնել ոչ անվտանգ երկուականը ([F8]): Սա ներբեռնում է \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf ֆլեշ հիշողության մեջ)
      8. Ընտրեք Project_s նախագիծը որպես Ակտիվ նախագիծ ([Set as Active Project]):
      9. Բեռնել անվտանգ երկուականը ([F8]): Սա ներբեռնում է \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf ֆլեշ հիշողության մեջ):
      10. Վազիր նախկինըampլե.
    • STM32CubeIDE:
      1. Բացեք STM32CubeIDE գործիքների շղթան:
      2. Բացեք Multiprojects աշխատանքային տարածքը file .նախագիծ.
      3. Վերակառուցեք xxxxx_Secure նախագիծը:
      4. Վերակառուցեք xxxxx_NonSecure նախագիծը:
      5. Գործարկեք [Debug as STM32 Cortex-M C/C++] հավելվածը անվտանգ նախագծի համար:
      6. [Edit configuration] պատուհանում ընտրեք [Startup] վահանակը և ավելացրեք բեռնվածություն անապահով նախագծի պատկերն ու խորհրդանիշները:
        Կարևոր է. Անվտանգ նախագիծը պետք է բեռնվի նախքան անվտանգ նախագիծը:
      7. Սեղմեք [Ok]:
      8. Վազիր նախկինըample on debug հեռանկարը:

Առաջին TrustZone®-ի հաշմանդամ գործարկումը, օրինակample

  • TrustZone®-ն անջատված է բեռնելուց և գործարկելուց առաջ, օրինակample, պարտադիր է կարդալ նախկինample readme file ցանկացած կոնկրետ կոնֆիգուրացիայի համար: Եթե ​​կոնկրետ նշումներ չկան, համոզվեք, որ տախտակի սարքի անվտանգությունն անջատված է (TZEN=0 (օգտագործողի ընտրանքի բայթ)): Տե՛ս FAQ կամընտիր ռեգրեսիա TZEN = 0 կատարելու համար
    1. Թերթիր դեպի \Projects\NUCLEO-WBA52CG\Examples.
    2. Բացեք \GPIO, ապա \GPIO_EXTI պանակները:
    3. Բացեք նախագիծը ձեր նախընտրած գործիքների շղթայով: Արագ ավարտview այն մասին, թե ինչպես բացել, կառուցել և ղեկավարել նախկինըampաջակցվող գործիքների շղթաներով տրված է ստորև:
    4. Վերակառուցել բոլորը files և բեռնեք ձեր պատկերը թիրախային հիշողության մեջ:
    5. Վազիր նախկինըample. Ամեն անգամ, երբ սեղմվում է [USER] կոճակը, LD1 LED-ը միանում է: Լրացուցիչ մանրամասների համար դիմեք readme-ին file նախկինիampլե.
  • Նախկին բացելու, կառուցելու և գործարկելու համարampաջակցվող գործիքների շղթաներով, հետևեք ստորև նշված քայլերին.
    • EWARM:
      1. Նախկին տակample folder, բացեք \EWARM ենթաթղթապանակը:
      2. Գործարկեք Project.eww աշխատանքային տարածքը (աշխատանքային տարածքի անունը կարող է փոխվել մեկ նախկինիցampմեկ ուրիշին):
      3. Վերակառուցել բոլորը files: [Նախագիծ]>[Վերականգնել բոլորը]:
      4. Բեռնել նախագծի պատկերը՝ [Project]>[Debug]:
      5. Գործարկել ծրագիրը՝ [Debug]>[Go (F5)]:
    • MDK-ARM:
      1. Նախկին տակample թղթապանակը, բացեք \MDK-ARM ենթաթղթապանակը։
      2. Գործարկեք Project.uvproj աշխատանքային տարածքը (աշխատանքային տարածքի անունը կարող է փոխվել մեկ օրինակիցampմեկ ուրիշին):
      3. Վերակառուցել բոլորը files:[Project]>[Վերականգնել բոլոր թիրախները files].
      4. Բեռնել նախագծի պատկերը՝ [Վրիպազերծում]> [Սկսել/Դադարեցնել վրիպազերծման նիստը]:
      5. Գործարկել ծրագիրը՝ [Debug]>[Run (F5)]:
    • STM32CubeIDE:
      1. Բացեք STM32CubeIDE գործիքների շղթան:
      2. Սեղմել [File]>[Switch Workspace]>[Other] և թերթեք STM32CubeIDE աշխատանքային տարածքի գրացուցակը:
      3. Սեղմել [File]>[Ներմուծում], ընտրեք [General]>[Existing Projects into Workspace], ապա սեղմեք [Next]:
      4. Զննեք STM32CubeIDE աշխատանքային տարածքի գրացուցակը և ընտրեք նախագիծը:
      5. Վերակառուցել բոլոր նախագիծը files. Ընտրեք նախագիծը [Project Explorer] պատուհանում, այնուհետև սեղմեք [Project]>[Build project] ընտրացանկը:
      6. Գործարկեք ծրագիրը՝ [Run]>[Debug (F11)]
Պատվերով հավելվածի մշակում

Նշում. Ծրագրային ապահովումը պետք է հնարավորություն տա հրահանգների քեշին (ICACHE), որպեսզի ստանա 0 սպասման վիճակի կատարում ֆլեշ հիշողությունից և հասնի առավելագույն կատարողականի և ավելի լավ էներգիայի սպառման:

Օգտագործելով STM32CubeMX հավելվածը մշակելու կամ թարմացնելու համար

  • STM32CubeWBA MCU փաթեթում գրեթե ամբողջ նախագիծը նախկինamples-երը ստեղծվում են STM32CubeMX գործիքի միջոցով՝ համակարգը, ծայրամասային սարքերը և միջին ծրագրակազմը սկզբնավորելու համար:
  • Գոյություն ունեցող նախագծի ուղղակի օգտագործումը, օրինակampSTM32CubeMX գործիքից պահանջվում է STM32CubeMX 6.10.0 կամ ավելի բարձր.
    • STM32CubeMX-ի տեղադրումից հետո բացեք և անհրաժեշտության դեպքում թարմացրեք առաջարկվող նախագիծը: Գոյություն ունեցող նախագիծը բացելու ամենապարզ ձևը *.ioc-ի վրա կրկնակի սեղմելն է file այնպես, որ STM32CubeMX-ը ավտոմատ կերպով բացում է նախագիծը և դրա աղբյուրը files.
    • STM32CubeMX-ը ստեղծում է նման նախագծերի սկզբնավորման սկզբնական կոդը: Ծրագրի հիմնական կոդերը պարունակում են «ՕԳՏԱԳՈՐԾՈՂԻ ԿՈԴԻ ՍԿԶԲ» և «ՕԳՏԱԳՈՐԾՈՂ ԿՈԴԻ ՎԵՐՋ» մեկնաբանություններում: Այն դեպքում, երբ IP-ի ընտրությունը և կարգավորումը փոփոխվում են, STM32CubeMX-ը թարմացնում է կոդի սկզբնավորման մասը, սակայն պահպանում է հավելվածի հիմնական աղբյուրի կոդը:
  • STM32CubeMX-ում հատուկ նախագիծ մշակելու համար հետևեք քայլ առ քայլ գործընթացին.
    1. Ընտրեք STM32 միկրոկառավարիչը, որը համապատասխանում է ծայրամասային սարքերի պահանջվող փաթեթին:
    2. Կազմաձևեք բոլոր անհրաժեշտ ներկառուցված ծրագրաշարը՝ օգտագործելով pinout-conflict լուծիչը, ժամացույցի ծառի կարգավորումների օգնականը, էներգիայի սպառման հաշվիչը և MCU ծայրամասային կոնֆիգուրացիան (օրինակ՝ GPIO կամ USART) և միջին ծրագրերի կույտեր (օրինակ՝ USB):
    3. Ստեղծեք սկզբնավորման C կոդը՝ հիմնվելով ընտրված կոնֆիգուրացիայի վրա: Այս կոդը պատրաստ է օգտագործման մի քանի զարգացման միջավայրում: Օգտվողի կոդը պահվում է կոդերի հաջորդ սերնդում:
  • STM32CubeMX-ի մասին լրացուցիչ տեղեկությունների համար տե՛ս STM32CubeMX օգտագործողի ձեռնարկը STM32-ի կազմաձևման և սկզբնավորման C կոդերի ստեղծման համար (UM1718):
  • Հասանելի նախագծի ցանկի համար, օրինակampSTM32CubeWBA-ի համար, տես հավելվածի նշումը STM32Cube որոնվածը նախկինումamples STM32WBA շարքի համար (AN5929):

Վարորդի հավելվածներ

HAL հավելված
Այս բաժինը նկարագրում է STM32CubeWBA-ի միջոցով սովորական HAL հավելված ստեղծելու համար անհրաժեշտ քայլերը.

  1. Ստեղծեք նախագիծ
    • Նոր նախագիծ ստեղծելու համար սկսեք «Կաղապար» նախագծից, որը տրամադրվում է յուրաքանչյուր տախտակի համար \Projects\-ում: \Կաղապարներ կամ ցանկացած հասանելի նախագծից \Projects\ \Քննությունների կամ \Նախագծեր\ \Ծրագրեր (որտեղ վերաբերում է տախտակի անվանմանը, օրինակ՝ STM32CubeWBA):
    • Կաղապար նախագիծը տրամադրում է դատարկ հիմնական հանգույց ֆունկցիա: Այնուամենայնիվ, լավ մեկնարկային կետ է STM32CubeWBA նախագծի կարգավորումները հասկանալու համար: Կաղապարն ունի հետևյալ բնութագրերը.
      • Այն պարունակում է HAL աղբյուրի կոդը, CMSIS և BSP դրայվերները, որոնք բաղադրիչների նվազագույն փաթեթն են, որոնք անհրաժեշտ են տվյալ տախտակի վրա կոդ մշակելու համար:
      • Այն պարունակում է ներառված ուղիներ բոլոր որոնվածի բաղադրիչների համար:
      • Այն սահմանում է STM32WBA սերիայի աջակցվող սարքերը՝ թույլ տալով CMSIS և HAL դրայվերները ճիշտ կարգավորել:
      • Այն տրամադրում է օգտագործման համար պատրաստ օգտագործողին files-ը նախապես կազմաձևված է, ինչպես ցույց է տրված ստորև.
        HAL-ը սկզբնավորվել է լռելյայն ժամանակային բազայով Arm® հիմնական SysTick-ով: SysTick ISR-ն իրականացվել է HAL_Delay() նպատակով:
        Նշում. Գոյություն ունեցող նախագիծն այլ վայրում պատճենելիս համոզվեք, որ ներառված բոլոր ուղիները թարմացված են:
  2. Օգտատիրոջ նախագծին ավելացրեք անհրաժեշտ միջին ծրագիրը (ըստ ցանկության)
    Աղբյուրը բացահայտելու համար files-ն կավելացվի նախագծին file ցանկը, հղում կատարեք յուրաքանչյուր միջին ծրագրի համար տրամադրված փաստաթղթերին: Տե՛ս հավելվածները \Projects\STM32xxx_yyy\Applications\ (որտեղ վերաբերում է միջին ծրագրակազմին, ինչպիսին է ThreadX-ը)՝ իմանալու, թե որ աղբյուրը files և ներառում ուղիները պետք է ավելացվեն:
  3. Կարգավորեք որոնվածի բաղադրիչները
    HAL և Middleware բաղադրիչներն առաջարկում են build-time կազմաձևման տարբերակների մի շարք՝ օգտագործելով վերնագրում հայտարարված #define մակրոները: file. Կաղապարի կոնֆիգուրացիա file տրամադրվում է յուրաքանչյուր բաղադրիչի մեջ, որը պետք է պատճենվի նախագծի թղթապանակում (սովորաբար կոնֆիգուրացիան file կոչվում է xxx_conf_template.h, _template բառը պետք է հեռացվի նախագծի թղթապանակում պատճենելիս): Կազմաձևը file ապահովում է բավարար տեղեկատվություն՝ հասկանալու յուրաքանչյուր կազմաձևման տարբերակի ազդեցությունը: Ավելի մանրամասն տեղեկատվություն հասանելի է յուրաքանչյուր բաղադրիչի համար ներկայացված փաստաթղթերում:
  4. Սկսեք HAL գրադարանը
    Հիմնական ծրագրին անցնելուց հետո հավելվածի կոդը պետք է կանչի HAL_Init() API՝ HAL գրադարանը սկզբնավորելու համար, որն իրականացնում է հետևյալ առաջադրանքները.
    • Ֆլեշ հիշողության նախնական առբերման և SysTick ընդհատման առաջնահերթության կազմաձևում (st m32wbaxx_hal_conf.h-ում սահմանված մակրոների միջոցով):
    • SysTick-ի կազմաձևում՝ stm32wbaxx_hal_conf.h-ում սահմանված SysTick-ի TICK_INT_PRIO ընդհատման առաջնահերթությունում յուրաքանչյուր միլիվայրկյանում ընդհատում առաջացնելու համար:
    • NVIC խմբի առաջնահերթության սահմանում 0-ի վրա:
    • HAL_MspInit() հետադարձ զանգի ֆունկցիան սահմանված է stm32wbaxx_hal_msp.c օգտատիրոջ մեջ file գլոբալ ցածր մակարդակի ապարատային սկզբնավորումներ կատարելու համար:
  5. Կարգավորեք համակարգի ժամացույցը
    Համակարգի ժամացույցի կոնֆիգուրացիան կատարվում է ստորև նկարագրված երկու API-ների կանչով.
    • HAL_RCC_OscConfig(): այս API-ն կարգավորում է ներքին և արտաքին օսլիլատորները: Օգտագործողը ընտրում է կարգավորել մեկ կամ բոլոր օսլիլատորները:
    • HAL_RCC_ClockConfig(): այս API-ն կարգավորում է համակարգի ժամացույցի աղբյուրը, ֆլեշ հիշողության հետաձգման ժամկետը և AHB և APB նախնական հաշվարկները:
  6. Նախաձեռնեք ծայրամասային սարքը
    • Նախ գրեք ծայրամասային HAL_PPP_MspInit ֆունկցիան: Գործել հետևյալ կերպ.
      • Միացնել ծայրամասային ժամացույցը:
      • Կարգավորեք ծայրամասային GPIO-ները:
      • Կարգավորեք DMA ալիքը և միացրեք DMA ընդհատումը (անհրաժեշտության դեպքում):
      • Միացնել ծայրամասային ընդհատումը (անհրաժեշտության դեպքում):
    • Խմբագրեք stm32xxx_it.c-ը՝ անհրաժեշտության դեպքում, պահանջվող ընդհատման կարգավորիչները կանչելու համար (ծայրամասային և DMA):
    • Գրեք գործընթացի հետադարձ կապի ամբողջական գործառույթները, եթե նախատեսվում է օգտագործել ծայրամասային ընդհատում կամ DMA:
    • Օգտվողի main.c file, սկզբնավորեք ծայրամասային բռնակի կառուցվածքը, այնուհետև կանչեք HAL_PPP_Init() ֆունկցիան՝ ծայրամասային սարքը սկզբնավորելու համար:
  7. Մշակել հավելված
    • Այս սtagե, համակարգը պատրաստ է, և օգտագործողի հավելվածի կոդի մշակումը կարող է սկսվել:
    • HAL-ն ապահովում է ինտուիտիվ և օգտագործման համար պատրաստ API-ներ՝ ծայրամասային սարքը կարգավորելու համար: Այն աջակցում է հարցումների, ընդհատումների և DMA ծրագրավորման մոդելի՝ հավելվածի ցանկացած պահանջներին համապատասխանելու համար: Լրացուցիչ մանրամասների համար, թե ինչպես օգտագործել յուրաքանչյուր ծայրամասային սարք, դիմեք հարուստ նախկինինample set տրամադրված STM32CubeWBA MCU փաթեթում:
      Զգուշացում. Նախնական HAL իրականացման դեպքում SysTick ժմչփն օգտագործվում է որպես ժամանակային բազա. այն ստեղծում է ընդհատումներ կանոնավոր ժամանակային ընդմիջումներով: Եթե ​​HAL_Delay()-ը կանչվում է ծայրամասային ISR գործընթացից, համոզվեք, որ SysTick ընդհատումն ունի ավելի բարձր առաջնահերթություն (թվային առումով ավելի ցածր), քան ծայրամասային ընդհատումը: Հակառակ դեպքում զանգահարողի ISR գործընթացը արգելափակված է: Գործառույթները, որոնք ազդում են ժամանակային բազայի կազմաձևերի վրա, հայտարարվում են որպես __թույլ, որպեսզի հնարավոր լինի փոխարինել օգտատիրոջ այլ ներդրման դեպքում: file (օգտագործելով ընդհանուր նշանակության ժամանակաչափ, օրինակample, կամ մեկ այլ ժամանակի աղբյուր): Լրացուցիչ մանրամասների համար տե՛ս HAL_TimeBase նախկինումampլե.

LL հավելված
Այս բաժինը նկարագրում է STM32CubeWBA-ի միջոցով հատուկ LL հավելված ստեղծելու համար անհրաժեշտ քայլերը:

  1. Ստեղծեք նախագիծ
    • Նոր նախագիծ ստեղծելու համար կամ սկսեք Templates_LL նախագծից, որը տրամադրվում է յուրաքանչյուր տախտակի համար \Projects\-ում: \Կաղապարներ_LL, կամ \Projects\ տակ գտնվող որևէ հասանելի նախագծից \Նախamples_LL ( վերաբերում է տախտակի անվանմանը, օրինակ՝ NUCLEO-WBA32CG):
    • Կաղապարի նախագիծը տրամադրում է դատարկ հիմնական հանգույց ֆունկցիա, որը լավ մեկնարկային կետ է STM32CubeWBA-ի նախագծի կարգավորումները հասկանալու համար: Կաղապարի հիմնական բնութագրերը հետևյալն են.
      • Այն պարունակում է LL և CMSIS դրայվերների սկզբնական կոդերը, որոնք բաղադրիչների նվազագույն փաթեթն են, որոնք անհրաժեշտ են տվյալ տախտակի վրա կոդ մշակելու համար:
      • Այն պարունակում է ներառված ուղիներ բոլոր անհրաժեշտ որոնվածային բաղադրիչների համար:
      • Այն ընտրում է աջակցվող STM32WBA սերիայի սարքը և թույլ է տալիս ճիշտ կազմաձևել CMSIS և LL դրայվերները:
      • Այն տրամադրում է պատրաստի օգտագործման օգտվողին files, որոնք նախապես կազմաձևված են հետևյալ կերպ.
        ◦ main.h. LED և USER_BUTTON սահմանման աբստրակցիոն շերտ:
        ◦ main.c. Համակարգի ժամացույցի կազմաձևում առավելագույն հաճախականության համար:
  2. Տեղադրեք գոյություն ունեցող նախագիծը մեկ այլ տախտակ
    Մեկ այլ թիրախային տախտակի վրա գոյություն ունեցող նախագծին աջակցելու համար սկսեք Templates_LL նախագծից, որը տրամադրվում է յուրաքանչյուր տախտակի համար և հասանելի է \Projects\-ում: \Կաղապարներ_LL.
    • Ընտրեք LL նախկինample. Գտնել այն տախտակը, որի վրա LL նախկինamples են տեղակայվել, տես ցանկը LL նախկինamples STM32CubeProjectsList.html:
  3. Port the LL նախկինampլե:
    • Պատճենեք/տեղադրեք Templates_LL թղթապանակը՝ սկզբնական աղբյուրը պահելու համար, կամ ուղղակիորեն թարմացրեք գոյություն ունեցող Temp lates_LL նախագիծը:
    • Այնուհետև տեղափոխումը հիմնականում բաղկացած է Templates_LL-ի փոխարինումից files կողմից նախկինamples_LL նպատակային նախագիծ.
    • Պահպանեք տախտակի բոլոր հատուկ մասերը: Հստակության նկատառումներից ելնելով, տախտակի հատուկ մասերը դրոշակավորված են հատուկ tags:

      STMicroelectronics-STM32WBA-Series-Getting-Started-fig-7

    • Այսպիսով, տեղափոխման հիմնական քայլերը հետևյալն են.
      • Փոխարինեք stm32wbaxx_it.h-ը file
      • Փոխարինեք stm32wbaxx_it.c-ը file
      • Փոխարինեք հիմնական.հ file և թարմացրեք այն. Պահպանեք LL ձևանմուշի LED և օգտագործողի կոճակի սահմանումը BOARD SPECIFIC CONFIGURATION-ում: tags.
      • Փոխարինեք հիմնական.գ file և թարմացնել այն.
    • Պահպանեք SystemClock_Config() LL ձևանմուշ ֆունկցիայի ժամացույցի կոնֆիգուրացիան BOARD SPECIFIC CONFIGURATION-ում: tags.
    • Կախված LED սահմանումից՝ փոխարինեք յուրաքանչյուր LDx երևույթ մեկ այլ LDy-ով, որը հասանելի է main.h-ում: file.
    • Այս փոփոխություններով նախկինample-ն այժմ աշխատում է նպատակային տախտակի վրա

Անվտանգության հավելվածներ
Այս փաթեթը առաքվում է անվտանգության հավելվածներով:

SBSFU հավելվածներ

  • SBSFU-ն տրամադրում է Root of Trust լուծում, ներառյալ Secure Boot և Secure Firmware Update գործառույթները (հիմնված MCUboot-ի վրա):
  • Լուծումը օգտագործվում է նախքան հավելվածը կատարելը:
  • Լուծումը ապահովում է նախկինampապահով ծառայության (GPIO անջատիչ), որը մեկուսացված է ոչ անվտանգ հավելվածից: Գործարկման ժամանակ ոչ անվտանգ հավելվածը դեռ կարող է օգտագործել այս լուծումը:

TFM հավելվածներ
TFM-ն ապահովում է Root of Trust լուծում, ներառյալ Secure Boot և Secure Firmware Update գործառույթները:
(հիմնված MCUboot-ի վրա): Լուծումը օգտագործվում է նախքան հավելվածը կատարելը: Լուծումը տրամադրում է TFM անվտանգ ծառայություններ, որոնք մեկուսացված են ոչ անվտանգ հավելվածից: Գործարկման ժամանակ ոչ անվտանգ հավելվածը դեռ կարող է օգտագործել այս լուծումը:

ՌԴ դիմումներ
ՌԴ կիրառումը նկարագրված է այս հավելվածի նշումում. անլար հավելվածների կառուցում STM32WBA սերիայի միկրոկառավարիչներով (AN5928):

Ստանալով STM32CubeWBA թողարկման թարմացումներ
STM32CubeWBA MCU փաթեթի վերջին թողարկումներն ու պատչերը հասանելի են STM32WBA Series-ից: Դրանք կարող են վերցվել STM32CubeMX-ի CHECK FOR UPDATE կոճակից: Լրացուցիչ մանրամասների համար տե՛ս STM3CubeMX օգտագործողի ձեռնարկի 32-րդ բաժինը՝ STM32-ի կազմաձևման և սկզբնականացման C կոդի ստեղծման համար (UM1718):

ՀՏՀ

  • Ե՞րբ պետք է օգտագործեմ HAL-ը LL դրայվերների փոխարեն:
    • HAL դրայվերներն առաջարկում են բարձր մակարդակի և գործառույթների վրա հիմնված API-ներ՝ դյուրատարության բարձր մակարդակով: Ապրանքի կամ ծայրամասային բարդությունը թաքնված է վերջնական օգտագործողների համար:
    • LL դրայվերներն առաջարկում են ռեգիստրի ցածր մակարդակի API-ներ՝ ավելի լավ օպտիմալացմամբ, բայց ավելի քիչ շարժական: Դրանք պահանջում են արտադրանքի կամ IP-ի բնութագրերի խորը գիտելիքներ:
  • Կարո՞ղ եմ միասին օգտագործել HAL և LL դրայվերները: Եթե ​​կարող եմ, ի՞նչ սահմանափակումներ կան:
    • Հնարավոր է օգտագործել և՛ HAL, և՛ LL դրայվերները: Օգտագործեք HAL-ը IP-ի սկզբնավորման փուլի համար և այնուհետև կառավարեք I/O գործողությունները LL դրայվերներով:
    • HAL-ի և LL-ի հիմնական տարբերությունն այն է, որ HAL դրայվերները պահանջում են ստեղծել և օգտագործել բռնակներ շահագործման կառավարման համար, մինչդեռ LL դրայվերները գործում են ուղղակիորեն ծայրամասային ռեգիստրների վրա: The Examples_MIX նախկինample ցույց է տալիս, թե ինչպես խառնել HAL-ը և LL-ը:
  • Ինչպե՞ս են միացված LL սկզբնավորման API-ները:
    • LL սկզբնավորման API-ների և հարակից ռեսուրսների (կառուցվածքներ, բառացիներ և նախատիպեր) սահմանումը պայմանավորված է USE_FULL_LL_DRIVER կոմպիլյացիոն անջատիչով:
    • Որպեսզի կարողանաք օգտագործել LL սկզբնավորման API-ներ, ավելացրեք այս անջատիչը Toolchain Compiler Preprocessor-ում:
  • Ինչպե՞ս կարող է STM32CubeMX-ը ստեղծել կոդ՝ հիմնված ներկառուցված ծրագրաշարի վրա:
    STM32CubeMX-ն ունի ներկառուցված գիտելիքներ STM32 միկրոկառավարիչների, ներառյալ դրանց ծայրամասային սարքերի և ծրագրային ապահովման մասին, որը թույլ է տալիս օգտատիրոջը տրամադրել գրաֆիկական ներկայացում և ստեղծել *.h կամ *.c: files հիմնված օգտագործողի կոնֆիգուրացիայի վրա:

ԿԱՐԵՎՈՐ ԾԱՆՈՒՑՈՒՄ – ԿԱՐԴԱՑԵՔ ՈՒՇԱԴՐՈՒԹՅՈՒՆ

  • STMicroelectronics NV-ն և նրա դուստր ձեռնարկությունները («ST») իրավունք են վերապահում ցանկացած պահի առանց նախազգուշացման փոփոխություններ, ուղղումներ, բարելավումներ, փոփոխություններ և բարելավումներ կատարել ST արտադրանքներում և/կամ այս փաստաթղթում: Գնորդները պետք է ստանան ST ապրանքների վերաբերյալ վերջին համապատասխան տեղեկատվությունը, նախքան պատվերներ տեղադրելը: ST ապրանքները վաճառվում են ST-ի վաճառքի պայմանների և պայմանների համաձայն, որոնք գործում են պատվերի հաստատման պահին:
  • Գնորդները բացառապես պատասխանատու են ST ապրանքների ընտրության, ընտրության և օգտագործման համար, և ST-ն պատասխանատվություն չի կրում դիմումների աջակցության կամ գնորդների արտադրանքի ձևավորման համար:
  • Սույնով ST-ի կողմից որևէ մտավոր սեփականության իրավունքի բացահայտ կամ ենթադրյալ լիցենզիա չի տրվում:
  • ST արտադրանքի վերավաճառք՝ սույն հոդվածում նշված տեղեկատվությունից տարբերվող դրույթներով, անվավեր է դարձնում ST-ի կողմից նման արտադրանքի համար տրված ցանկացած երաշխիք:
  • ST-ը և ST լոգոն ST-ի ապրանքային նշաններն են: ST ապրանքանիշերի մասին լրացուցիչ տեղեկությունների համար այցելեք www.st.com/trademarks: Բոլոր այլ ապրանքների կամ ծառայությունների անվանումները իրենց համապատասխան սեփականատերերի սեփականությունն են:
  • Այս փաստաթղթի տեղեկատվությունը փոխարինում և փոխարինում է այս փաստաթղթի ցանկացած նախկին տարբերակներում նախկինում տրված տեղեկատվությանը:
  • © 2023 STMicroelectronics – Բոլոր իրավունքները պաշտպանված են

Փաստաթղթեր / ռեսուրսներ

STMicroelectronics STM32WBA Series Ինչպես սկսել [pdf] Օգտագործողի ձեռնարկ
STM32WBA շարքը Սկսել, սկսել, սկսել

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *