STMicroelectronics STM32WBA סעריע באַקומען סטאַרטעד
פּראָדוקט אינפֿאָרמאַציע
ספּעסאַפאַקיישאַנז:
- פּראָדוקט נאָמען: STM32CubeWBA MCU פּעקל
- פאַבריקאַנט: STMicroelectronics
- קאַמפּאַטאַבילאַטי: STM32WBA סעריע מיקראָקאָנטראָללערס
- ליסענסינג: עפֿן מקור BSD דערלויבעניש
פּראָדוקט באַניץ אינסטרוקציעס
הויפּט פֿעיִקייטן פון STM32CubeWBA MCU פּאַקקאַגע:
די STM32CubeWBA MCU פּאַקקאַגע גיט אַלע די נויטיק עמבעדיד ווייכווארג קאַמפּאָונאַנץ פֿאַר דעוועלאָפּינג אַפּלאַקיישאַנז אויף STM32WBA סעריע מיקראָקאָנטראָללערס. עס איז העכסט פּאָרטאַטיוו אין די STM32 סעריע און קומט מיט HAL און LL אַפּיס, עקסampליי, און מיטלוואַרע קאַמפּאָונאַנץ.
אַרקאַטעקטשער איבערview:
די אַרקאַטעקטשער פון די STM32CubeWBA MCU פּאַקקאַגע באשטייט פון דריי לעוועלס - אַפּפּליקאַטיאָנס, ביבליאָטעק און פּראָטאָקאָל-באזירט קאַמפּאָונאַנץ, ייַזנוואַרג אַבסטראַקציע שיכטע, BSP דריווערס, קאָר דריווערס און נידעריק-שיכטע אַפּיס.
FAQ
- וואָס איז אַרייַנגערעכנט אין די STM32CubeWBA MCU פּעקל?
דער פּעקל כולל נידעריק-שיכטע (LL) און ייַזנוואַרג אַבסטראַקציע שיכטע (HAL) אַפּיס, עקסampליי, אַפּלאַקיישאַנז, מידדוואַרע קאַמפּאָונאַנץ ווי 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 נידעריק-שיכטע אַפּיס, ינשורינג די בעסטער פאָרשטעלונג און פוטפּרינץ מיט אַ הויך גראַד פון באַניצער קאָנטראָל איבער ייַזנוואַרג
- א קאָנסיסטענט גאַנג פון מידדוואַרע קאַמפּאָונאַנץ אַזאַ ווי ThreadX, FileX / LevelX, NetX Duo, USBX, ריר ביבליאָטעק, mbed-crypto, TFM, MCUboot, OpenBL און STM32_WPAN (אַרייַנגערעכנט בלועטאָאָטה® נידעריק ענערגיע פּראָ)files און באַדינונגס, מעש, זיגבעע®, אָפּענטהרעאַד, מאַטער, און 802.15.4 מעק שיכטע)
- כל עמבעדיד ווייכווארג יוטילאַטיז מיט פול סעץ פון פּעריפעראַל און אַפּפּליקאַטיווע עקסamples
- STM32Cube עקספּאַנסיאָן פּאַקקאַגעס, וואָס אַנטהאַלטן עמבעדיד ווייכווארג קאַמפּאָונאַנץ וואָס דערגאַנג די פאַנגקשאַנאַליטי פון די STM32Cube MCU און MPU פּאַקידזשיז מיט:
- מיטלוואַרע יקסטענשאַנז און אַפּפּליקאַטיווע לייַערס
- Exampלייס פליסנדיק אויף עטלעכע ספּעציפיש 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) אַפּיס וואָס דעקן די מיקראָקאָנטראָללער ייַזנוואַרג, צוזאַמען מיט אַ ברייט גאַנג פון עקס.ampעס איז פליסנדיק אויף STMicroelectronics באָרדז. די HAL און LL אַפּיס זענען בארעכטיגט אין אַן אָפֿן מקור BSD דערלויבעניש פֿאַר באַניצער קאַנוויניאַנס.
- די STM32CubeWBA MCU פּאַקקאַגע אויך כּולל אַ פולשטענדיק מידאַלוואַרע קאָמפּאָנענט קאַנסטראַקטאַד אַרום Microsoft® Azure® RTOS מידוואַרע און אנדערע אין-הויז און אָפֿן מקור סטאַקס, מיט די קאָראַספּאַנדינג עקס.amples.
- זיי קומען מיט פריי, באַניצער-פרייַנדלעך דערלויבעניש טערמינען:
- ינטעגראַטעד און פול-פיטשערד Azure® RTOS: Azure® RTOS ThreadX
- ימפּלאַמענטיישאַן פון CMSIS-RTOS מיט Azure® RTOS ThreadX
- וסב האָסט און מיטל סטאַקס קומען מיט פילע קלאסן: Azure® RTOS USBX
- אַוואַנסירטע file סיסטעם און בליץ איבערזעצונג שיכטע: Fileרענטגענ / לעוועלקס
- ינדוסטריאַל מיינונג נעטוואָרקינג אָנלייגן: אָפּטימיזעד פֿאַר פאָרשטעלונג מיט פילע IoT פּראָטאָקאָלס: NetX Duo
- OpenBootloader
- Arm® Trusted Firmware-M (TF‑M) ינטאַגריישאַן לייזונג
- mbed-קריפּטאָ לייברעריז
- סט נעטוואָק ביבליאָטעק
- STMTouch ריר סענסינג ביבליאָטעק לייזונג
- עטלעכע אַפּלאַקיישאַנז און דעמאַנסטריישאַנז ימפּלאַמענינג אַלע די מידאַלוואַרע קאַמפּאָונאַנץ זענען אויך צוגעשטעלט אין די STM32CubeWBA MCU פּאַקקאַגע.
- די STM32CubeWBA MCU פּאַקקאַגע קאָמפּאָנענט אויסלייג איז ילאַסטרייטיד אין פיגורע 1. STM32CubeWBA MCU פּאַקקאַגע קאַמפּאָונאַנץ.
STM32CubeWBA אַרקאַטעקטשער איבערview
די STM32CubeWBA MCU פּעקל לייזונג איז געבויט אַרום דריי פרייַ לעוועלס וואָס לייכט ינטעראַקט ווי דיסקרייבד אין פיגורע 2. STM32CubeWBA MCU פּעקל אַרקאַטעקטשער.
מדרגה 0
דעם מדרגה איז צעטיילט אין דרייַ סובלייַערס:
- באָרד שטיצן פּעקל (BSP).
- האַרדוואַרע אַבסטראַקציע שיכטע (HAL):
- HAL פּעריפעראַל דריווערס
- נידעריק-שיכטע דריווערס
- יקערדיק פּעריפעראַל באַניץ עקסamples.
באָרד שטיצן פּעקל (BSP)
דער שיכטע אָפפערס אַ גאַנג פון אַפּיס קאָרעוו צו די ייַזנוואַרג קאַמפּאָונאַנץ אין די ייַזנוואַרג באָרדז (אַזאַ ווי לקד, אַודיאָ, \ microSD ™ און MEMS דריווערס). עס איז קאַמפּאָוזד פון צוויי טיילן:
- קאָמפּאָנענט דרייווער:
דער שאָפער איז שייך צו די פונדרויסנדיק מיטל אויף די ברעט, און נישט צו די STM32 מיטל. דער קאָמפּאָנענט שאָפער גיט ספּעציפיש אַפּיס צו די בספּ שאָפער פונדרויסנדיק קאַמפּאָונאַנץ און קען זיין פּאָרטאַטיוו אויף קיין אנדערע ברעט. - BSP דרייווער:
די BSP שאָפער אַלאַוז פֿאַרבינדונג די קאָמפּאָנענט דריווערס צו אַ ספּעציפיש ברעט, און גיט אַ גאַנג פון באַניצער-פרייַנדלעך
APIs. די אַפּי נאַמינג הערשן איז BSP_FUNCT_Action ().
Exampצו: BSP_LED_Init(), BSP_LED_On()
BSP איז באזירט אויף אַ מאַדזשאַלער אַרקאַטעקטשער אַלאַוינג גרינג פּאָרטינג אויף קיין ייַזנוואַרג דורך נאָר ימפּלאַמענינג די נידעריק-מדרגה רוטינז.
ייַזנוואַרג אַבסטראַקציע שיכטע (HAL) און נידעריק-שיכטע (LL)
די STM32CubeWBA HAL און LL זענען קאַמפּלאַמענטשי און דעקן אַ ברייט קייט פון אַפּלאַקיישאַן רעקווירעמענץ:
- די HAL דריווערס פאָרשלאָגן הויך-מדרגה פונקציע-אָריענטיד העכסט פּאָרטאַטיוו אַפּיס. זיי באַהאַלטן די MCU און פּעריפעראַל קאַמפּלעקסיטי צו די סוף באַניצער.
די HAL דריווערס צושטעלן דזשאַנעריק מולטי-ינסטאַל שטריך-אָריענטיד אַפּיס, וואָס פאַרפּאָשעטערן באַניצער אַפּלאַקיישאַן ימפּלאַמענטיישאַן דורך פּראַוויידינג גרייט-צו-נוצן פּראַסעסאַז. פֿאַר עקסampפֿאַר קאָמוניקאַציע פּעריפעראַלס (I2S, UART, און אנדערע), עס גיט אַפּיס אַלאַוינג יניטיאַלייזינג און קאַנפיגיערינג די פּעריפעראַל, אָנפירונג דאַטן אַריבערפירן באזירט אויף פּאָללינג, ינטעראַפּטינג אָדער DMA פּראָצעס, און האַנדלינג קאָמוניקאַציע ערראָרס וואָס קען אויפשטיין בעשאַס קאָמוניקאַציע. די HAL דרייווער אַפּיס זענען צעטיילט אין צוויי קאַטעגאָריעס:- דזשאַנעריק אַפּיס, וואָס צושטעלן פּראָסט און דזשאַנעריק פאַנגקשאַנז צו אַלע די STM32 סעריע מיקראָקאָנטראָללערס.
- פאַרלענגערונג אַפּיס, וואָס צושטעלן ספּעציפיש און קאַסטאַמייזד פאַנגקשאַנז פֿאַר אַ ספּעציפיש משפּחה אָדער אַ ספּעציפיש טייל נומער.
- די נידעריק-שיכטע אַפּיס צושטעלן נידעריק-מדרגה אַפּיס אויף די רעגיסטרירן מדרגה, מיט בעסער אַפּטאַמאַזיישאַן אָבער ווייניקער פּאָרטאַביליטי.
- זיי דאַרפן אַ טיף וויסן פון MCU און פּעריפעראַל ספּעסאַפאַקיישאַנז.
- די LL דריווערס זענען דיזיינד צו פאָרשלאָגן אַ שנעל לייטווייט עקספּערט-אָריענטיד שיכטע וואָס איז נעענטער צו די ייַזנוואַרג ווי די HAL. פאַרקערט צו די HAL, LL APIs זענען נישט צוגעשטעלט פֿאַר פּעריפעראַלס ווו אָפּטימיזעד אַקסעס איז נישט אַ שליסל שטריך, אָדער פֿאַר יענע וואָס דאַרפן שווער ווייכווארג קאַנפיגיעריישאַן אָדער קאָמפּלעקס אָנלייגן אויף דער אויבערשטער מדרגה.
- די LL דריווערס שטריך:
- א סכום פון פאַנגקשאַנז צו ינישאַלייז פּעריפעראַל הויפּט פֿעיִקייטן לויט די פּאַראַמעטערס ספּעסיפיעד אין דאַטן סטראַקטשערז.
- א סכום פון פאַנגקשאַנז צו פּלאָמבירן יניטיאַליזאַטיאָן דאַטן סטראַקטשערז מיט די באַשטעטיק וואַלועס קאָראַספּאַנדינג צו יעדער פעלד.
- פֿונקציע פֿאַר פּעריפעראַל דעיניטיאַליזאַטיאָן (פּעריפעראַל רעדזשיסטערז געזונט צו זייער פעליקייַט וואַלועס).
- א סכום פון ינלינע פאַנגקשאַנז פֿאַר דירעקט און אַטאָמישע רעגיסטרירן אַקסעס.
- גאַנץ זעלבסטשטענדיקייַט פון HAL און פיייקייט צו זיין געוויינט אין סטאַנדאַלאָנע מאָדע (אָן HAL דריווערס).
- גאַנץ קאַווערידזש פון די געשטיצט פּעריפעראַל פֿעיִקייטן.
יקערדיק פּעריפעראַל באַניץ עקסamples
דעם שיכטע ינקלודז די עקסampלייס געבויט איבער די STM32 פּעריפעראַלס מיט בלויז די HAL און BSP רעסורסן.
מדרגה 1
דעם מדרגה איז צעטיילט אין צוויי סאַב-לייַערס:
- מיטלוואַרע קאַמפּאָונאַנץ
- Exampלייס באזירט אויף די מידדוואַרע קאַמפּאָונאַנץ
מיטלוואַרע קאַמפּאָונאַנץ
- די מיטלוואַרע איז אַ גאַנג פון לייברעריז וואָס דעקן בלועטאָאָטה® נידעריק ענערגיע (לינקלייַער, הסי, סטאַק), פֿאָדעם®, זיגבעע®,
- ענין, OpenBootloader, Microsoft® Azure® RTOS, TF-M, MCUboot און mbed-crypto.
- האָריזאָנטאַל ינטעראַקשאַן צווישן די קאַמפּאָונאַנץ פון דעם שיכטע איז דורכגעקאָכט דורך רופן די פיטשערד אַפּיס.
- ווערטיקאַל ינטעראַקשאַן מיט די נידעריק-שיכטע דריווערס איז דורכגעקאָכט דורך ספּעציפיש קאַללבאַקקס און סטאַטיק מאַקראָס ימפּלאַמענאַד אין די ביבליאָטעק סיסטעם רופן צובינד.
- די הויפּט פֿעיִקייטן פון יעדער מידוואַרע קאָמפּאָנענט זענען ווי גייט:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: אַ פאַקטיש-צייט אָפּערייטינג סיסטעם (RTOS), דיזיינד פֿאַר עמבעדיד סיסטעמען מיט צוויי פאַנגקשאַנאַל מאָדעס.
- פּראָסט מאָדע: פּראָסט RTOS פאַנגקשאַנאַליטי אַזאַ ווי פאָדעם פאַרוואַלטונג און סינגקראַנאַזיישאַן, זכּרון בעקן פאַרוואַלטונג, מעסידזשינג און געשעעניש האַנדלינג.
- מאָדולע מאָדע: אַ אַוואַנסירטע באַניצער מאָדע וואָס אַלאַוז לאָודינג און אַנלאָודינג פון פּרעלינקעד ThreadX מאַדזשולז אויף די פליען דורך אַ מאָדולע פאַרוואַלטער.
- נעטקס דואָ
- FileX
- וסבקס
- Azure® RTOS ThreadX: אַ פאַקטיש-צייט אָפּערייטינג סיסטעם (RTOS), דיזיינד פֿאַר עמבעדיד סיסטעמען מיט צוויי פאַנגקשאַנאַל מאָדעס.
- בלועטאָאָטה® נידעריק ענערגיע (BLE): ימפּלאַמאַנץ די בלועטאָאָטה® נידעריק ענערגיע פּראָטאָקאָל פֿאַר די לינק און סטאַק לייַערס.
- MCUboot (עפענען מקור ווייכווארג)
- Zigbee® פּראָטאָקאָלס פֿאַר די אָנלייגן און פֿאַרבונדענע קלאַסטערז.
- פאָדעם® פּראָטאָקאָל אָנלייגן און לינק שיכטע.
- Arm® טראַסטיד פירמוואַרע-M, TF-M (עפענען מקור ווייכווארג): רעפערענץ ימפּלאַמענטיישאַן פון די Arm® פּלאַטפאָרמע זיכערהייט אַרקאַטעקטשער (פּסאַ) פֿאַר TrustZone® מיט די פֿאַרבונדן זיכער באַדינונגס.
- mbed-crypto (עפענען מקור ווייכווארג): די mbed-crypto מידאַלוואַרע גיט אַ ימפּלאַמענטיישאַן פון PSA קריפּטאָגראַפי אַפּי.
- STM32 ריר סענסינג ביבליאָטעק: שטאַרק STMTouch קאַפּאַסיטיווע ריר סענסינג לייזונג, שטיצן פּראַקסימאַטי, טאָוטשקיי, לינעאַר און דריי - פאַרבינדן סענסאָרס. עס איז באזירט אויף אַ פּראָווען ייבערפלאַך אָפּצאָל אַריבערפירן אַקוואַזישאַן פּרינציפּ.
- Microsoft® Azure® RTOS
Exampלייס באזירט אויף די מידדוואַרע קאַמפּאָונאַנץ
יעדער מידוואַרע קאָמפּאָנענט קומט מיט איין אָדער מער עקס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לייס לויפן אויף די STMicroelectronics באָרדז ליסטעד אין טאַבלע 2.
טיש 2. באָרדז פֿאַר STM32WBA סעריעברעט באָרד STM32WBA שטיצט דעוויסעס NUCLEO-WBA52CG STM32WBA52CGU6 NUCLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - די STM32CubeWBA MCU פּעקל קענען לויפן אויף קיין קאַמפּאַטאַבאַל ייַזנוואַרג. דער באַניצער פשוט דערהייַנטיקט די BSP דריווערס צו פּאָרט די צוגעשטעלט עקסampליי אויף דעם ברעט, אויב די יענער האט די זעלבע ייַזנוואַרג פֿעיִקייטן (אַזאַ ווי געפירט, לקד אַרויסווייַזן און קנעפּלעך).
פירמוואַרע פּעקל איבערview
- די STM32CubeWBA פּעקל לייזונג איז צוגעשטעלט אין איין פאַרשלעסלען פּעקל מיט די סטרוקטור געוויזן אין פיגורע 3. STM32CubeWBA פירמוואַרע פּעקל סטרוקטור.
- פֿאַר יעדער ברעט, אַ סכום פון עקסamples איז צוגעשטעלט מיט פּריקאַנפיגיערד פּראַדזשעקס פֿאַר EWARM, MDK-ARM און STM32CubeIDE מכשירים.
- פיגורע 4. STM32CubeWBA עקסampליי איבערview ווייזט די פּרויעקט סטרוקטור פֿאַר די NUCLEO-WBA52CG, NUCLEO-WBA55CG און STM32WBA55G-DK1 באָרדז.
- די עקסampלייס זענען קלאַסאַפייד דיפּענדינג אויף די STM32Cube מדרגה וואָס זיי צולייגן צו, און זיי זענען געהייסן ווי גייט:
- מדרגה 0 עקסampליי זענען גערופן עקסampליי, עקסamples_LL, און עקסamples_MIX. זיי נוצן ריספּעקטיוולי HAL דריווערס, LL דריווערס, און אַ מישן פון HAL און LL דריווערס אָן קיין מידוואַרע קאָמפּאָנענט.
- מדרגה 1 עקסampליי זענען גערופן אַפּפּליקאַטיאָנס. זיי צושטעלן טיפּיש נוצן קאַסעס פון יעדער מידוואַרע קאָמפּאָנענט. קיין פירמוואַרע אַפּלאַקיישאַן פֿאַר אַ געגעבן ברעט קענען זיין געשווינד געבויט דאַנק צו מוסטער פּראַדזשעקס בנימצא אין די טעמפּלאַטעס און Templates_LL דירעקטעריז.
TrustZone® ענייבאַלד פּראַדזשעקס
- TrustZone® ענייבאַלד עקסampדי נעמען אַנטהאַלטן דעם _TrustZone פּרעפיקס. די הערשן איז אויך געווענדט פֿאַר אַפּפּליקאַטיאָנס (אַחוץ פֿאַר TFM און SBSFU, וואָס זענען געבוירן פֿאַר TrustZone®).
- TrustZone®-ענייבאַלד עקסampליי און אַפּפּליקאַטיאָנס זענען צוגעשטעלט מיט אַ מולטיפּראָדזשעקט סטרוקטור וואָס איז פארפאסט פון זיכער און נאַנסעקורע סאַבפּראַדזשעקס ווי דערלאנגט אין פיגורע 5. מולטיפּראָדזשעקט זיכער און נאַנסעקורע פּרויעקט סטרוקטור.
- TrustZone®-ענייבאַלד פּראַדזשעקס זענען דעוועלאָפּעד לויט די CMSIS-5 מיטל מוסטער, עקסטענדעד צו אַרייַננעמען די סיסטעם פּאַרטישאַנינג כעדער file צעטיילונג_ .ה, וואָס איז דער הויפּט פאַראַנטוואָרטלעך פֿאַר די סעטאַפּ פון די זיכער אַטריביוט אַפּאַראַט (SAU), די FPU און די זיכער / נאַנסעקיער ינטעראַפּץ אַסיינמאַנט אין די זיכער דורכפירונג שטאַט.
- דעם סעטאַפּ איז דורכגעקאָכט אין די זיכער CMSIS SystemInit () פֿונקציע, וואָס איז גערופֿן ביי סטאַרטאַפּ איידער איר אַרייַן די זיכער אַפּלאַקיישאַן הויפּט () פֿונקציע. אָפּשיקן צו Arm® TrustZone®-M דאַקיומענטיישאַן פון ווייכווארג גיידליינז.
- די STM32CubeWBA פּעקל פירמוואַרע פּעקל גיט פעליקייַט זיקאָרן פּאַרטישאַנינג אין די צעטיילונג _ .ה files בנימצא אונטער: \ דריווערס \ CMSIS \ דיווייס \ ST \ STM32WBAxx \ ינקלודע \ ט עמפּלוייז
- אין די צעטיילונג files, די SAU איז פאַרקריפּלט דורך פעליקייַט. דעריבער, די IDAU זכּרון מאַפּינג איז געניצט פֿאַר זיכערהייט אַטריביושאַן. אָפּשיקן צו פיגורע זיכער / ניט-זיכער פּאַרטישאַנינג ניצן TrustZone® טעכנאָלאָגיע אין די RM0495 רעפֿערענץ מאַנואַל.
- אויב דער באַניצער ינייבאַלז די SAU, אַ פעליקייַט קאַנפיגיעריישאַן פון SAU מקומות איז פּרעדעפינעד אין צעטיילונג fileס ווי פאלגענד:
- SAU געגנט 0: 0x08080000 - 0x081FFFFFF (ניט זיכער זיכער האַלב פון בליץ זכּרון (512 Kbytes))
- SAU געגנט 1: 0x0BF88000 - 0x0BF97FFF (ניט זיכער סיסטעם זכּרון)
- SAU געגנט 2: 0x0C07E000 - 0x0C07FFFF (זיכער, ניט זיכער קאַללאַבלע)
- SAU געגנט 3: 0x20010000 - 0x2001FFFF (ניט זיכער SRAM2 (64 Kbytes))
- SAU געגנט 4: 0x40000000 - 0x4FFFFFFF (ניט זיכער פּעריפעראַל מאַפּט זכּרון)
- צו גלייַכן די פעליקייַט פּאַרטישאַנינג, די STM32WBAxx סעריע דעוויסעס מוזן האָבן די פאלגענדע באַניצער אָפּציע ביטעס שטעלן:
- TZEN = 1 (TrustZone®-ענייבאַלד מיטל)
- SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (64 פון 128 בלעטער פון ינערלעך בליץ זכּרון שטעלן ווי זיכער) באַמערקונג: די ינערלעך בליץ זכּרון איז גאָר זיכער דורך פעליקייַט אין TZEN = 1. זיקאָרן קאַנפיגיעריישאַן (SAU מקומות, אויב SAU איז ענייבאַלד). זיכער / נאַנסעקורע אַפּלאַקיישאַנז פּרויעקט לינקער fileס מוזן אויך זיין אַליינד.
- כל עקסampזיי האָבן די זעלבע סטרוקטור:
- \ ינק טעקע מיט אַלע כעדער files.
- Src טעקע מיט די מקור קאָד.
- \EWARM, \MDK-ARM און \STM32CubeIDE פאָלדערס מיט די פּריקאַנפיגיערד פּרויעקט פֿאַר יעדער מכשירים.
- readme.md און readme.html דיסקרייבינג די עקסampדי נאַטור און די נויטיק סוויווע צו מאַכן עס אַרבעט.
- ioc file אַז אַלאַוז ניצערס צו עפֿענען רובֿ פון די פירמוואַרע עקסampין STM32CubeMX.
אָנהייב מיט STM32CubeWBA
פליסנדיק אַ ערשטער HAL עקסample
דער אָפּטיילונג דערקלערט ווי פּשוט עס איז צו לויפן די ערשטער עקסampאין STM32CubeWBA. עס ניצט ווי אַ געמעל די דור פון אַ פּשוט געפירט טאַגאַל פליסנדיק אויף די NUCLEO-WBA52CG ברעט:
- אראפקאפיע די STM32CubeWBA MCU פּעקל.
- אַנזיפּ עס אין אַ וועגווייַזער פון דיין ברירה.
- מאַכן זיכער נישט צו מאָדיפיצירן די פּעקל סטרוקטור געוויזן אין פיגורע 1. עס איז אויך רעקאַמענדיד צו נאָכמאַכן דעם פּעקל אין אַ אָרט נאָענט צו דיין וואָרצל באַנד (טייַטש C:\ST אָדער G:\Tests), ווי עטלעכע IDEs טרעפן פּראָבלעמס ווען די דרך לענג איז צו לאַנג.
פליסנדיק אַ ערשטער TrustZone® ענייבאַלד עקסample
- איידער לאָודינג און פליסנדיק אַ TrustZone® ענייבאַלד עקסampליי, עס איז מאַנדאַטאָרי צו לייענען די עקסampלייענען מיר file פֿאַר קיין ספּעציפיש קאַנפיגיעריישאַן, וואָס ינשורז אַז די זיכערהייט איז ענייבאַלד ווי דיסקרייבד אין אָפּטיילונג 4.2.1 TrustZone® ענייבאַלד פּראַדזשעקס (TZEN = 1 (באַניצער אָפּציע בייט)).
- בלעטער צו \Projects\NUCLEO-WBA52CG\Examples.
- עפֿענען \GPIO, דערנאָך \GPIO_IOToggle_TrustZone פאָלדערס.
- עפֿענען די פּרויעקט מיט דיין בילכער מכשירים. א שנעל איבערview ווי צו עפֿענען, בויען און לויפן אַן עקסampעס איז געגעבן אונטן מיט די שטיצט מכשירים.
- ריבילד אין סיקוואַנס אַלע זיכער און נאַנסעקורע פּרויעקט files און לאָדן די זיכער און נאַנסעקיער בילדער אין די ציל זכּרון.
- לויפן די עקסample: קעסיידער, די זיכער אַפּלאַקיישאַן טאַגאַלז LD2 יעדער סעקונדע, און די נאַנסעקיער אַפּלאַקיישאַן טאַגאַלז LD3 צוויי מאָל ווי שנעל. פֿאַר מער דעטאַילס, אָפּשיקן צו די לייענען file פון די עקסample.
- צו עפֿענען, בויען און לויפן אַן עקסampמיט די שטיצט מכשירים, נאָכגיין די סטעפּס אונטן:
- EWARM:
- אונטער די עקסampאין דער טעקע, עפענען \ EWARM סובפאָלדער.
- קאַטער די Project.eww וואָרקספּאַסע
- ריבילד די xxxxx_S זיכער פּרויעקט files: [פּראָיעקט]> [ריבילד אַלע].
- באַשטעטיק די xxxxx_NS נאַנסעקורע פּרויעקט ווי אַקטיוו אַפּלאַקיישאַן (רעכט גיט אויף xxxxx_NS פּרויעקט [באַשטעטיק ווי אַקטיוו])
- ריבילד די xxxxx_NS נאַנסעקורע פּרויעקט files: [פּראָיעקט]> [ריבילד אַלע].
- פלאַש די נאַנסעקשער ביינערי מיט [פּראָיעקט]> [דאַונלאָוד]> [דאַונלאָוד אַקטיוו אַפּלאַקיישאַן].
- באַשטעטיק די xxxxx_S ווי אַקטיוו אַפּלאַקיישאַן (רעכט גיט אויף xxxxx_S פּרויעקט [באַשטעטיק ווי אַקטיוו].
- פלאַש די זיכער ביינערי מיט די [Download and Debug] (Ctrl + D).
- לויפן די פּראָגראַם: [דעבוג]> [גיין (F5)]
- MDK-ARM:
- עפֿענען די \MDK-ARM מכשירים.
- עפֿענען די Multiprojects וואָרקספּאַסע file Project.uvmpw.
- סעלעקטירן דעם xxxxx_s פּרויעקט ווי אַקטיוו אַפּלאַקיישאַן ([באַשטעטיק ווי אַקטיוו פּראָיעקט]).
- בויען די xxxxx_s פּרויעקט.
- סעלעקטירן דעם xxxxx_ns פּרויעקט ווי אַקטיוו פּרויעקט ([באַשטעטיק ווי אַקטיוו פּראָיעקט]).
- בויען די xxxxx_ns פּרויעקט.
- לאָדן די נאַנסעקשער ביינערי ([F8]). דעם דאַונלאָודז \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf צו בליץ זכּרון)
- אויסקלייַבן די Project_s פּרויעקט ווי אַקטיוו פּרויעקט ([באַשטעטיק ווי אַקטיוו פּראָיעקט]).
- לאָדן די זיכער ביינערי ([F8]). דעם דאַונלאָודז \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf צו בליץ זכּרון).
- לויפן די עקסample.
- STM32CubeIDE:
- עפֿענען די STM32CubeIDE מכשירים.
- עפֿענען די Multiprojects וואָרקספּאַסע file .פּראָיעקט.
- ריבילד די xxxxx_Secure פּרויעקט.
- ריבילד די xxxxx_NonSecure פּרויעקט.
- קאַטער די [Debug as STM32 Cortex-M C/C ++] אַפּלאַקיישאַן פֿאַר די זיכער פּרויעקט.
- אין די [רעדאַגירן קאַנפיגיעריישאַן] פֿענצטער, אויסקלייַבן די [סטאַרטאַפּ] טאַפליע, און לייגן לאָדן די בילד און סימבאָלס פון די נאַנסעקיער פּרויעקט.
וויכטיק: די ניט-זיכער פּרויעקט מוזן זיין לאָודיד איידער די זיכער פּרויעקט. - דריקט [OK].
- לויפן די עקסampלייענען אויף דיבאַג פּערספּעקטיוו.
- EWARM:
פליסנדיק אַ ערשטער TrustZone® פאַרקריפּלט עקסample
- איידער לאָודינג און פליסנדיק אַ TrustZone® פאַרקריפּלט עקסampליי, עס איז מאַנדאַטאָרי צו לייענען די עקסampלייענען מיר file פֿאַר קיין ספּעציפיש קאַנפיגיעריישאַן. אויב עס זענען קיין ספּעציפיש דערמאנט, ענשור אַז די ברעט מיטל איז פאַרקריפּלט זיכערהייט (TZEN = 0 (באַניצער אָפּציע בייט)). זען FAQ פֿאַר די אַפּשאַנאַל ראַגרעשאַן צו TZEN = 0
- בלעטער צו \Projects\NUCLEO-WBA52CG\Examples.
- עפֿענען \GPIO, דערנאָך \GPIO_EXTI פאָלדערס.
- עפֿענען די פּרויעקט מיט דיין בילכער מכשירים. א שנעל איבערview ווי צו עפֿענען, בויען און לויפן אַן עקסampעס איז געגעבן אונטן מיט די שטיצט מכשירים.
- ריבילד אַלע files און לאָדן דיין בילד אין די ציל זכּרון.
- לויפן די עקסample: יעדער מאָל די [USER] דרוק-קנעפּל איז געדריקט, די LD1 געפירט טאַגאַל. פֿאַר מער דעטאַילס, אָפּשיקן צו די לייענען file פון די עקסample.
- צו עפֿענען, בויען און לויפן אַן עקסampמיט די שטיצט מכשירים, נאָכגיין די סטעפּס אונטן:
- EWARM:
- אונטער די עקסampאין דער טעקע, עפענען \ EWARM סובפאָלדער.
- קאַטער די Project.eww וואָרקספּאַסע (די וואָרקספּאַסע נאָמען קען טוישן פֿון איין עקסampצו אנדערן).
- ריבילד אַלע files: [פּראָיעקט]> [ריבילד אַלע].
- לאָדן די פּרויעקט בילד: [פּראָיעקט]> [דעבוג].
- לויפן פּראָגראַם: [דעבוג]> [גיין (F5)].
- MDK-ARM:
- אונטער די עקסampאין דער טעקע, עפֿענען די \MDK-ARM סובפאָלדער.
- קאַטער די Project.uvproj וואָרקספּאַסע (די וואָרקספּאַסע נאָמען קען טוישן פֿון איין עקסampצו אנדערן).
- ריבילד אַלע files: [פּראָיעקט]> [ריבילד אַלע ציל fileס].
- לאָדן די פּרויעקט בילד: [דעבוג]> [אָנהייב / האַלטן דיבאַג סעסיע].
- לויפן פּראָגראַם: [דעבוג]> [לויפן (F5)].
- STM32CubeIDE:
- עפֿענען די STM32CubeIDE מכשירים.
- גיט [File]> [סוויטש וואָרקספּאַסע]> [אנדערע] און בלעטער צו די STM32CubeIDE וואָרקספּאַסע וועגווייַזער.
- גיט [File]> [ימפּאָרט] , אויסקלייַבן [אַלגעמיינע]> [יגזיסטינג פּראַדזשעקס אין וואָרקספּאַסע], און דעמאָלט גיט [ווייַטער].
- בלעטער צו די STM32CubeIDE וואָרקספּאַסע וועגווייַזער און סעלעקטירן דעם פּרויעקט.
- ריבילד אַלע פּרויעקט files: סעלעקטירן דעם פּרויעקט אין די [פּראָיעקט Explorer] פֿענצטער און גיט די [פּראָיעקט]> [בויען פּרויעקט] מעניו.
- לויפן די פּראָגראַם: [Run]>[Debug (F11)]
- EWARM:
דעוועלאָפּינג אַ מנהג אַפּלאַקיישאַן
באַמערקונג: ווייכווארג מוזן געבן די ינסטרוקטיאָן קאַש (ICACHE) צו באַקומען אַ 0 וואַרטן-שטאַט דורכפירונג פון בליץ זכּרון, און דערגרייכן די מאַקסימום פאָרשטעלונג און אַ בעסער מאַכט קאַנסאַמשאַן.
ניצן STM32CubeMX צו אַנטוויקלען אָדער דערהייַנטיקן אַ אַפּלאַקיישאַן
- אין די STM32CubeWBA MCU פּעקל, קימאַט אַלע פּרויעקט עקסampלייס זענען דזשענערייטאַד מיט די STM32CubeMX געצייַג צו ינישאַלייז די סיסטעם, פּעריפעראַלס און מידוואַרע.
- די דירעקט נוצן פון אַ יגזיסטינג פּרויעקט עקסample פון די STM32CubeMX געצייַג ריקווייערז STM32CubeMX 6.10.0 אָדער העכער:
- נאָך די ייַנמאָנטירונג פון STM32CubeMX, עפענען און אויב נייטיק דערהייַנטיקן אַ פארגעלייגט פּרויעקט. די סימפּלאַסט וועג צו עפֿענען אַן יגזיסטינג פּרויעקט איז צו טאָפּל-גיט אויף די *.ioc file אַזוי אַז STM32CubeMX אָפּענס אויטאָמאַטיש די פּרויעקט און זיין מקור files.
- STM32CubeMX דזשענערייץ די יניטיאַליזאַטיאָן מקור קאָד פון אַזאַ פּראַדזשעקס. די הויפּט אַפּלאַקיישאַן מקור קאָד איז קאַנטיינד דורך די באַמערקונגען "USER CODE BEGIN" און "USER CODE END". אויב די IP סעלעקציע און באַשטעטיקן זענען מאַדאַפייד, STM32CubeMX דערהייַנטיקט די יניטיאַליזאַטיאָן טייל פון די קאָד, אָבער פּראַזערווז די הויפּט אַפּלאַקיישאַן מקור קאָד.
- פֿאַר דעוועלאָפּינג אַ מנהג פּרויעקט אין די STM32CubeMX, נאָכגיין דעם שריט-פֿאַר-שריט פּראָצעס:
- סעלעקטירן דעם STM32 מיקראָקאָנטראָללער וואָס גלייַכן די פארלאנגט גאַנג פון פּעריפעראַלס.
- קאַנפיגיער אַלע די פארלאנגט עמבעדיד ווייכווארג מיט אַ פּינאָוט-קאָנפליקט סאַלווער, אַ זייגער-בוים באַשטעטיקן העלפּער, אַ מאַכט קאַנסאַמשאַן קאַלקולאַטאָר, און די נוצן פון MCU פּעריפעראַל קאַנפיגיעריישאַן (אַזאַ ווי GPIO אָדער USART) און מידאַלוואַרע סטאַקס (אַזאַ ווי וסב).
- דזשענערייט די יניטיאַליזאַטיאָן C קאָד באזירט אויף די אויסגעקליבן קאַנפיגיעריישאַן. דער קאָד איז גרייט צו נוצן אין עטלעכע אַנטוויקלונג ינווייראַנמאַנץ. דער באַניצער קאָד איז געהאלטן אין דער ווייַטער קאָד דור.
- פֿאַר מער אינפֿאָרמאַציע וועגן STM32CubeMX, אָפּשיקן צו די באַניצער מאַנואַל STM32CubeMX פֿאַר STM32 קאַנפיגיעריישאַן און יניטיאַליזאַטיאָן C קאָד דור (UM1718).
- פֿאַר אַ רשימה פון די בנימצא פּרויעקט, למשלampלייענען פֿאַר STM32CubeWBA, אָפּשיקן צו די אַפּלאַקיישאַן באַמערקונג STM32Cube פירמוואַרע עקס.ampליי פֿאַר STM32WBA סעריע (AN5929).
דרייווער אַפּלאַקיישאַנז
HAL אַפּלאַקיישאַן
דער אָפּטיילונג באשרייבט די סטעפּס פארלאנגט צו שאַפֿן אַ מנהג HAL אַפּלאַקיישאַן ניצן STM32CubeWBA:
- שאַפֿן אַ פּרויעקט
- צו שאַפֿן אַ נייַע פּרויעקט, אָנהייב אָדער פֿון די מוסטער פּרויעקט צוגעשטעלט פֿאַר יעדער ברעט אונטער \ פּראַדזשעקס \ \templates אָדער פֿון קיין בנימצא פּרויעקט אונטער \Projects\ \עקסאַמפּאַלז אָדער \פּראָיעקטן\ \ אַפּפּליקאַטיאָנס (ווו רעפערס צו די ברעט נאָמען, אַזאַ ווי STM32CubeWBA).
- די מוסטער פּרויעקט גיט אַ ליידיק הויפּט שלייף פֿונקציע. אָבער, עס איז אַ גוט סטאַרטינג פונט צו פֿאַרשטיין די STM32CubeWBA פּרויעקט סעטטינגס. דער מוסטער האט די פאלגענדע קעראַקטעריסטיקס:
- עס כּולל די HAL מקור קאָד, CMSIS און BSP דריווערס, וואָס זענען די מינימום גאַנג פון קאַמפּאָונאַנץ פארלאנגט צו אַנטוויקלען אַ קאָד אויף אַ געגעבן ברעט.
- עס כּולל די ינקלודעד פּאַטס פֿאַר אַלע די פירמוואַרע קאַמפּאָונאַנץ.
- עס דיפיינז די שטיצט STM32WBA סעריע דעוויסעס, אַלאַוינג די CMSIS און HAL דריווערס צו זיין קאַנפיגיערד ריכטיק.
- עס גיט גרייט-צו-נוצן באַניצער fileאיז פּריקאַנפיגיערד ווי געוויזן אונטן:
HAL יניטיאַליזעד מיט די פעליקייַט צייט באַזע מיט Arm® core SysTick. SysTick ISR ימפּלאַמענאַד פֿאַר HAL_Delay () ציל.
באַמערקונג: ווען קאַפּיינג אַ יגזיסטינג פּרויעקט צו אן אנדער אָרט, מאַכן זיכער אַז אַלע די ינקלודעד פּאַטס זענען דערהייַנטיקט.
- לייג די נויטיק מידדוואַרע צו די באַניצער פּרויעקט (אַפּשאַנאַל)
צו ידענטיפיצירן די מקור fileס צו זיין מוסיף צו די פּרויעקט file רשימה, אָפּשיקן צו די דאַקיומענטיישאַן צוגעשטעלט פֿאַר יעדער מידוואַרע. אָפּשיקן צו די אַפּלאַקיישאַנז אונטער \Projects\STM32xxx_yyy\Applications\ (וואו רעפערס צו די מידאַלוואַרע אָנלייגן, אַזאַ ווי ThreadX) צו וויסן וואָס מקור files און אַרייַננעמען פּאַטס מוזן זיין מוסיף. - קאַנפיגיער די פירמוואַרע קאַמפּאָונאַנץ
די HAL און מידוואַרע קאַמפּאָונאַנץ פאָרשלאָגן אַ סכום פון בויען-צייט קאַנפיגיעריישאַן אָפּציעס ניצן מאַקראָס # דעפינירן דערקלערט אין אַ כעדער file. א מוסטער קאַנפיגיעריישאַן file איז צוגעשטעלט אין יעדער קאָמפּאָנענט, וואָס מוזן זיין קאַפּיד צו די פּרויעקט טעקע (יוזשאַוואַלי די קאַנפיגיעריישאַן file איז געהייסן xxx_conf_template.h, די וואָרט _template דאַרף זיין אַוועקגענומען ווען קאַפּיינג עס צו די פּרויעקט טעקע). די קאַנפיגיעריישאַן file גיט גענוג אינפֿאָרמאַציע צו פֿאַרשטיין די פּראַל פון יעדער קאַנפיגיעריישאַן אָפּציע. מער דיטיילד אינפֿאָרמאַציע איז בנימצא אין די דאַקיומענטיישאַן צוגעשטעלט פֿאַר יעדער קאָמפּאָנענט. - אָנהייב די HAL ביבליאָטעק
נאָך שפּרינגען צו די הויפּט פּראָגראַם, די אַפּלאַקיישאַן קאָד מוזן רופן HAL_Init() API צו ינישאַלייז די HAL ביבליאָטעק, וואָס דורכפירן די פאלגענדע טאַסקס:- קאַנפיגיעריישאַן פון די בליץ זיקאָרן פּריפעטש און סיסטטיקק יבעררייַסן בילכערקייַט (דורך מאַקראָס דיפיינד אין סט m32wbaxx_hal_conf.h).
- קאַנפיגיעריישאַן פון די SysTick צו דזשענערייט אַן יבעררייַס יעדער מיליסעקאַנדיד ביי די SysTick יבעררייַס בילכערקייַט TICK_INT_PRIO דיפיינד אין stm32wbaxx_hal_conf.h.
- באַשטעטיקן די NVIC גרופּע בילכערקייַט צו 0.
- רופן פון HAL_MspInit () קאַללבאַקק פונקציע דיפיינד אין stm32wbaxx_hal_msp.c באַניצער file צו דורכפירן גלאבאלע יניטיאַליזיישאַנז פון נידעריק-מדרגה ייַזנוואַרג.
- קאַנפיגיער די סיסטעם זייגער
די סיסטעם זייגער קאַנפיגיעריישאַן איז דורכגעקאָכט דורך רופן די צוויי אַפּיס דיסקרייבד אונטן:- HAL_RCC_OscConfig(): דעם אַפּי קאַנפיגיער די ינערלעך און פונדרויסנדיק אַסאַלייטערז. דער באַניצער טשוזיז צו קאַנפיגיער איינער אָדער אַלע אַסאַלייטערז.
- HAL_RCC_ClockConfig(): דעם אַפּי קאַנפיגיער די סיסטעם זייגער מקור, די בליץ זכּרון לייטאַנסי און אַהב און אַפּב פּרעסקאַלער.
- ינישאַלייז די פּעריפעראַל
- ערשטער שרייַבן די פּעריפעראַל HAL_PPP_MspInit פונקציע. גיינ ווייַטער ווי גייט:
- געבן די פּעריפעראַל זייגער.
- קאַנפיגיער די פּעריפעראַל GPIOs.
- קאַנפיגיער די DMA קאַנאַל און געבן DMA יבעררייַס (אויב דארף).
- געבן פּעריפעראַל יבעררייַס (אויב דארף).
- רעדאַגירן די stm32xxx_it.c צו רופן די פארלאנגט יבעררייַס האַנדלערס (פּעריפעראַל און דמאַ), אויב דארף.
- שרייב פּראָצעס גאַנץ קאַללבאַק פאַנגקשאַנז אויב אַ פּעריפעראַל יבעררייַס אָדער דמאַ איז פּלאַננעד צו זיין געוויינט.
- אין באַניצער main.c file, ינישאַלייז די פּעריפעראַל שעפּן סטרוקטור און רופן די פֿונקציע HAL_PPP_Init () צו ינישאַלייז די פּעריפעראַל.
- ערשטער שרייַבן די פּעריפעראַל HAL_PPP_MspInit פונקציע. גיינ ווייַטער ווי גייט:
- אַנטוויקלען אַ אַפּלאַקיישאַן
- אין דעם זtagE, די סיסטעם איז גרייט און דער באַניצער אַפּלאַקיישאַן קאָד אַנטוויקלונג קענען אָנהייבן.
- די HAL גיט ינטואַטיוו און גרייט-צו-נוצן אַפּיס צו קאַנפיגיער די פּעריפעראַל. עס שטיצט פּאָללינג, ינטעראַפּץ און אַ DMA פּראָגראַממינג מאָדעל צו אַקאַמאַדייט קיין אַפּלאַקיישאַן רעקווירעמענץ. פֿאַר מער דעטאַילס וועגן ווי צו נוצן יעדער פּעריפעראַל, אָפּשיקן צו די רייַך עקסampדי שטעלן צוגעשטעלט אין די STM32CubeWBA MCU פּעקל.
וואָרענען: אין די פעליקייַט ימפּלאַמענטיישאַן פון HAL, די SysTick טייַמער איז געניצט ווי אַ טיימבאַסע: עס דזשענערייץ ינטעראַפּץ מיט רעגולער צייט ינטערוואַלז. אויב HAL_Delay () איז גערופן פֿון די פּעריפעראַל יסר פּראָצעס, מאַכן זיכער אַז די SysTick יבעררייַס האט אַ העכער בילכערקייַט (נומעריקלי נידעריקער) ווי די פּעריפעראַל יבעררייַס. אַנדערש, די קאַללער יסר פּראָצעס איז אפגעשטעלט. פאַנגקשאַנז וואָס ווירקן טיימבאַסע קאַנפיגיעריישאַנז זענען דערקלערט ווי __שוואַך צו מאַכן אָווועררייד מעגלעך אין פאַל פון אנדערע ימפּלאַמאַנץ אין די באַניצער file (ניצן אַ גענעראַל-ציל טייַמער, למשלample, אָדער אן אנדער צייט מקור). פֿאַר מער דעטאַילס, אָפּשיקן צו די HAL_TimeBase עקסample.
LL אַפּלאַקיישאַן
דער אָפּטיילונג באשרייבט די סטעפּס דארף צו שאַפֿן אַ מנהג LL אַפּלאַקיישאַן ניצן STM32CubeWBA.
- שאַפֿן אַ פּרויעקט
- צו שאַפֿן אַ נייַע פּרויעקט, אָנהייב פֿון די Templates_LL פּרויעקט צוגעשטעלט פֿאַר יעדער ברעט אונטער \Projects\ \Templates_LL, אָדער פֿון קיין בנימצא פּרויעקט אונטער \Projects\ \ עקסamples_LL ( רעפערס צו די ברעט נאָמען, אַזאַ ווי NUCLEO-WBA32CG).
- דער מוסטער פּרויעקט גיט אַ ליידיק הויפּט שלייף פונקציע, וואָס איז אַ גוט סטאַרטינג פונט צו פֿאַרשטיין די פּרויעקט סעטטינגס פֿאַר STM32CubeWBA. די הויפּט קעראַקטעריסטיקס פון די מוסטער זענען די פאלגענדע:
- עס כּולל די מקור קאָודז פון די LL און CMSIS דריווערס, וואָס זענען די מינימום גאַנג פון קאַמפּאָונאַנץ דארף צו אַנטוויקלען קאָד אויף אַ געגעבן ברעט.
- עס כּולל די ינקלודעד פּאַטס פֿאַר אַלע די פארלאנגט פירמוואַרע קאַמפּאָונאַנץ.
- עס סאַלעקץ די שטיצט STM32WBA סעריע מיטל און אַלאַוז די ריכטיק קאַנפיגיעריישאַן פון די CMSIS און LL דריווערס.
- עס גיט גרייט-צו-נוצן באַניצער files וואָס זענען פּריקאַנפיגיערד ווי גייט:
◦ main.h: געפירט און USER_BUTTON דעפֿיניציע אַבסטראַקציע שיכטע.
◦ main.c: סיסטעם זייגער קאַנפיגיעריישאַן פֿאַר מאַקסימום אָפטקייַט.
- אַריבערפירן אַ יגזיסטינג פּרויעקט צו אן אנדער ברעט
צו שטיצן אַן יגזיסטינג פּרויעקט אויף אן אנדער ציל ברעט, אָנהייב פֿון די Templates_LL פּרויעקט צוגעשטעלט פֿאַר יעדער ברעט און בנימצא אונטער \Projects\ \templates_LL.- אויסקלייַבן אַן LL עקסample: צו געפֿינען די ברעט אויף וואָס LL exampליי זענען דיפּלויד, אָפּשיקן צו דער רשימה פון LL exampליי STM32CubeProjectsList.html.
- פּאָרט די LL עקסampלאַ:
- נאָכמאַכן / פּאַפּ די Templates_LL טעקע - צו האַלטן די ערשט מקור - אָדער גלייך דערהייַנטיקן די יגזיסטינג Temp lates_LL פּרויעקט.
- דערנאָך פּאָרטינג באשטייט דער הויפּט אין ריפּלייסינג Templates_LL fileס דורך די עקסamples_LL טאַרגעטעד פּרויעקט.
- האַלטן אַלע ברעט ספּעציפיש טיילן. פֿאַר קלעריטי סיבות, ברעט ספּעציפיש פּאַרץ זענען פלאַגד מיט ספּעציפיש tags:
- אזוי, די הויפּט פּאָרטינג סטעפּס זענען די פאלגענדע:
- פאַרבייַטן די stm32wbaxx_it.h file
- פאַרבייַטן די stm32wbaxx_it.c file
- פאַרבייַטן די הויפּט.ה file און דערהייַנטיקן עס: האַלטן די געפירט און באַניצער קנעפּל דעפֿיניציע פון די LL מוסטער אונטער BOARD SPECIFIC CONFIGURATION tags.
- פאַרבייַטן די הויפּט.ק file און דערהייַנטיקן עס:
- האַלטן די זייגער קאַנפיגיעריישאַן פון די SystemClock_Config () LL מוסטער פֿונקציע אונטער BOARD SPECIFIC CONFIGURATION tags.
- דעפּענדינג אויף די געפירט דעפֿיניציע, פאַרבייַטן יעדער LDx געשעעניש מיט אן אנדער LDy בנימצא אין די הויפּט.ה file.
- מיט די מאָדיפיקאַטיאָנס, די עקסampאיצט לויפט אויף די טאַרגעטעד ברעט
זיכערהייט אַפּלאַקיישאַנז
דער פּעקל איז איבערגעגעבן מיט זיכערהייט אַפּלאַקיישאַנז.
SBSFU אַפּלאַקיישאַנז
- SBSFU גיט אַ וואָרצל פון טראַסט לייזונג, אַרייַנגערעכנט זיכער באָאָט און זיכער פירמוואַרע אַפּדייט פאַנגקשאַנאַליטי (באזירט אויף MCUboot).
- די לייזונג איז געניצט איידער עקסאַקיוטינג די אַפּלאַקיישאַן.
- די לייזונג גיט אַן עקסampפון אַ זיכער דינסט (GPIO טאַגאַל), וואָס איז אפגעזונדערט פון די נאַנסעקיער אַפּלאַקיישאַן. די נאַנסעקשער אַפּלאַקיישאַן אין רונטימע קענען נאָך נוצן דעם לייזונג.
TFM אַפּלאַקיישאַנז
די TFM גיט אַ וואָרצל פון טראַסט לייזונג אַרייַנגערעכנט זיכער שטיוול און זיכער פירמוואַרע אַפּדייט פאַנגקשאַנאַליטי
(באזירט אויף MCUboot). די לייזונג איז געניצט איידער עקסאַקיוטינג די אַפּלאַקיישאַן. די לייזונג גיט TFM זיכער באַדינונגס וואָס זענען אפגעזונדערט פון די נאַנסעקיער אַפּלאַקיישאַן. די נאַנסעקשער אַפּלאַקיישאַן אין רונטימע קענען נאָך נוצן דעם לייזונג.
RF אַפּליקאַציעס
די רף אַפּלאַקיישאַן איז דיסקרייבד אין דעם אַפּלאַקיישאַן באַמערקונג: בנין וויירליס אַפּלאַקיישאַנז מיט STM32WBA סעריע מיקראָקאָנטראָללערס (AN5928).
באַקומען דערהייַנטיקונגען פון STM32CubeWBA
די לעצטע STM32CubeWBA MCU ריליסיז און פּאַטשאַז זענען בארעכטיגט פֿון STM32WBA סעריע. זיי קען זיין ריטריווד פון די טשעק פֿאַר דערהייַנטיקן קנעפּל אין STM32CubeMX. פֿאַר מער דעטאַילס, אָפּשיקן צו אָפּטיילונג 3 פון די באַניצער מאַנואַל STM32CubeMX פֿאַר STM32 קאַנפיגיעריישאַן און יניטיאַליזאַטיאָן C קאָד דור (UM1718).
FAQ
- ווען זאָל איך נוצן HAL אַנשטאָט פון LL דריווערס?
- HAL דריווערס פאָרשלאָגן הויך-מדרגה און פונקציע-אָריענטיד אַפּיס, מיט אַ הויך מדרגה פון פּאָרטאַביליטי. פּראָדוקט אָדער פּעריפעראַל קאַמפּלעקסיטי איז פאַרבאָרגן פֿאַר סוף ניצערס.
- LL דריווערס פאָרשלאָגן נידעריק-שיכטע רעגיסטרירן מדרגה אַפּיס, מיט בעסער אַפּטאַמאַזיישאַן אָבער ווייניקער פּאָרטאַטיוו. זיי דאַרפן טיף וויסן פון פּראָדוקט אָדער IP ספּעסאַפאַקיישאַנז.
- קען איך נוצן HAL און LL דריווערס צוזאַמען? אויב איך קען, וואָס זענען די קאַנסטריינץ?
- עס איז מעגלעך צו נוצן ביידע HAL און LL דריווערס. ניצן די HAL פֿאַר די IP יניטיאַליזאַטיאָן פאַסע און דאַן פירן די I/O אַפּעריישאַנז מיט LL דריווערס.
- דער הויפּט חילוק צווישן HAL און LL איז אַז HAL דריווערס דאַרפן צו שאַפֿן און נוצן כאַנדאַלז פֿאַר אָפּעראַציע פאַרוואַלטונג, בשעת LL דריווערס אַרבעטן גלייַך אויף פּעריפעראַל רעדזשיסטערס. די עקסamples_MIX עקסampדי אילוסטראציעס ווי צו מישן HAL און LL.
- ווי זענען LL יניטיאַליזאַטיאָן אַפּיס ענייבאַלד?
- די דעפֿיניציע פון LL יניטיאַליזאַטיאָן אַפּיס און פֿאַרבונדן רעסורסן (סטרוקטורעס, ליטעראַל און פּראָוטאַטייפּס) איז קאַנדישאַנד דורך די USE_FULL_LL_DRIVER זאַמלונג באַשטימען.
- צו קענען צו נוצן LL יניטיאַליזאַטיאָן אַפּיס, לייגן דעם באַשטימען אין די פּרעפּראָסעססאָר פון טאָלטשאַין קאַמפּיילער.
- ווי קענען STM32CubeMX דזשענערייט קאָד באזירט אויף עמבעדיד ווייכווארג?
STM32CubeMX האט אַ געבויט-אין וויסן פון STM32 מיקראָקאָנטראָללערס, אַרייַנגערעכנט זייער פּעריפעראַלס און ווייכווארג וואָס אַלאַוז צו צושטעלן אַ גראַפיקאַל פאַרטרעטונג צו די באַניצער און דזשענערייטינג *.h אָדער *.c fileס באזירט אויף באַניצער קאַנפיגיעריישאַן.
וויכטיק אָנזאָג - לייענען קערפאַלי
- STMicroelectronics NV און זייַן סאַבסידיעריז ("ST") רעזערווירן די רעכט צו מאַכן ענדערונגען, קערעקשאַנז, ימפּרווומאַנץ, מאָדיפיקאַטיאָנס און ימפּרווומאַנץ צו ST פּראָדוקטן און / אָדער דעם דאָקומענט אין קיין צייט אָן באַמערקן. פּערטשאַסערז זאָל באַקומען די לעצטע באַטייַטיק אינפֿאָרמאַציע אויף ST פּראָדוקטן איידער פּלייסינג אָרדערס. ST פּראָדוקטן זענען סאָלד לויט צו ST ס טערמינען און באדינגונגען פון פאַרקויף אין דער צייט פון דער דערקענטעניש פון סדר.
- פּערטשאַסערז זענען בלויז פאַראַנטוואָרטלעך פֿאַר די ברירה, סעלעקציע און נוצן פון ST פּראָדוקטן און ST אַסומז קיין אַכרייַעס פֿאַר אַפּלאַקיישאַן הילף אָדער די פּלאַן פון פּערטשאַסערז פּראָדוקטן.
- קיין דערלויבעניש, אויסדריקן אָדער ימפּלייד, צו קיין אינטעלעקטואַל פאַרמאָג רעכט איז דערלויבט דורך ST.
- ריסייל פון ST פּראָדוקטן מיט פּראַוויזשאַנז אַנדערש פון די אינפֿאָרמאַציע געשטעלט דאָ וועט פּאָסל קיין וואָראַנטי געגעבן דורך ST פֿאַר אַזאַ פּראָדוקט.
- ST און די ST לאָגאָ זענען טריידמאַרקס פון ST. פֿאַר נאָך אינפֿאָרמאַציע וועגן ST טריידמאַרקס, אָפּשיקן צו www.st.com/trademarks. אַלע אנדערע פּראָדוקט אָדער דינסט נעמען זענען די פאַרמאָג פון זייער ריספּעקטיוו אָונערז.
- אינפֿאָרמאַציע אין דעם דאָקומענט סאַפערז און ריפּלייסיז אינפֿאָרמאַציע ביז אַהער סאַפּלייד אין קיין פריערדיקע ווערסיעס פון דעם דאָקומענט.
- © 2023 STMicroelectronics - כל רעכט רעזערווירט
דאָקומענטן / רעסאָורסעס
![]() |
STMicroelectronics STM32WBA סעריע באַקומען סטאַרטעד [pdfבאַניצער מאַנואַל STM32WBA סעריע באַקומען סטאַרטעד, באַקומען סטאַרטעד, סטאַרטעד |