STMicroelectronics STM32WBA Series Ինչպես սկսել
Ապրանքի մասին տեղեկատվություն
Տեխնիկական պայմաններ:
- Ապրանքի անվանումը: 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 փաթեթի բաղադրիչները:
STM32CubeWBA ճարտարապետությունն ավարտված էview
STM32CubeWBA MCU փաթեթի լուծումը կառուցված է երեք անկախ մակարդակների շուրջ, որոնք հեշտությամբ փոխազդում են, ինչպես նկարագրված է Նկար 2-ում: STM32CubeWBA MCU փաթեթի ճարտարապետություն:
Մակարդակ 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-ները բաժանված են երկու կատեգորիայի.- Ընդհանուր API-ներ, որոնք ապահովում են ընդհանուր և ընդհանուր գործառույթներ STM32 սերիայի բոլոր միկրոկառավարիչների համար:
- Ընդլայնման 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
- Azure® RTOS ThreadX. իրական ժամանակի օպերացիոն համակարգ (RTOS), որը նախատեսված է երկու ֆունկցիոնալ ռեժիմով ներկառուցված համակարգերի համար:
- Bluetooth® Low Energy (BLE). Իրականացնում է Bluetooth® Low Energy արձանագրությունը Link և Stack շերտերի համար:
- MCUboot (բաց կոդով ծրագրակազմ)
- Zigbee® արձանագրությունները կույտի և հարակից կլաստերների համար:
- Thread® արձանագրության կույտ և կապի շերտ:
- Arm® վստահելի որոնվածը-M, TF‑M (բաց կոդով ծրագրակազմ). TrustZone®-ի համար Arm® պլատֆորմի անվտանգության ճարտարապետության (PSA) տեղեկանք իրականացումը հարակից անվտանգ ծառայությունների հետ:
- mbed-crypto (բաց կոդով ծրագրաշար).
- STM32 Հպման ցուցիչի գրադարան. STMTouch-ի հզոր կոնդենսիվ հպման ցուցիչներ, որոնք աջակցում են մոտիկության, հպման ստեղնին, գծային և պտտվող հպման սենսորներին: Այն հիմնված է մակերեւութային լիցքի փոխանցման ձեռքբերման ապացուցված սկզբունքի վրա:
- Microsoft® Azure® RTOS
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 որոնվածի փաթեթի կառուցվածքը:
- Յուրաքանչյուր տախտակի համար մի շարք նախկինamples-ը տրամադրվում է EWARM, MDK-ARM և STM32CubeIDE գործիքների համար նախատեսված նախապես կազմաձևված նախագծերով:
- Նկար 4. STM32CubeWBA նախկինampավելի քիչview ցույց է տալիս NUCLEO-WBA52CG, NUCLEO-WBA55CG և STM32WBA55G-DK1 տախտակների նախագծի կառուցվածքը:
- Նախկին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 ծրագրային ապահովման ուղեցույցների փաստաթղթերը:
- 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 տախտակի վրա աշխատող պարզ լուսադիոդային անջատիչի արտադրությունը.
- Ներբեռնեք STM32CubeWBA MCU փաթեթը:
- Բացեք այն ձեր ընտրած գրացուցակի մեջ:
- Համոզվեք, որ չփոփոխեք Նկար 1-ում ներկայացված փաթեթի կառուցվածքը: Նաև խորհուրդ է տրվում պատճենել փաթեթը ձեր արմատային ծավալին մոտ գտնվող վայրում (նշանակում է C:\ST կամ G:\Tests), քանի որ որոշ IDE-ներ խնդիրներ են ունենում, երբ ճանապարհը երկարությունը չափազանց երկար է:
Աշխատում է առաջին TrustZone®-ը միացված նախկինումample
- Նախքան բեռնելն ու գործարկելը միացված TrustZone® օրինակample, պարտադիր է կարդալ նախկինample readme file ցանկացած կոնկրետ կոնֆիգուրացիայի համար, որն ապահովում է, որ անվտանգությունը միացված է, ինչպես նկարագրված է Բաժին 4.2.1 TrustZone® միացված նախագծերում (TZEN=1 (օգտագործողի ընտրանքի բայթ)):
- Թերթիր դեպի \Projects\NUCLEO-WBA52CG\Examples.
- Բացեք \GPIO, ապա \GPIO_IOToggle_TrustZone պանակները:
- Բացեք նախագիծը ձեր նախընտրած գործիքների շղթայով: Արագ ավարտview այն մասին, թե ինչպես բացել, կառուցել և ղեկավարել նախկինըampաջակցվող գործիքների շղթաներով տրված է ստորև:
- Հերթականորեն վերակառուցեք բոլոր անվտանգ և ոչ անվտանգ նախագիծը files և բեռնել ապահով և ոչ անվտանգ պատկերները թիրախային հիշողության մեջ:
- Վազիր նախկինըample. կանոնավոր կերպով, ապահով հավելվածն ամեն վայրկյան փոխում է LD2-ը, իսկ ոչ անվտանգ հավելվածը երկու անգամ ավելի արագ է փոխում LD3-ը: Լրացուցիչ մանրամասների համար դիմեք readme-ին file նախկինիampլե.
- Նախկին բացելու, կառուցելու և գործարկելու համարampաջակցվող գործիքների շղթաներով, հետևեք ստորև նշված քայլերին.
- EWARM:
- Նախկին տակample folder, բացեք \EWARM ենթաթղթապանակը:
- Գործարկեք Project.eww աշխատանքային տարածքը
- Վերակառուցեք xxxxx_S անվտանգ նախագիծը files: [Նախագիծ]>[Վերականգնել բոլորը]:
- Սահմանեք xxxxx_NS ոչ անվտանգ նախագիծը որպես Ակտիվ հավելված (աջ սեղմեք xxxxx_NS նախագծի վրա [Սահմանել որպես ակտիվ])
- Վերակառուցեք xxxxx_NS ոչ անվտանգ նախագիծը files: [Նախագիծ]>[Վերականգնել բոլորը]:
- Ֆլեշեք անապահով երկուականը [Project]>[Ներբեռնում]>[Ներբեռնեք ակտիվ հավելվածը] միջոցով:
- Սահմանեք xxxxx_S-ը որպես ակտիվ հավելված (աջ սեղմեք xxxxx_S նախագծի վրա [Սահմանել որպես ակտիվ]:
- Թափել ապահով երկուականը [Download and Debug]-ով (Ctrl+D):
- Գործարկեք ծրագիրը՝ [Debug]>[Go(F5)]
- MDK-ARM:
- Բացեք \MDK-ARM գործիքների շղթան:
- Բացեք Multiprojects աշխատանքային տարածքը file Project.uvmpw.
- Ընտրեք xxxxx_s նախագիծը որպես Ակտիվ հավելված ([Սահմանել որպես ակտիվ նախագիծ]):
- Կառուցեք xxxxx_s նախագիծը:
- Ընտրեք xxxxx_ns նախագիծը որպես Ակտիվ նախագիծ ([Set as Active Project]):
- Կառուցեք xxxxx_ns նախագիծը:
- Բեռնել ոչ անվտանգ երկուականը ([F8]): Սա ներբեռնում է \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf ֆլեշ հիշողության մեջ)
- Ընտրեք Project_s նախագիծը որպես Ակտիվ նախագիծ ([Set as Active Project]):
- Բեռնել անվտանգ երկուականը ([F8]): Սա ներբեռնում է \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf ֆլեշ հիշողության մեջ):
- Վազիր նախկինըampլե.
- STM32CubeIDE:
- Բացեք STM32CubeIDE գործիքների շղթան:
- Բացեք Multiprojects աշխատանքային տարածքը file .նախագիծ.
- Վերակառուցեք xxxxx_Secure նախագիծը:
- Վերակառուցեք xxxxx_NonSecure նախագիծը:
- Գործարկեք [Debug as STM32 Cortex-M C/C++] հավելվածը անվտանգ նախագծի համար:
- [Edit configuration] պատուհանում ընտրեք [Startup] վահանակը և ավելացրեք բեռնվածություն անապահով նախագծի պատկերն ու խորհրդանիշները:
Կարևոր է. Անվտանգ նախագիծը պետք է բեռնվի նախքան անվտանգ նախագիծը: - Սեղմեք [Ok]:
- Վազիր նախկինըample on debug հեռանկարը:
- EWARM:
Առաջին TrustZone®-ի հաշմանդամ գործարկումը, օրինակample
- TrustZone®-ն անջատված է բեռնելուց և գործարկելուց առաջ, օրինակample, պարտադիր է կարդալ նախկինample readme file ցանկացած կոնկրետ կոնֆիգուրացիայի համար: Եթե կոնկրետ նշումներ չկան, համոզվեք, որ տախտակի սարքի անվտանգությունն անջատված է (TZEN=0 (օգտագործողի ընտրանքի բայթ)): Տե՛ս FAQ կամընտիր ռեգրեսիա TZEN = 0 կատարելու համար
- Թերթիր դեպի \Projects\NUCLEO-WBA52CG\Examples.
- Բացեք \GPIO, ապա \GPIO_EXTI պանակները:
- Բացեք նախագիծը ձեր նախընտրած գործիքների շղթայով: Արագ ավարտview այն մասին, թե ինչպես բացել, կառուցել և ղեկավարել նախկինըampաջակցվող գործիքների շղթաներով տրված է ստորև:
- Վերակառուցել բոլորը files և բեռնեք ձեր պատկերը թիրախային հիշողության մեջ:
- Վազիր նախկինըample. Ամեն անգամ, երբ սեղմվում է [USER] կոճակը, LD1 LED-ը միանում է: Լրացուցիչ մանրամասների համար դիմեք readme-ին file նախկինիampլե.
- Նախկին բացելու, կառուցելու և գործարկելու համարampաջակցվող գործիքների շղթաներով, հետևեք ստորև նշված քայլերին.
- EWARM:
- Նախկին տակample folder, բացեք \EWARM ենթաթղթապանակը:
- Գործարկեք Project.eww աշխատանքային տարածքը (աշխատանքային տարածքի անունը կարող է փոխվել մեկ նախկինիցampմեկ ուրիշին):
- Վերակառուցել բոլորը files: [Նախագիծ]>[Վերականգնել բոլորը]:
- Բեռնել նախագծի պատկերը՝ [Project]>[Debug]:
- Գործարկել ծրագիրը՝ [Debug]>[Go (F5)]:
- MDK-ARM:
- Նախկին տակample թղթապանակը, բացեք \MDK-ARM ենթաթղթապանակը։
- Գործարկեք Project.uvproj աշխատանքային տարածքը (աշխատանքային տարածքի անունը կարող է փոխվել մեկ օրինակիցampմեկ ուրիշին):
- Վերակառուցել բոլորը files:[Project]>[Վերականգնել բոլոր թիրախները files].
- Բեռնել նախագծի պատկերը՝ [Վրիպազերծում]> [Սկսել/Դադարեցնել վրիպազերծման նիստը]:
- Գործարկել ծրագիրը՝ [Debug]>[Run (F5)]:
- STM32CubeIDE:
- Բացեք STM32CubeIDE գործիքների շղթան:
- Սեղմել [File]>[Switch Workspace]>[Other] և թերթեք STM32CubeIDE աշխատանքային տարածքի գրացուցակը:
- Սեղմել [File]>[Ներմուծում], ընտրեք [General]>[Existing Projects into Workspace], ապա սեղմեք [Next]:
- Զննեք 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-ը ստեղծում է նման նախագծերի սկզբնավորման սկզբնական կոդը: Ծրագրի հիմնական կոդերը պարունակում են «ՕԳՏԱԳՈՐԾՈՂԻ ԿՈԴԻ ՍԿԶԲ» և «ՕԳՏԱԳՈՐԾՈՂ ԿՈԴԻ ՎԵՐՋ» մեկնաբանություններում: Այն դեպքում, երբ IP-ի ընտրությունը և կարգավորումը փոփոխվում են, STM32CubeMX-ը թարմացնում է կոդի սկզբնավորման մասը, սակայն պահպանում է հավելվածի հիմնական աղբյուրի կոդը:
- STM32CubeMX-ում հատուկ նախագիծ մշակելու համար հետևեք քայլ առ քայլ գործընթացին.
- Ընտրեք STM32 միկրոկառավարիչը, որը համապատասխանում է ծայրամասային սարքերի պահանջվող փաթեթին:
- Կազմաձևեք բոլոր անհրաժեշտ ներկառուցված ծրագրաշարը՝ օգտագործելով pinout-conflict լուծիչը, ժամացույցի ծառի կարգավորումների օգնականը, էներգիայի սպառման հաշվիչը և MCU ծայրամասային կոնֆիգուրացիան (օրինակ՝ GPIO կամ USART) և միջին ծրագրերի կույտեր (օրինակ՝ USB):
- Ստեղծեք սկզբնավորման C կոդը՝ հիմնվելով ընտրված կոնֆիգուրացիայի վրա: Այս կոդը պատրաստ է օգտագործման մի քանի զարգացման միջավայրում: Օգտվողի կոդը պահվում է կոդերի հաջորդ սերնդում:
- STM32CubeMX-ի մասին լրացուցիչ տեղեկությունների համար տե՛ս STM32CubeMX օգտագործողի ձեռնարկը STM32-ի կազմաձևման և սկզբնավորման C կոդերի ստեղծման համար (UM1718):
- Հասանելի նախագծի ցանկի համար, օրինակampSTM32CubeWBA-ի համար, տես հավելվածի նշումը STM32Cube որոնվածը նախկինումamples STM32WBA շարքի համար (AN5929):
Վարորդի հավելվածներ
HAL հավելված
Այս բաժինը նկարագրում է STM32CubeWBA-ի միջոցով սովորական HAL հավելված ստեղծելու համար անհրաժեշտ քայլերը.
- Ստեղծեք նախագիծ
- Նոր նախագիծ ստեղծելու համար սկսեք «Կաղապար» նախագծից, որը տրամադրվում է յուրաքանչյուր տախտակի համար \Projects\-ում: \Կաղապարներ կամ ցանկացած հասանելի նախագծից \Projects\ \Քննությունների կամ \Նախագծեր\ \Ծրագրեր (որտեղ վերաբերում է տախտակի անվանմանը, օրինակ՝ STM32CubeWBA):
- Կաղապար նախագիծը տրամադրում է դատարկ հիմնական հանգույց ֆունկցիա: Այնուամենայնիվ, լավ մեկնարկային կետ է STM32CubeWBA նախագծի կարգավորումները հասկանալու համար: Կաղապարն ունի հետևյալ բնութագրերը.
- Այն պարունակում է HAL աղբյուրի կոդը, CMSIS և BSP դրայվերները, որոնք բաղադրիչների նվազագույն փաթեթն են, որոնք անհրաժեշտ են տվյալ տախտակի վրա կոդ մշակելու համար:
- Այն պարունակում է ներառված ուղիներ բոլոր որոնվածի բաղադրիչների համար:
- Այն սահմանում է STM32WBA սերիայի աջակցվող սարքերը՝ թույլ տալով CMSIS և HAL դրայվերները ճիշտ կարգավորել:
- Այն տրամադրում է օգտագործման համար պատրաստ օգտագործողին files-ը նախապես կազմաձևված է, ինչպես ցույց է տրված ստորև.
HAL-ը սկզբնավորվել է լռելյայն ժամանակային բազայով Arm® հիմնական SysTick-ով: SysTick ISR-ն իրականացվել է HAL_Delay() նպատակով:
Նշում. Գոյություն ունեցող նախագիծն այլ վայրում պատճենելիս համոզվեք, որ ներառված բոլոր ուղիները թարմացված են:
- Օգտատիրոջ նախագծին ավելացրեք անհրաժեշտ միջին ծրագիրը (ըստ ցանկության)
Աղբյուրը բացահայտելու համար files-ն կավելացվի նախագծին file ցանկը, հղում կատարեք յուրաքանչյուր միջին ծրագրի համար տրամադրված փաստաթղթերին: Տե՛ս հավելվածները \Projects\STM32xxx_yyy\Applications\ (որտեղ վերաբերում է միջին ծրագրակազմին, ինչպիսին է ThreadX-ը)՝ իմանալու, թե որ աղբյուրը files և ներառում ուղիները պետք է ավելացվեն: - Կարգավորեք որոնվածի բաղադրիչները
HAL և Middleware բաղադրիչներն առաջարկում են build-time կազմաձևման տարբերակների մի շարք՝ օգտագործելով վերնագրում հայտարարված #define մակրոները: file. Կաղապարի կոնֆիգուրացիա file տրամադրվում է յուրաքանչյուր բաղադրիչի մեջ, որը պետք է պատճենվի նախագծի թղթապանակում (սովորաբար կոնֆիգուրացիան file կոչվում է xxx_conf_template.h, _template բառը պետք է հեռացվի նախագծի թղթապանակում պատճենելիս): Կազմաձևը file ապահովում է բավարար տեղեկատվություն՝ հասկանալու յուրաքանչյուր կազմաձևման տարբերակի ազդեցությունը: Ավելի մանրամասն տեղեկատվություն հասանելի է յուրաքանչյուր բաղադրիչի համար ներկայացված փաստաթղթերում: - Սկսեք 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 գլոբալ ցածր մակարդակի ապարատային սկզբնավորումներ կատարելու համար:
- Կարգավորեք համակարգի ժամացույցը
Համակարգի ժամացույցի կոնֆիգուրացիան կատարվում է ստորև նկարագրված երկու API-ների կանչով.- HAL_RCC_OscConfig(): այս API-ն կարգավորում է ներքին և արտաքին օսլիլատորները: Օգտագործողը ընտրում է կարգավորել մեկ կամ բոլոր օսլիլատորները:
- HAL_RCC_ClockConfig(): այս API-ն կարգավորում է համակարգի ժամացույցի աղբյուրը, ֆլեշ հիշողության հետաձգման ժամկետը և AHB և APB նախնական հաշվարկները:
- Նախաձեռնեք ծայրամասային սարքը
- Նախ գրեք ծայրամասային HAL_PPP_MspInit ֆունկցիան: Գործել հետևյալ կերպ.
- Միացնել ծայրամասային ժամացույցը:
- Կարգավորեք ծայրամասային GPIO-ները:
- Կարգավորեք DMA ալիքը և միացրեք DMA ընդհատումը (անհրաժեշտության դեպքում):
- Միացնել ծայրամասային ընդհատումը (անհրաժեշտության դեպքում):
- Խմբագրեք stm32xxx_it.c-ը՝ անհրաժեշտության դեպքում, պահանջվող ընդհատման կարգավորիչները կանչելու համար (ծայրամասային և DMA):
- Գրեք գործընթացի հետադարձ կապի ամբողջական գործառույթները, եթե նախատեսվում է օգտագործել ծայրամասային ընդհատում կամ DMA:
- Օգտվողի main.c file, սկզբնավորեք ծայրամասային բռնակի կառուցվածքը, այնուհետև կանչեք HAL_PPP_Init() ֆունկցիան՝ ծայրամասային սարքը սկզբնավորելու համար:
- Նախ գրեք ծայրամասային HAL_PPP_MspInit ֆունկցիան: Գործել հետևյալ կերպ.
- Մշակել հավելված
- Այս սtagե, համակարգը պատրաստ է, և օգտագործողի հավելվածի կոդի մշակումը կարող է սկսվել:
- HAL-ն ապահովում է ինտուիտիվ և օգտագործման համար պատրաստ API-ներ՝ ծայրամասային սարքը կարգավորելու համար: Այն աջակցում է հարցումների, ընդհատումների և DMA ծրագրավորման մոդելի՝ հավելվածի ցանկացած պահանջներին համապատասխանելու համար: Լրացուցիչ մանրամասների համար, թե ինչպես օգտագործել յուրաքանչյուր ծայրամասային սարք, դիմեք հարուստ նախկինինample set տրամադրված STM32CubeWBA MCU փաթեթում:
Զգուշացում. Նախնական HAL իրականացման դեպքում SysTick ժմչփն օգտագործվում է որպես ժամանակային բազա. այն ստեղծում է ընդհատումներ կանոնավոր ժամանակային ընդմիջումներով: Եթե HAL_Delay()-ը կանչվում է ծայրամասային ISR գործընթացից, համոզվեք, որ SysTick ընդհատումն ունի ավելի բարձր առաջնահերթություն (թվային առումով ավելի ցածր), քան ծայրամասային ընդհատումը: Հակառակ դեպքում զանգահարողի ISR գործընթացը արգելափակված է: Գործառույթները, որոնք ազդում են ժամանակային բազայի կազմաձևերի վրա, հայտարարվում են որպես __թույլ, որպեսզի հնարավոր լինի փոխարինել օգտատիրոջ այլ ներդրման դեպքում: file (օգտագործելով ընդհանուր նշանակության ժամանակաչափ, օրինակample, կամ մեկ այլ ժամանակի աղբյուր): Լրացուցիչ մանրամասների համար տե՛ս HAL_TimeBase նախկինումampլե.
LL հավելված
Այս բաժինը նկարագրում է STM32CubeWBA-ի միջոցով հատուկ LL հավելված ստեղծելու համար անհրաժեշտ քայլերը:
- Ստեղծեք նախագիծ
- Նոր նախագիծ ստեղծելու համար կամ սկսեք Templates_LL նախագծից, որը տրամադրվում է յուրաքանչյուր տախտակի համար \Projects\-ում: \Կաղապարներ_LL, կամ \Projects\ տակ գտնվող որևէ հասանելի նախագծից \Նախamples_LL ( վերաբերում է տախտակի անվանմանը, օրինակ՝ NUCLEO-WBA32CG):
- Կաղապարի նախագիծը տրամադրում է դատարկ հիմնական հանգույց ֆունկցիա, որը լավ մեկնարկային կետ է STM32CubeWBA-ի նախագծի կարգավորումները հասկանալու համար: Կաղապարի հիմնական բնութագրերը հետևյալն են.
- Այն պարունակում է LL և CMSIS դրայվերների սկզբնական կոդերը, որոնք բաղադրիչների նվազագույն փաթեթն են, որոնք անհրաժեշտ են տվյալ տախտակի վրա կոդ մշակելու համար:
- Այն պարունակում է ներառված ուղիներ բոլոր անհրաժեշտ որոնվածային բաղադրիչների համար:
- Այն ընտրում է աջակցվող STM32WBA սերիայի սարքը և թույլ է տալիս ճիշտ կազմաձևել CMSIS և LL դրայվերները:
- Այն տրամադրում է պատրաստի օգտագործման օգտվողին files, որոնք նախապես կազմաձևված են հետևյալ կերպ.
◦ main.h. LED և USER_BUTTON սահմանման աբստրակցիոն շերտ:
◦ main.c. Համակարգի ժամացույցի կազմաձևում առավելագույն հաճախականության համար:
- Տեղադրեք գոյություն ունեցող նախագիծը մեկ այլ տախտակ
Մեկ այլ թիրախային տախտակի վրա գոյություն ունեցող նախագծին աջակցելու համար սկսեք Templates_LL նախագծից, որը տրամադրվում է յուրաքանչյուր տախտակի համար և հասանելի է \Projects\-ում: \Կաղապարներ_LL.- Ընտրեք LL նախկինample. Գտնել այն տախտակը, որի վրա LL նախկինamples են տեղակայվել, տես ցանկը LL նախկինamples STM32CubeProjectsList.html:
- Port the LL նախկինampլե:
- Պատճենեք/տեղադրեք Templates_LL թղթապանակը՝ սկզբնական աղբյուրը պահելու համար, կամ ուղղակիորեն թարմացրեք գոյություն ունեցող Temp lates_LL նախագիծը:
- Այնուհետև տեղափոխումը հիմնականում բաղկացած է Templates_LL-ի փոխարինումից files կողմից նախկինamples_LL նպատակային նախագիծ.
- Պահպանեք տախտակի բոլոր հատուկ մասերը: Հստակության նկատառումներից ելնելով, տախտակի հատուկ մասերը դրոշակավորված են հատուկ tags:
- Այսպիսով, տեղափոխման հիմնական քայլերը հետևյալն են.
- Փոխարինեք 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 շարքը Սկսել, սկսել, սկսել |