STMicroelectronics STM32WBA ተከታታይ በመጀመር ላይ
የምርት መረጃ
ዝርዝር መግለጫዎች፡-
- የምርት ስም፡- የ STM32CubeWBA MCU ጥቅል
- አምራች፡ STMicroelectronics
- ተኳኋኝነት STM32WBA ተከታታይ ማይክሮ መቆጣጠሪያ
- ፍቃድ መስጠት፡ ክፍት ምንጭ BSD ፍቃድ
የምርት አጠቃቀም መመሪያዎች
የ STM32CubeWBA MCU ጥቅል ዋና ባህሪዎች
የSTM32CubeWBA MCU ጥቅል በSTM32WBA ተከታታይ ማይክሮ መቆጣጠሪያ ላይ አፕሊኬሽኖችን ለማዳበር ሁሉንም አስፈላጊ የተከተቱ የሶፍትዌር ክፍሎችን ያቀርባል። በ STM32 ተከታታይ ውስጥ በጣም ተንቀሳቃሽ ነው እና ከ HAL እና LL APIs ጋር ይመጣል፣ ለምሳሌamples, እና middleware ክፍሎች.
አርክቴክቸር ኦቨርview:
የ STM32CubeWBA MCU ፓኬጅ አርክቴክቸር ሶስት እርከኖችን ያቀፈ ነው - አፕሊኬሽኖች፣ ቤተ መፃህፍት እና ፕሮቶኮል ላይ የተመሰረቱ አካላት፣ የሃርድዌር አብስትራክሽን ንብርብር፣ ቢኤስፒ ነጂዎች፣ ኮር ሾፌሮች እና ዝቅተኛ-ንብርብር ኤፒአይዎች።
የሚጠየቁ ጥያቄዎች
- በ STM32CubeWBA MCU ጥቅል ውስጥ ምን ይካተታል?
ጥቅሉ ዝቅተኛ-ንብርብር (ኤልኤል) እና የሃርድዌር አብስትራክሽን ንብርብር (HAL) ኤፒአይዎችን ያካትታል፣ ለምሳሌamples፣ አፕሊኬሽኖች፣ የመሃል ዌር ክፍሎች እንደ FileX/LevelX፣ NetX Duo፣ mbd-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፣ touch Library፣ mbd-crypto፣ TFM፣ MCUboot፣ OpenBL፣ እና STM32_WPAN (ብሉቱዝ® ዝቅተኛ ኢነርጂ ባለሙያን ጨምሮ)files እና አገልግሎቶች፣ Mesh፣ Zigbee®፣ OpenThread፣ Matter እና 802.15.4 MAC ንብርብር)
- ሁሉም የተከተቱ የሶፍትዌር መገልገያዎች ከሙሉ የጎን እና አፕሊኬቲቭ የቀድሞ ስብስቦች ጋርampሌስ
- የSTM32Cube MCU እና MPU ፓኬጆችን ተግባራዊነት የሚያሟሉ የተከተቱ የሶፍትዌር ክፍሎችን የያዙ የSTM32Cube ማስፋፊያ ፓኬጆች፡-
- ሚድልዌር ማራዘሚያዎች እና አፕሊኬቲቭ ንብርብሮች
- 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 ኮድ አመንጪ ጋር ሙሉ በሙሉ ተኳሃኝ ነው። ጥቅሉ የማይክሮ መቆጣጠሪያ ሃርድዌርን የሚሸፍኑ ዝቅተኛ-ንብርብር (ኤልኤል) እና የሃርድዌር አብስትራክሽን ንብርብር (HAL) ኤፒአይዎችን እና ከብዙ የቀድሞ የቀድሞ ስብስብ ጋር ያካትታል።ampበ STMicroelectronics ሰሌዳዎች ላይ እየሄደ ነው። የ HAL እና LL APIs ለተጠቃሚዎች ምቾት በክፍት ምንጭ BSD ፍቃድ ይገኛሉ።
- የSTM32CubeWBA MCU ጥቅል በMicrosoft® Azure® RTOS መካከለኛ ዌር ዙሪያ እና ሌሎች የቤት ውስጥ እና ክፍት ምንጭ ቁልል፣ ከተዛማጅ የቀድሞ ጋር አብሮ የተሰራ አጠቃላይ የመሃል ዌር አካልን ይዟል።ampሌስ.
- ከነጻ፣ ለተጠቃሚ ምቹ የፍቃድ ውሎች ጋር አብረው ይመጣሉ፡-
- የተዋሃደ እና ሙሉ ባህሪ ያለው Azure® RTOS፡ Azure® RTOS ThreadX
- የCMSIS-RTOS ትግበራ ከ Azure® RTOS ThreadX ጋር
- የዩኤስቢ አስተናጋጅ እና የመሣሪያ ቁልል ከብዙ ክፍሎች ጋር ይመጣሉ፡ Azure® RTOS USBX
- የላቀ file የስርዓት እና የፍላሽ ትርጉም ንብርብር; FileX/LevelX
- የኢንዱስትሪ ደረጃ አውታረ መረብ ቁልል፡ ከብዙ አይኦቲ ፕሮቶኮሎች ጋር ለሚመጣው አፈጻጸም የተመቻቸ፡ NetX Duo
- ቡት ጫኚን ይክፈቱ
- Arm® የታመነ Firmware-M (TF‑M) ውህደት መፍትሄ
- mbed-crypto ቤተ-መጻሕፍት
- ST Netwok ቤተ መጻሕፍት
- STMTouch Touch ዳሳሽ ላይብረሪ መፍትሄ
- እነዚህን ሁሉ የመሃል ዌር ክፍሎች የሚተገብሩ በርካታ መተግበሪያዎች እና ማሳያዎች በSTM32CubeWBA MCU ጥቅል ውስጥም ቀርበዋል።
- የ STM32CubeWBA MCU የጥቅል አካል አቀማመጥ በስእል 1 ውስጥ ተገልጿል. STM32CubeWBA MCU ጥቅል ክፍሎች.
STM32CubeWBA አርክቴክቸር አልቋልview
የ STM32CubeWBA MCU ጥቅል መፍትሄ በስእል 2 ላይ እንደተገለጸው በቀላሉ መስተጋብር በሚፈጥሩ ሶስት ገለልተኛ ደረጃዎች ዙሪያ የተሰራ ነው።
ደረጃ 0
ይህ ደረጃ በሶስት ተከፋዮች የተከፈለ ነው፡-
- የቦርድ ድጋፍ ጥቅል (BSP)።
- የሃርድዌር ረቂቅ ንብርብር (HAL)፦
- HAL ተጓዳኝ ነጂዎች
- ዝቅተኛ-ንብርብር ነጂዎች
- መሰረታዊ የዳርቻ አጠቃቀም ለምሳሌampሌስ.
የቦርድ ድጋፍ ጥቅል (BSP)
ይህ ንብርብር በሃርድዌር ሰሌዳዎች ውስጥ ካሉ የሃርድዌር ክፍሎች (እንደ LCD፣ Audio፣ MicroSD™ እና MEMS ሾፌሮች ያሉ) አንጻራዊ የኤፒአይዎችን ስብስብ ያቀርባል። በሁለት ክፍሎች የተዋቀረ ነው፡-
- አካል ነጂ፡
ይህ ሾፌር በቦርዱ ላይ ካለው ውጫዊ መሳሪያ ጋር የተያያዘ ነው, እና ከ STM32 መሳሪያ ጋር አይደለም. የመለዋወጫ ሾፌሩ የተወሰኑ ኤፒአይዎችን ለBSP ነጂ ውጫዊ አካላት ያቀርባል እና በማንኛውም ሌላ ሰሌዳ ላይ ተንቀሳቃሽ ሊሆን ይችላል። - የቢኤስፒ ሹፌር፡-
የቢኤስፒ ሹፌር የአካል ክፍሎችን ነጂዎችን ከአንድ የተወሰነ ቦርድ ጋር ማገናኘት ይፈቅዳል፣ እና ለተጠቃሚ ምቹ የሆነ ስብስብ ያቀርባል
ኤፒአይዎች የኤፒአይ መሰየም ደንቡ BSP_FUNCT_Action() ነው።
Exampለ፡ BSP_LED_Init()፣ BSP_LED_በርቷል()
BSP ዝቅተኛ ደረጃን ብቻ በመተግበር በማንኛውም ሃርድዌር ላይ በቀላሉ ማስተላለፍን በሚፈቅድ ሞዱል አርክቴክቸር ላይ የተመሰረተ ነው።
የሃርድዌር ረቂቅ ንብርብር (HAL) እና ዝቅተኛ-ንብርብር (ኤልኤል)
STM32CubeWBA HAL እና LL ተጓዳኝ እና ሰፊ የመተግበሪያ መስፈርቶችን ይሸፍናሉ፡
- የ HAL አሽከርካሪዎች ከፍተኛ ደረጃ ተግባር ላይ ያተኮሩ በጣም ተንቀሳቃሽ ኤፒአይዎችን ያቀርባሉ። MCUን እና ተጓዳኝ ውስብስብነትን ለዋና ተጠቃሚ ይደብቃሉ።
የ HAL አሽከርካሪዎች ለአጠቃቀም ዝግጁ የሆኑ ሂደቶችን በማቅረብ የተጠቃሚ አተገባበርን ቀላል የሚያደርጉትን ሁለንተናዊ ባለብዙ ምሳሌ ባህሪ-ተኮር ኤፒአይዎችን ያቀርባሉ። ለ exampለ, ለግንኙነት ተጓዳኝ አካላት (I2S፣ UART እና ሌሎች) አጠቃላዩን ማስጀመር እና ማዋቀር፣ በምርጫ፣ በማቋረጥ ወይም በዲኤምኤ ሂደት ላይ በመመስረት የውሂብ ማስተላለፍን ማስተዳደር እና በግንኙነት ወቅት ሊከሰቱ የሚችሉ የግንኙነት ስህተቶችን ማስተናገድ የሚያስችል ኤፒአይዎችን ያቀርባል። የ HAL ነጂ ኤፒአይዎች በሁለት ምድቦች ይከፈላሉ፡-- ለሁሉም የSTM32 ተከታታይ ማይክሮ ተቆጣጣሪዎች የተለመዱ እና አጠቃላይ ተግባራትን የሚያቀርቡ አጠቃላይ ኤፒአይዎች።
- ለአንድ ቤተሰብ ወይም ለተወሰነ ክፍል ቁጥር የተወሰኑ እና ብጁ ተግባራትን የሚያቀርቡ የኤክስቴንሽን ኤፒአይዎች።
- ዝቅተኛ-ንብርብር ኤፒአይዎች ዝቅተኛ ደረጃ ኤፒአይዎችን በመመዝገቢያ ደረጃ ያቀርባሉ፣ በተሻለ ማመቻቸት ግን አነስተኛ ተንቀሳቃሽነት።
- ስለ MCU እና ስለ ፔሪፈራል ዝርዝሮች ጥልቅ እውቀት ያስፈልጋቸዋል።
- የኤልኤል ነጂዎች የተነደፉት ከ HAL ይልቅ ወደ ሃርድዌር የቀረበ ፈጣን ቀላል ክብደት ያለው ኤክስፐርት ተኮር ንብርብር ነው። ከ HAL በተቃራኒ፣ ኤልኤል ኤፒአይዎች የተመቻቸ መዳረሻ ቁልፍ ባህሪ ካልሆነ፣ ወይም ከባድ የሶፍትዌር ውቅር ወይም ውስብስብ የከፍተኛ ደረጃ ቁልል ለሚፈልጉ ተጓዳኝ አካላት አይሰጡም።
- የኤልኤል ነጂዎች ባህሪይ
- በመረጃ አወቃቀሮች ውስጥ በተገለጹት መለኪያዎች መሠረት የዳርቻ ዋና ባህሪያትን ለመጀመር የተግባር ስብስብ።
- የመነሻ ውሂብ አወቃቀሮችን ከእያንዳንዱ መስክ ጋር በሚዛመዱ ዳግም ማስጀመሪያ ዋጋዎች ለመሙላት የተግባር ስብስብ።
- የፔሪፈራል ዲኢኒቲየላይዜሽን ተግባር (የዳርቻ መዝገቦች ወደ ነባሪ እሴቶቻቸው ተመልሰዋል)።
- ለቀጥታ እና ለአቶሚክ መመዝገቢያ መዳረሻ የመስመር ውስጥ ተግባራት ስብስብ።
- ከ HAL ሙሉ ነፃነት እና በብቸኝነት ሁነታ (ያለ ኤችኤል ነጂዎች) ጥቅም ላይ የሚውል ችሎታ።
- የሚደገፉት የዳርቻ ባህሪያት ሙሉ ሽፋን።
መሰረታዊ የዳርቻ አጠቃቀም ለምሳሌampሌስ
ይህ ንብርብር የ exampየ HAL እና BSP ሃብቶችን ብቻ በመጠቀም በ STM32 ተጓዳኝ አካላት ላይ ተገንብቷል።
ደረጃ 1
ይህ ደረጃ በሁለት ንዑስ ተከፋዮች የተከፈለ ነው፡-
- ሚድልዌር ክፍሎች
- Exampበመካከለኛው ዌር ክፍሎች ላይ የተመሠረተ
ሚድልዌር ክፍሎች
- መሃከለኛ ዌር የብሉቱዝ ዝቅተኛ ኢነርጂ (ሊንክሌየር፣ ኤችሲአይአይ፣ ቁልል)፣ Thread®፣ Zigbee®፣
- ጉዳይ፣ ክፍት ቡት ጫኚ፣ Microsoft® Azure® RTOS፣ TF‑M፣ MCUboot እና mbd-crypto።
- በዚህ ንብርብር ክፍሎች መካከል አግድም መስተጋብር የሚከናወነው ተለይተው የቀረቡ ኤፒአይዎችን በመጥራት ነው።
- ከዝቅተኛ-ንብርብር አሽከርካሪዎች ጋር አቀባዊ መስተጋብር የሚከናወነው በልዩ መልሶ ጥሪዎች እና በቤተ-መጽሐፍት ስርዓት የጥሪ በይነገጽ ውስጥ በተተገበሩ የማይንቀሳቀሱ ማክሮዎች ነው።
- የእያንዳንዱ መካከለኛ ዌር ክፍሎች ዋና ዋና ባህሪያት የሚከተሉት ናቸው.
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX፡ የእውነተኛ ጊዜ ኦፕሬቲንግ ሲስተም (RTOS)፣ ለሁለት ተግባራዊ ሁነታዎች ለተከተቱ ስርዓቶች የተነደፈ።
- የጋራ ሁነታ፡ እንደ ክር አስተዳደር እና ማመሳሰል፣ የማህደረ ትውስታ ገንዳ አስተዳደር፣ መልእክት መላላክ እና የክስተት አያያዝ ያሉ የተለመዱ የ RTOS ተግባራት።
- ሞዱል ሞድ፡- በሞጁል አስተዳዳሪ በኩል ቀድሞ የተገናኙትን ThreadX ሞጁሎችን መጫን እና ማራገፍ የሚያስችል የላቀ የተጠቃሚ ሁነታ።
- NetX Duo
- FileX
- ዩኤስቢኤክስ
- Azure® RTOS ThreadX፡ የእውነተኛ ጊዜ ኦፕሬቲንግ ሲስተም (RTOS)፣ ለሁለት ተግባራዊ ሁነታዎች ለተከተቱ ስርዓቶች የተነደፈ።
- ብሉቱዝ® ዝቅተኛ ኢነርጂ (BLE)፡ የብሉቱዝ® ዝቅተኛ ኢነርጂ ፕሮቶኮልን ለሊንክ እና ስታክ ንብርብሮች ተግባራዊ ያደርጋል።
- MCUboot (ክፍት ምንጭ ሶፍትዌር)
- የዚግቤኢ® ፕሮቶኮሎች ለቁልል እና ተዛማጅ ዘለላዎች።
- Thread® ፕሮቶኮል ቁልል እና አገናኝ ንብርብር።
- Arm® የታመነ firmware-M፣ TF‑M (ክፍት-ምንጭ ሶፍትዌር)፡ የአርም መድረክ ደህንነት አርክቴክቸር (PSA) ማጣቀሻ ትግበራ ለTrustZone® ከተዛማጅ ደህንነታቸው የተጠበቀ አገልግሎቶች።
- mbd-crypto (ክፍት ምንጭ ሶፍትዌር)፡- mbed-crypto middleware የPSA ምስጠራ ኤፒአይ አተገባበርን ይሰጣል።
- STM32 የንክኪ ዳሳሽ ቤተ-መጽሐፍት፡ ጠንካራ STMTouch አቅም ያለው የንክኪ ዳሳሽ መፍትሄ፣ ቅርበትን የሚደግፍ፣ የንክኪ ቁልፍ፣ ሊኒያር እና ሮታሪ ንክኪ ዳሳሾች። በተረጋገጠ የገጽታ ክፍያ ማስተላለፊያ ማግኛ መርህ ላይ የተመሰረተ ነው።
- Microsoft® Azure® RTOS
Exampበመካከለኛው ዌር ክፍሎች ላይ የተመሠረተ
እያንዳንዱ የመሃል ዌር አካል ከአንድ ወይም ከዚያ በላይ የቀድሞ ጋር አብሮ ይመጣልamples (አፕሊኬሽኖች ተብሎም ይጠራል) እንዴት እንደሚጠቀሙበት ያሳያል። ውህደት ለምሳሌampብዙ የመካከለኛ ዌር ክፍሎችን እንዳይጠቀሙ እንዲሁ ቀርበዋል ።
STM32CubeWBA firmware ጥቅል አልቋልview
የሚደገፉ STM32WBA ተከታታይ መሣሪያዎች እና ሃርድዌር
- STM32Cube በአጠቃላይ አርክቴክቸር ዙሪያ የተገነባ በጣም ተንቀሳቃሽ የሃርድዌር አብስትራክሽን ንብርብር (HAL) ያቀርባል። የመሃል ዌር ንብርብርን በመጠቀም ኤም.ሲ.ዩ ጥቅም ላይ የሚውለውን በጥልቀት ሳይታወቅ ተግባራቸውን እንዲተገብሩ የመገንባትን የንብርብሮች መርህ ይፈቅዳል። ይህ የላይብረሪውን ኮድ እንደገና ጥቅም ላይ ማዋልን ያሻሽላል እና ለሌሎች መሳሪያዎች ቀላል ተንቀሳቃሽነት ያረጋግጣል።
- በተጨማሪም፣ ለተደራራቢ አርክቴክቸር ምስጋና ይግባውና 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 ሾፌር ወይም መካከለኛ ዌር ክፍሎችን ለመጠቀም። እነዚህ ለምሳሌampበሰንጠረዥ 2 ላይ በተዘረዘሩት የSTMicroelectronics ሰሌዳዎች ላይ ሊሰራ ይችላል።
ሠንጠረዥ 2. ለ STM32WBA ተከታታይ ሰሌዳዎችሰሌዳ የቦርድ STM32WBA የሚደገፉ መሳሪያዎች ኑክሊዮ-WBA52CG STM32WBA52CGU6 ኑክሊዮ-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - የSTM32CubeWBA MCU ጥቅል በማንኛውም ተስማሚ ሃርድዌር ላይ ሊሠራ ይችላል። ተጠቃሚው የቀረበውን የቀድሞ ወደብ ለማድረግ የBSP ሾፌሮችን በቀላሉ ያዘምናል።ampበቦርዱ ላይ ፣ የኋለኛው ተመሳሳይ የሃርድዌር ባህሪዎች ካሉት (እንደ LED ፣ LCD ማሳያ እና አዝራሮች ያሉ)።
የጽኑ ትዕዛዝ ጥቅል አልቋልview
- የ STM32CubeWBA ጥቅል መፍትሄ በስእል 3 ላይ የሚታየውን መዋቅር ያለው በአንድ ነጠላ ዚፕ ፓኬጅ ይሰጣል።
- ለእያንዳንዱ ቦርድ, የ examples ለEWARM፣ MDK-ARM እና STM32CubeIDE የመሳሪያ ሰንሰለት ቀድመው ከተዋቀሩ ፕሮጀክቶች ጋር ቀርቧል።
- ምስል 4. STM32CubeWBA examples በላይview ለNUCLO-WBA52CG፣ NUCLO-WBA55CG እና STM32WBA55G-DK1 ቦርዶች የፕሮጀክት አወቃቀሩን ያሳያል።
- የቀድሞampሌስ የሚከፋፈሉት በሚያመለክቱበት የSTM32Cube ደረጃ ሲሆን ስማቸውም እንደሚከተለው ነው።
- ደረጃ 0 ለምሳሌampሌስ ተብለው ይጠራሉ Examples፣ Examples_LL፣ እና Exampያነሰ_ሚክስ እንደቅደም ተከተላቸው የ HAL ሾፌሮች፣ ኤልኤል ነጂዎች እና የ HAL እና ኤልኤል ነጂዎች ድብልቅ ያለ ምንም መካከለኛ ዌር ይጠቀማሉ።
- ደረጃ 1 ለምሳሌampአፕሊኬሽንስ ይባላሉ። የእያንዳንዱን የመሃል ዌር ክፍሎች የተለመዱ የአጠቃቀም ጉዳዮችን ያቀርባሉ። በ Templ ates እና Templates_LL ማውጫዎች ውስጥ ባሉ የአብነት ፕሮጄክቶች ምክንያት ለተወሰነ ቦርድ ማንኛውም የጽኑዌር መተግበሪያ በፍጥነት ሊገነባ ይችላል።
TrustZone® የነቁ ፕሮጀክቶች
- TrustZone® ነቅቷል Examples ስሞች የ_TrustZone ቅድመ ቅጥያ ይይዛሉ። ደንቡ ለApplicatio ns (ከTFM እና SBSFU በስተቀር፣ ለTrustZone® ቤተኛ ከሆኑ) በተጨማሪ ይተገበራል።
- TrustZone®-የነቃ Examples እና አፕሊኬሽኖች በስእል 5 ላይ እንደተገለጸው ደህንነታቸው የተጠበቀ እና ደህንነታቸው ያልተጠበቀ ንዑስ ፕሮጄክቶች የተዋቀረ ባለ ብዙ ፕሮጄክት መዋቅር ተሰጥቷቸዋል።
- TrustZone® የነቁ ፕሮጀክቶች በCMSIS-5 መሣሪያ አብነት መሰረት የተገነቡ ናቸው፣ የስርዓት ክፍልፍል ራስጌን ለማካተት ተዘርግተዋል። file ክፍፍል_ .h፣ በዋናነት ደህንነቱ የተጠበቀ የባህሪ ዩኒት (SAU)፣ FPU እና ደህንነቱ የተጠበቀ/ደህንነቱ ያልተጠበቀ ስራን በአስተማማኝ የማስፈጸሚያ ሁኔታ የሚያቋርጥ ኃላፊነት ነው።
- ይህ ማዋቀር ደህንነቱ በተጠበቀው የCMSIS SystemInit() ተግባር ውስጥ ይከናወናል፣ ይህም ደህንነቱ የተጠበቀ የመተግበሪያ ዋና() ተግባር ከመግባቱ በፊት በሚነሳበት ጊዜ ይባላል። ወደ Arm® TrustZone®-M የሶፍትዌር መመሪያዎች ሰነድ ይመልከቱ።
- የ STM32CubeWBA ጥቅል firmware ጥቅል በክፍል ውስጥ ነባሪ የማህደረ ትውስታ ክፍፍልን ያቀርባል _ .ሰ files የሚገኘው በ፡ \ ሾፌሮች \ CMSIS \ መሣሪያ \ ST \ STM32WBAxx \ ማካተት \ T emlates
- በእነዚህ ክፍፍል ውስጥ 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 - 0x4FFFFFF (ደህንነቱ ያልተጠበቀ የካርታ ካርታ)
- ነባሪውን ክፍልፍል ለማዛመድ የSTM32WBAxx ተከታታይ መሳሪያዎች የሚከተለው የተጠቃሚ አማራጭ ባይት ማዘጋጀት አለባቸው፡
- TZEN = 1 (TrustZone® የነቃ መሳሪያ)
- SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (ከውስጥ ፍላሽ ማህደረ ትውስታ ከ64 ገፆች 128 ደህንነቱ በተጠበቀ መልኩ ተቀናብሯል) ማስታወሻ፡ የውስጥ ፍላሽ ማህደረ ትውስታ ሙሉ በሙሉ በነባሪነት በ TZEN = 1. የተጠቃሚው ባይት SECWM1_PSTRT/SECWM1_PEND በማመልከቻው መሰረት መዘጋጀት አለበት። የማህደረ ትውስታ ውቅር (SAU ክልሎች፣ SAU ከነቃ)። ደህንነቱ የተጠበቀ/ደህንነታቸው ያልተጠበቁ መተግበሪያዎች የፕሮጀክት ማገናኛ files እንዲሁ መስተካከል አለበት።
- ሁሉም ለምሳሌampተመሳሳይ መዋቅር አላቸው:
- ሁሉንም ራስጌ የያዘ አቃፊ files.
- የምንጭ ኮድ የያዘ Src አቃፊ።
- \EWARM፣ \MDK-ARM እና \STM32CubeIDE አቃፊዎች ለእያንዳንዱ የመሳሪያ ሰንሰለት አስቀድሞ የተዋቀረ ፕሮጀክትን የያዙ።
- readme.md እና readme.html የቀድሞውን የሚገልጹampእንዲሰራ ለማድረግ ባህሪ እና አስፈላጊ አካባቢ።
- ioc file ተጠቃሚዎች አብዛኛውን firmware exampበ STM32CubeMX ውስጥ።
በSTM32CubeWBA መጀመር
የመጀመሪያውን HAL ex በማሄድ ላይample
ይህ ክፍል የመጀመሪያውን የቀድሞ መሮጥ ምን ያህል ቀላል እንደሆነ ያብራራልample በ STM32CubeWBA ውስጥ። በNUCLO-WBA52CG ሰሌዳ ላይ የሚሰራ ቀላል የ LED መቀያየርን ማመንጨት እንደ ምሳሌ ይጠቀማል፡-
- የSTM32CubeWBA MCU ጥቅል ያውርዱ።
- ዚፕውን ወደ መረጡት ማውጫ ይክፈቱት።
- በስእል 1 ላይ የሚታየውን የጥቅል መዋቅር አለመቀየርዎን እርግጠኛ ይሁኑ።እንዲሁም አንዳንድ አይዲኢዎች በመንገዱ ላይ ችግር ስለሚገጥማቸው ወደ ስርዎ መጠን ቅርብ በሆነ ቦታ (C:\ST ወይም G:\ Tests ማለት ነው) ለመቅዳት ይመከራል። ርዝመት በጣም ረጅም ነው.
መጀመሪያ TrustZone® የነቃ የቀድሞ በማሄድ ላይample
- TrustZone® የነቃውን ከመጫን እና ከማሄድዎ በፊትample, የቀድሞውን ማንበብ ግዴታ ነውample readme file በክፍል 4.2.1 TrustZone® የነቁ ፕሮጀክቶች (TZEN=1 (የተጠቃሚ አማራጭ ባይት)) ላይ እንደተገለጸው ደህንነቱ መንቃቱን የሚያረጋግጥ ለማንኛውም የተለየ ውቅር።
- ወደ \ፕሮጀክቶች\NUCLEO-WBA52CG\ Exampሌስ.
- \GPIOን ይክፈቱ ፣ ከዚያ \GPIO_IOToggle_TrustZone አቃፊዎችን ይክፈቱ።
- ፕሮጀክቱን በመረጡት የመሳሪያ ሰንሰለት ይክፈቱ። በፍጥነት አለቀview የቀድሞ ጓደኛን እንዴት መክፈት፣ መገንባት እና ማስኬድ እንደሚቻልampከሚደገፉት የመሳሪያ ሰንሰለቶች ጋር ከዚህ በታች ተሰጥቷል።
- ሁሉንም ደህንነቱ የተጠበቀ እና ደህንነቱ ያልተጠበቀ ፕሮጀክት በቅደም ተከተል እንደገና ይገንቡ files እና ደህንነታቸው የተጠበቀ እና ደህንነታቸው ያልተጠበቁ ምስሎችን ወደ ኢላማው ማህደረ ትውስታ ይጫኑ።
- የቀድሞ አሂድample: በመደበኛነት ደህንነቱ የተጠበቀ መተግበሪያ LD2 በየሰከንዱ ይቀየራል፣ እና ደህንነቱ ያልተጠበቀ መተግበሪያ LD3 በእጥፍ በፍጥነት ይቀየራል። ለበለጠ ዝርዝር ንባብ ይመልከቱ file የቀድሞampለ.
- አንድ የቀድሞ ለመክፈት፣ ለመገንባት እና ለማስኬድampበሚደገፉት የመሳሪያ ሰንሰለቶች፣ ከዚህ በታች ያሉትን ደረጃዎች ይከተሉ፡-
- EWARM፡
- በቀድሞው ስርampየ \EWARM ንዑስ አቃፊን ይክፈቱ።
- የProject.eww የስራ ቦታን ያስጀምሩ
- የ xxxxx_S ደህንነቱ የተጠበቀ ፕሮጀክት እንደገና ይገንቡ files: [ፕሮጀክት]>[ሁሉንም እንደገና ገንባ]።
- የ xxxxx_NS ደህንነቱ ያልተጠበቀ ፕሮጀክት እንደ ገባሪ መተግበሪያ ያቀናብሩ (በ xxxxx_NS ፕሮጀክት ላይ በቀኝ ጠቅ ያድርጉ [እንደ ገቢር አዘጋጅ])
- የ xxxxx_NS ደህንነቱ ያልተጠበቀ ፕሮጀክት እንደገና ይገንቡ files: [ፕሮጀክት]>[ሁሉንም እንደገና ገንባ]።
- ደህንነቱ ያልተጠበቀ ሁለትዮሽ በ[ፕሮጀክት]>[አውርድ]>[ገቢር መተግበሪያ አውርድ]።
- xxxxx_Sን እንደ ገቢር አፕሊኬሽኑ ያቀናብሩ (በ xxxxx_S ፕሮጀክት ላይ በቀኝ ጠቅ ያድርጉ [እንደ ገቢር አዘጋጅ)።
- ደህንነቱ የተጠበቀ ሁለትዮሽ በ [አውርድ እና ማረም] (Ctrl+D) ያብሩት።
- ፕሮግራሙን ያሂዱ፡ [አራም]>[ሂድ(F5)]
- MDK-ARM
- የ \MDK-ARM የመሳሪያ ሰንሰለትን ይክፈቱ።
- የባለብዙ ፕሮጄክቶች የስራ ቦታን ይክፈቱ file ፕሮጀክት.uvmpw.
- የ xxxxx_s ፕሮጀክትን እንደ ገባሪ መተግበሪያ ይምረጡ ([እንደ ገቢር ፕሮጄክት አዘጋጅ])።
- የ xxxxx_s ፕሮጀክት ይገንቡ።
- የ xxxxx_ns ፕሮጄክትን እንደ ገባሪ ፕሮጀክት ይምረጡ ([እንደ ገቢር ፕሮጀክት አዘጋጅ])።
- የ xxxxx_ns ፕሮጀክት ይገንቡ።
- ደህንነቱ ያልተጠበቀ ሁለትዮሽ ([F8]) ይጫኑ። ይህ \MDK-ARM\xxxxx_ns\Exe\xxxx_ns.axfን ወደ ፍላሽ ማህደረ ትውስታ ያወርዳል)
- የፕሮጀክት_ፕሮጀክትን እንደ ገባሪ ፕሮጀክት ይምረጡ ([እንደ ንቁ ፕሮጀክት አዘጋጅ])።
- ደህንነቱ የተጠበቀ ሁለትዮሽ ([F8]) ይጫኑ። ይህ \MDK-ARM\xxxxx_s\Exe \xxxxx_s.axfን ወደ ፍላሽ ማህደረ ትውስታ ያወርዳል።
- የቀድሞ አሂድampለ.
- STM32CubeIDE፡
- የ STM32CubeIDE የመሳሪያ ሰንሰለት ይክፈቱ።
- የባለብዙ ፕሮጄክቶች የስራ ቦታን ይክፈቱ file .ፕሮጀክት.
- የ xxxxx_Secure ፕሮጄክቱን እንደገና ይገንቡ።
- የ xxxxx_NonSecure ፕሮጀክቱን እንደገና ይገንቡ።
- ለአስተማማኙ ፕሮጄክቱ [Debug as STM32 Cortex-M C/C++] መተግበሪያን ያስጀምሩ።
- በ[አርትዕ ውቅር] መስኮት ውስጥ [Startup] ፓነልን ይምረጡ እና ደህንነቱ ያልተጠበቀ የፕሮጀክቱን ምስል እና ምልክቶችን ይጨምሩ።
ጠቃሚ፡- ደህንነቱ ያልተጠበቀ ፕሮጀክት ከአስተማማኝው ፕሮጀክት በፊት መጫን አለበት። - [እሺ] ን ጠቅ ያድርጉ።
- የቀድሞ አሂድampለማረም እይታ።
- EWARM፡
የመጀመሪያውን TrustZone® በማሄድ ላይ የተሰናከለ የቀድሞample
- TrustZone® ተሰናክሏል ከመጫንዎ በፊትample, የቀድሞውን ማንበብ ግዴታ ነውample readme file ለማንኛውም የተለየ ውቅር. የተወሰኑ መጠቀሶች ከሌሉ የቦርዱ መሳሪያው ደህንነት መጥፋቱን ያረጋግጡ (TZEN=0 (የተጠቃሚ አማራጭ ባይት))። ወደ TZEN = 0 የአማራጭ ሪግሬሽን ለማድረግ የሚጠየቁ ጥያቄዎችን ይመልከቱ
- ወደ \ፕሮጀክቶች\NUCLEO-WBA52CG\ Exampሌስ.
- \ GPIO ፣ ከዚያ \ GPIO_EXTI አቃፊዎችን ይክፈቱ።
- ፕሮጀክቱን በመረጡት የመሳሪያ ሰንሰለት ይክፈቱ። በፍጥነት አለቀview የቀድሞ ጓደኛን እንዴት መክፈት፣ መገንባት እና ማስኬድ እንደሚቻልampከሚደገፉት የመሳሪያ ሰንሰለቶች ጋር ከዚህ በታች ተሰጥቷል።
- ሁሉንም እንደገና ገንባ files እና ምስልዎን ወደ ዒላማው ማህደረ ትውስታ ይጫኑ.
- የቀድሞ አሂድample: በእያንዳንዱ ጊዜ የ[USER] ፑሽ-አዝራሩ በተጫኑ ቁጥር ኤልዲ1 ኤልኢዲ ይቀየራል። ለበለጠ ዝርዝር ንባብ ይመልከቱ file የቀድሞampለ.
- አንድ የቀድሞ ለመክፈት፣ ለመገንባት እና ለማስኬድampበሚደገፉት የመሳሪያ ሰንሰለቶች፣ ከዚህ በታች ያሉትን ደረጃዎች ይከተሉ፡-
- EWARM፡
- በቀድሞው ስርampየ \EWARM ንዑስ አቃፊን ይክፈቱ።
- የፕሮጀክት.eww የስራ ቦታን ያስጀምሩ (የስራ ቦታ ስም ከአንድ የቀድሞ ሊለወጥ ይችላልampለሌላ)።
- ሁሉንም እንደገና ገንባ files: [ፕሮጀክት]>[ሁሉንም እንደገና ገንባ]።
- የፕሮጀክት ምስሉን ጫን፡ [ፕሮጀክት]>[ማረም]።
- ፕሮግራሙን አሂድ፡ [አራም]>[ሂድ (F5)]።
- MDK-ARM
- በቀድሞው ስርampየ \ MDK-ARM ንዑስ አቃፊን ይክፈቱ።
- የProject.uvproj የስራ ቦታን ያስጀምሩ (የመስሪያ ቦታ ስም ከአንዱ የቀድሞ ሊቀየር ይችላል።ampለሌላ)።
- ሁሉንም እንደገና ገንባ files:[ፕሮጀክት]>[ሁሉንም ኢላማ እንደገና ገንባ fileዎች]።
- የፕሮጀክት ምስሉን ጫን፡ [አረም]>[የስህተት ማረም ጀምር/አቁም]።
- ፕሮግራሙን አሂድ፡ [አራም]>[አሂድ (F5)]።
- STM32CubeIDE፡
- የ STM32CubeIDE የመሳሪያ ሰንሰለት ይክፈቱ።
- ጠቅ ያድርጉFile>> [የስራ ቦታን ቀይር]>[ሌላ] እና ወደ STM32CubeIDE የስራ ቦታ ማውጫ አስስ።
- ጠቅ ያድርጉFile>>[አስመጣ]፣ [አጠቃላይ]>[ነባር ፕሮጀክቶች ወደ ዎርክስፔስ] የሚለውን ይምረጡ እና ከዚያ [ቀጣይ]ን ጠቅ ያድርጉ።
- ወደ STM32CubeIDE የስራ ቦታ ማውጫ ይሂዱ እና ፕሮጀክቱን ይምረጡ።
- ሁሉንም ፕሮጀክት እንደገና ይገንቡ files: በ [ፕሮጀክት ኤክስፕሎረር] መስኮት ውስጥ ፕሮጀክቱን ከመረጡ በኋላ [ፕሮጀክት]>[የግንባታ ፕሮጀክት] ሜኑ የሚለውን ጠቅ ያድርጉ።
- ፕሮግራሙን ያሂዱ: [አሂድ]> [ማረም (F11)]
- EWARM፡
ብጁ መተግበሪያን በማዳበር ላይ
ማስታወሻ፡- ሶፍትዌሩ የመመሪያው መሸጎጫ (ICACHE) ከፍላሽ ማህደረ ትውስታ የ 0 ተጠባቂ ሁኔታ አፈፃፀም እንዲያገኝ እና ከፍተኛውን አፈፃፀም እና የተሻለ የኃይል ፍጆታ እንዲደርስ ማንቃት አለበት።
መተግበሪያን ለማዳበር ወይም ለማዘመን STM32CubeMX በመጠቀም
- በSTM32CubeWBA MCU ጥቅል ውስጥ፣ ሁሉም ማለት ይቻላል የቀድሞ ፕሮጄክትamples በSTM32CubeMX መሣሪያ የሚመነጩት ስርዓቱን፣ ተጓዳኝ እና መካከለኛ ዌርን ለመጀመር ነው።
- ነባር ፕሮጀክት ቀጥተኛ አጠቃቀም example ከ STM32CubeMX መሳሪያ STM32CubeMX 6.10.0 ወይም ከዚያ በላይ ያስፈልገዋል፡
- STM32CubeMX ከተጫነ በኋላ የታቀደውን ፕሮጀክት ይክፈቱ እና አስፈላጊ ከሆነ ያዘምኑ። ነባር ፕሮጀክት ለመክፈት ቀላሉ መንገድ *.ioc ላይ ሁለቴ ጠቅ ማድረግ ነው። file STM32CubeMX ፕሮጀክቱን እና ምንጩን በራስ ሰር ይከፍታል። files.
- STM32CubeMX የእንደዚህ አይነት ፕሮጀክቶች የመነሻ ምንጭ ኮድ ያመነጫል. ዋናው የመተግበሪያ ምንጭ ኮድ በ "USER CODE BEGIN" እና "USER CODE END" አስተያየቶች ይዟል. የአይፒ ምርጫው እና መቼቱ ከተሻሻሉ STM32CubeMX የኮዱን ማስጀመሪያ ክፍል ያዘምናል ነገር ግን ዋናውን የመተግበሪያ ምንጭ ኮድ ይጠብቃል።
- በSTM32CubeMX ውስጥ ብጁ ፕሮጀክት ለማዳበር የደረጃ በደረጃ ሂደቱን ይከተሉ፡-
- ከሚፈለገው የፔሪፈራል ስብስብ ጋር የሚስማማውን STM32 ማይክሮ መቆጣጠሪያ ይምረጡ።
- ሁሉንም የሚፈለጉትን የተከተተ ሶፍትዌሮች በፒንኦውት-ግጭት ፈታሽ፣ የሰዓት-ዛፍ ቅንብር አጋዥ፣ የሃይል ፍጆታ ማስያ፣ እና የMCU ተጓዳኝ ውቅረትን (እንደ GPIO ወይም USART ያሉ) እና የመካከለኛ ዌር ቁልል (እንደ ዩኤስቢ ያሉ)ን በመጠቀም ያዋቅሩ።
- በተመረጠው ውቅር ላይ በመመስረት የመነሻ C ኮድ ይፍጠሩ። ይህ ኮድ በተለያዩ የልማት አካባቢዎች ውስጥ ለመጠቀም ዝግጁ ነው። የተጠቃሚው ኮድ በሚቀጥለው ኮድ ማመንጨት ላይ ይቀመጣል።
- ስለ STM32CubeMX ተጨማሪ መረጃ ለማግኘት የተጠቃሚውን መመሪያ STM32CubeMX ለSTM32 ውቅር እና ማስጀመሪያ C ኮድ ማመንጨት (UM1718) ይመልከቱ።
- ያለውን ፕሮጀክት ዝርዝር ለማግኘት examples ለ STM32CubeWBA፣ የመተግበሪያ ማስታወሻ STM32Cube firmware ex ይመልከቱ።amples ለ STM32WBA ተከታታይ (AN5929)።
የአሽከርካሪዎች መተግበሪያዎች
HAL መተግበሪያ
ይህ ክፍል STM32CubeWBA ን በመጠቀም ብጁ HAL መተግበሪያን ለመፍጠር የሚያስፈልጉትን ደረጃዎች ይገልጻል።
- ፕሮጀክት ፍጠር
- አዲስ ፕሮጀክት ለመፍጠር በ \Projects\ ስር ለእያንዳንዱ ቦርድ ከተሰጠው የአብነት ፕሮጀክት አንዱን ይጀምሩ። አብነቶች ወይም ከፕሮጀክቶች ስር ከሚገኙ ከማንኛውም ፕሮጀክት \የፈተና ምሳሌ ወይም \ፕሮጀክቶች\ መተግበሪያዎች (የት እንደ STM32CubeWBA ያሉ የቦርድ ስምን ይመለከታል።
- የአብነት ፕሮጀክቱ ባዶ የዋና ዑደት ተግባርን ይሰጣል። ሆኖም፣ የ STM32CubeWBA ፕሮጀክት መቼቶችን ለመረዳት ጥሩ መነሻ ነው። አብነት የሚከተሉትን ባህሪያት አሉት:
- በውስጡም የ HAL ምንጭ ኮድ፣ ሲኤምኤስአይኤስ እና ቢኤስፒ ነጂዎችን ይዟል፣ እነዚህም በተሰጠው ሰሌዳ ላይ ኮድ ለማዘጋጀት የሚያስፈልጉት አነስተኛ ክፍሎች ስብስብ።
- ለሁሉም የጽኑዌር ክፍሎች የተካተቱትን መንገዶች ይዟል።
- የCMSIS እና HAL ሾፌሮች በትክክል እንዲዋቀሩ በመፍቀድ የሚደገፉትን STM32WBA ተከታታይ መሳሪያዎችን ይገልጻል።
- ለመጠቀም ዝግጁ ተጠቃሚን ያቀርባል fileከዚህ በታች እንደሚታየው አስቀድሞ ተዋቅሯል፡-
HAL በነባሪ የሰአት መሰረት በArm® ኮር SysTick ተጀምሯል። SysTick ISR ለ HAL_Delay() ዓላማ ተተግብሯል።
ማስታወሻ፡- ያለውን ፕሮጀክት ወደ ሌላ ቦታ ሲገለብጡ፣ ሁሉም የተካተቱት መንገዶች መዘመንዎን ያረጋግጡ።
- አስፈላጊውን መካከለኛ ወደ ተጠቃሚው ፕሮጀክት ያክሉ (አማራጭ)
ምንጩን ለመለየት fileወደ ፕሮጀክቱ መጨመር s file ዝርዝር፣ ለእያንዳንዱ መካከለኛ ዕቃ የቀረበውን ሰነድ ይመልከቱ። በ \Projects\STM32xxx_yyy\Applications ስር ያሉትን መተግበሪያዎች ተመልከት። (የት የትኛውን ምንጭ ለማወቅ እንደ ThreadX ያሉ የመሃል ዌር ቁልልን ያመለክታል files እና ማካተት ዱካዎች መታከል አለባቸው። - የጽኑ ትዕዛዝ ክፍሎችን ያዋቅሩ
የ HAL እና የመሃል ዌር ክፍሎች በራስጌ ላይ የተገለጸውን ማክሮዎችን #define በመጠቀም የግንባታ ጊዜ ውቅር አማራጮችን ያቀርባሉ። file. የአብነት ውቅር file በእያንዳንዱ አካል ውስጥ ቀርቧል, እሱም ወደ የፕሮጀክት አቃፊ (በተለምዶ አወቃቀሩ) መቅዳት አለበት file ስሙ xxx_conf_template.h ነው፣ ወደ ፕሮጀክቱ አቃፊ ሲገለበጥ _template የሚለው ቃል መወገድ አለበት። አወቃቀሩ file የእያንዳንዱን የማዋቀር አማራጭ ተፅእኖ ለመረዳት በቂ መረጃ ይሰጣል። የበለጠ ዝርዝር መረጃ ለእያንዳንዱ አካል በተሰጠው ሰነድ ውስጥ ይገኛል. - የ HAL ላይብረሪውን ይጀምሩ
ወደ ዋናው ፕሮግራም ከዘለሉ በኋላ፣ የ HAL ቤተ-መጽሐፍትን ለማስጀመር የመተግበሪያው ኮድ HAL_Init() ኤፒአይ መደወል አለበት፣ ይህም የሚከተሉትን ተግባራት ያከናውናል፡- የፍላሽ ማህደረ ትውስታ ፕሪፌች እና የSysTick ማቋረጥ ቅድሚያ ማዋቀር (በ st m32wbaxx_hal_conf.h ውስጥ በተገለጹት ማክሮዎች)።
- በየ ሚሊሰከንድ የSysTick ማቋረጥ ቅድሚያ TICK_INT_PRIO በ stm32wbaxx_hal_conf.h ውስጥ የተገለፀው የSysTick ውቅር።
- የNVIC ቡድን ቅድሚያ ወደ 0 ማቀናበር።
- የ HAL_MspInit() መልሶ ጥሪ ተግባር በstm32wbaxx_hal_msp.c ተጠቃሚ ተገልጿል file ዓለም አቀፍ ዝቅተኛ-ደረጃ ሃርድዌር ጅምር ለማከናወን.
- የስርዓት ሰዓቱን ያዋቅሩ
የስርዓት ሰዓት ውቅር የሚከናወነው ከታች የተገለጹትን ሁለቱን ኤፒአይዎች በመደወል ነው።- HAL_RCC_OscConfig() ይህ ኤፒአይ የውስጥ እና የውጭ ኦስሲሊተሮችን ያዋቅራል። ተጠቃሚው አንድ ወይም ሁሉንም oscillators ለማዋቀር ይመርጣል።
- HAL_RCC_ClockConfig() ይህ ኤፒአይ የስርዓቱን የሰዓት ምንጭ፣ የፍላሽ ማህደረ ትውስታ መዘግየት እና የ AHB እና APB ፕሪስካለሮችን ያዋቅራል።
- አካባቢውን አስጀምር
- መጀመሪያ የዳርቻውን HAL_PPP_MspInit ተግባር ይፃፉ። እንደሚከተለው ይቀጥሉ።
- የዳርቻ ሰዓቱን አንቃ።
- የጎን GPIOዎችን ያዋቅሩ።
- የዲኤምኤ ቻናሉን አዋቅር እና የዲኤምኤ መቆራረጥን አንቃ (ከተፈለገ)።
- የዳርቻ መቆራረጥን አንቃ (ከተፈለገ)።
- አስፈላጊ ከሆነ የማቋረጥ ተቆጣጣሪዎች (ፔሪፈራል እና ዲኤምኤ) ለመደወል stm32xxx_it.c ያርትዑ።
- የመልሶ መደወያ ተግባራትን ይፃፉ ፣ ከዳር እስከ ዳር መቋረጥ ወይም ዲኤምኤ ለመጠቀም የታቀደ ከሆነ።
- በተጠቃሚው ዋና.c file, የዳርቻውን እጀታ መዋቅር ያስጀምሩት ከዚያም ተግባሩን HAL_PPP_Init() ጠርተው ዳር አካባቢውን ለማስጀመር።
- መጀመሪያ የዳርቻውን HAL_PPP_MspInit ተግባር ይፃፉ። እንደሚከተለው ይቀጥሉ።
- መተግበሪያ ይገንቡ
- በዚህ ኤስtagሠ, ስርዓቱ ዝግጁ ነው እና የተጠቃሚ መተግበሪያ ኮድ እድገት ሊጀምር ይችላል.
- ኤችኤል አካባቢውን ለማዋቀር ሊታወቅ የሚችል እና ለመጠቀም ዝግጁ የሆኑ ኤፒአይዎችን ያቀርባል። ማንኛውንም የማመልከቻ መስፈርቶችን ለማሟላት ድምጽ መስጠትን፣ ማቋረጦችን እና የዲኤምኤ ፕሮግራሚንግ ሞዴልን ይደግፋል። እያንዳንዱን ተጓዳኝ እንዴት መጠቀም እንደሚቻል ላይ ተጨማሪ ዝርዝሮችን ለማግኘት ሀብታሙን የቀድሞ ይመልከቱampበ STM32CubeWBA MCU ጥቅል ውስጥ ቀርቧል።
ጥንቃቄ፡- በነባሪ የ HAL አተገባበር ውስጥ፣ የSysTick ቆጣሪው እንደ የጊዜ መሠረት ጥቅም ላይ ይውላል፡ በመደበኛ የጊዜ ክፍተቶች ውስጥ መቆራረጦችን ይፈጥራል። HAL_Delay() ከዳርቻው የአይኤስአር ሂደት ከተጠራ፣ የSysTick መቆራረጥ ከጎንዮሽ መቆራረጥ የበለጠ ቅድሚያ (በቁጥር ዝቅተኛ) እንዳለው ያረጋግጡ። አለበለዚያ የደዋይ ISR ሂደት ታግዷል. በተጠቃሚው ውስጥ ያሉ ሌሎች ትግበራዎችን ለመሻር እንዲቻል የጊዜ መሠረት ውቅሮችን የሚነኩ ተግባራት __ደካማ ተብለው ይታወቃሉ። file (አጠቃላይ ዓላማ ጊዜ ቆጣሪን በመጠቀም፣ ለምሳሌample, ወይም ሌላ የጊዜ ምንጭ). ለተጨማሪ ዝርዝሮች የ HAL_TimeBase የቀድሞ ይመልከቱampለ.
ኤልኤል መተግበሪያ
ይህ ክፍል STM32CubeWBA ን በመጠቀም ብጁ LL መተግበሪያ ለመፍጠር የሚያስፈልጉትን ደረጃዎች ይገልጻል።
- ፕሮጀክት ፍጠር
- አዲስ ፕሮጀክት ለመፍጠር በ \Projects\ ስር ለእያንዳንዱ ቦርድ ከቀረበው Templates_LL ፕሮጀክት ይጀምሩ። \ Templates_LL፣ ወይም በ \Projects\ ስር ከሚገኙ ከማንኛውም ፕሮጀክት \ ዘፀampሌስ_ኤልኤል ( እንደ NUCLO-WBA32CG ያሉ የቦርድ ስምን ይመለከታል።
- የአብነት ኘሮጀክቱ ባዶ ዋና የሉፕ ተግባርን ይሰጣል፣ ይህም የ STM32CubeWBA የፕሮጀክት መቼቶችን ለመረዳት ጥሩ መነሻ ነው። የአብነት ዋና ባህሪያት የሚከተሉት ናቸው:
- በውስጡም የኤልኤል እና የሲኤምኤስአይኤስ አሽከርካሪዎች ምንጭ ኮዶችን ይዟል፣ እነዚህም በተሰጠው ሰሌዳ ላይ ኮድ ለማዘጋጀት የሚያስፈልጉትን አነስተኛ ክፍሎች ስብስብ።
- ለሁሉም አስፈላጊ የጽኑዌር ክፍሎች የተካተቱትን መንገዶች ይዟል።
- የሚደገፈውን STM32WBA ተከታታይ መሳሪያ ይመርጣል እና የCMSIS እና ኤልኤል ነጂዎችን ትክክለኛ ውቅር ይፈቅዳል።
- ለአገልግሎት ዝግጁ የሆነ ተጠቃሚ ያቀርባል fileእንደሚከተለው አስቀድመው የተዋቀሩ ናቸው፡
◦ main.h፡ LED እና USER_BUTTON ፍቺ የአብስትራክሽን ንብርብር።
◦ main.c: ለከፍተኛ ድግግሞሽ የስርዓት ሰዓት ውቅር።
- ነባሩን ፕሮጀክት ወደ ሌላ ቦርድ ያውርዱ
በሌላ ዒላማ ሰሌዳ ላይ ያለን ፕሮጀክት ለመደገፍ፣ ለእያንዳንዱ ቦርድ ከቀረበው Templates_LL ፕሮጀክት ይጀምሩ እና በ \Projects\ ስር ይገኛል። \ አብነቶች_LL- ኤልኤልን ይምረጡample: የትኛው ላይ ሰሌዳ ለማግኘት LL examples ተዘርግተዋል፣ የኤልኤል የቀድሞ ዝርዝርን ይመልከቱamples STM32CubeProjectsList.html.
- የኤልኤልኤል ወደብ exampላይ:
- የ Templates_LL አቃፊውን ይቅዱ/ይለጥፉ - የመጀመሪያውን ምንጭ ለማቆየት - ወይም ያለውን የ Template lates_LL ፕሮጀክት በቀጥታ ያዘምኑ።
- ከዚያ ማጓጓዝ በዋናነት አብነቶችን_LLን በመተካት ያካትታል files በ Examples_LL ያነጣጠረ ፕሮጀክት።
- ሁሉንም የቦርድ የተወሰኑ ክፍሎችን ያስቀምጡ. ለግልጽነት ምክንያቶች የቦርዱ የተወሰኑ ክፍሎች በልዩ ምልክት ተደርገዋል። tags:
- ስለዚህ ዋናው የመተላለፊያ ደረጃዎች የሚከተሉት ናቸው:
- stm32wbaxx_it.h ይተኩ file
- stm32wbaxx_it.c ይተኩ file
- ዋናውን ተካ.h file እና ያዘምኑት፡ የኤልኤል አብነት የ LED እና የተጠቃሚ አዝራር ትርጉም በቦርድ ልዩ ውቅረት ስር ያቆዩት። tags.
- ዋናውን ይተኩ.c file እና አዘምን፡-
- የSystemClock_Config()ኤልኤል አብነት ተግባር የሰዓት ውቅር በቦርድ specific CONFIGURATION ስር አቆይ tags.
- በ LED ፍቺ ላይ በመመስረት እያንዳንዱን የኤልዲኤክስ ክስተት በዋና ውስጥ በሚገኝ ሌላ ኤልዲ ይተኩ.h file.
- በእነዚህ ማሻሻያዎች, የቀድሞample አሁን በታለመው ሰሌዳ ላይ ይሰራል
የደህንነት መተግበሪያዎች
ይህ ጥቅል ከደህንነት መተግበሪያዎች ጋር ነው የሚቀርበው።
SBSFU መተግበሪያዎች
- SBSFU Secure Boot እና Secure Firmware Update ተግባርን (በMCUboot ላይ የተመሰረተ)ን ጨምሮ የTroot of Trust መፍትሄን ይሰጣል።
- መፍትሄው ማመልከቻውን ከመተግበሩ በፊት ጥቅም ላይ ይውላል.
- መፍትሔው አንድ የቀድሞ ያቀርባልampደህንነቱ ያልተጠበቀ አገልግሎት (GPIO toggle)፣ ደህንነቱ ካልተጠበቀ መተግበሪያ የተነጠለ። በአሂድ ጊዜ ደህንነቱ ያልተጠበቀ መተግበሪያ አሁንም ይህንን መፍትሄ ሊጠቀም ይችላል።
TFM መተግበሪያዎች
TFM ደህንነቱ የተጠበቀ ቡት እና ደህንነቱ የተጠበቀ የጽኑ ትዕዛዝ ማሻሻያ ተግባራትን ጨምሮ የመተማመን ስር መፍትሄን ይሰጣል
(በMCUboot ላይ የተመሠረተ)። መፍትሄው ማመልከቻውን ከመተግበሩ በፊት ጥቅም ላይ ይውላል. መፍትሄው ደህንነቱ ከተጠበቀው መተግበሪያ የተገለሉ የTFM አስተማማኝ አገልግሎቶችን ይሰጣል። በአሂድ ጊዜ ደህንነቱ ያልተጠበቀ መተግበሪያ አሁንም ይህንን መፍትሄ ሊጠቀም ይችላል።
RF መተግበሪያዎች
የ RF አፕሊኬሽኑ በዚህ የመተግበሪያ ማስታወሻ ውስጥ ተገልጿል፡ ገመድ አልባ አፕሊኬሽኖችን በSTM32WBA ተከታታይ ማይክሮ መቆጣጠሪያ (AN5928) መገንባት።
የSTM32CubeWBA ልቀት ዝመናዎችን በማግኘት ላይ
የቅርብ ጊዜው የSTM32CubeWBA MCU ጥቅል ልቀቶች እና መጠገኛዎች ከSTM32WBA ተከታታይ ይገኛሉ። በSTM32CubeMX ውስጥ ካለው ቼክ FOR UPDATE አዝራር ሊወጡ ይችላሉ። ለተጨማሪ ዝርዝሮች የተጠቃሚው መመሪያ STM3CubeMX ለ STM32 ውቅር እና ማስጀመሪያ C ኮድ ማመንጨት (UM32) ክፍል 1718 ይመልከቱ።
የሚጠየቁ ጥያቄዎች
- ከኤልኤል ሾፌሮች ይልቅ HAL መቼ መጠቀም አለብኝ?
- የ HAL አሽከርካሪዎች ከፍተኛ ደረጃ ያላቸው እና የተግባር-ተኮር ኤፒአይዎችን ያቀርባሉ፣ ከፍተኛ የመንቀሳቀስ ችሎታ አላቸው። የምርት ወይም የዳርቻ ውስብስብነት ለዋና ተጠቃሚዎች ተደብቋል።
- የኤልኤል አሽከርካሪዎች ዝቅተኛ-ንብርብር መመዝገቢያ ደረጃ ኤፒአይዎችን ያቀርባሉ፣ በተሻለ ማመቻቸት ግን አነስተኛ ተንቀሳቃሽ። ስለ ምርት ወይም የአይፒ ዝርዝሮች ጥልቅ እውቀት ያስፈልጋቸዋል።
- የ HAL እና ኤልኤል ነጂዎችን አንድ ላይ መጠቀም እችላለሁ? ከቻልኩ ገደቦች ምንድን ናቸው?
- ሁለቱንም HAL እና LL ሾፌሮችን መጠቀም ይቻላል. ለ IP ማስጀመሪያ ደረጃ HAL ይጠቀሙ እና ከዚያ የ I/O ስራዎችን ከኤልኤል ነጂዎች ጋር ያስተዳድሩ።
- በ HAL እና ኤልኤል መካከል ያለው ዋና ልዩነት የ HAL አሽከርካሪዎች ለኦፕሬሽን ማኔጅመንት እጀታዎችን መፍጠር እና መጠቀም ሲፈልጉ የኤልኤል አሽከርካሪዎች በቀጥታ በፔሪፈራል መዝገቦች ላይ ይሰራሉ። ዘፀamples_MIX example HAL እና LLን እንዴት መቀላቀል እንደሚቻል ያሳያል።
- የኤልኤል ማስጀመሪያ ኤፒአይዎች እንዴት ይነቃሉ?
- የኤልኤል ማስጀመሪያ ኤፒአይዎች እና ተያያዥ ግብአቶች (መዋቅሮች፣ ቃል በቃል እና ፕሮቶታይፕ) ፍቺ በUSE_FULL_LL_DRIVER ማቀናበሪያ ማብሪያ / ማጥፊያ ነው።
- የኤልኤል ማስጀመሪያ ኤፒአይዎችን ለመጠቀም፣ ይህን ማብሪያ በመሳሪያ ሰንሰለት ማቀናበሪያ ፕሪፕሮሰሰር ውስጥ ይጨምሩ።
- STM32CubeMX በተከተተ ሶፍትዌር ላይ የተመሰረተ ኮድ እንዴት ማመንጨት ይችላል?
STM32CubeMX ለተጠቃሚው ግራፊክ ውክልና ለማቅረብ እና *.h ወይም *.c ለማመንጨት የሚያስችል የ STM32 ማይክሮ መቆጣጠሪያ ውስጠ-ግንቡ እውቀት አለው። 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 ተከታታይ መጀመር፣ መጀመር፣ መጀመር |