STMicroelectronics STM32U0 श्रृंखला मूल पहल डिजाइनर उत्पादकता सुधार

निर्दिष्टीकरणहरू
- उत्पादन नाम: STM32CubeU0
- अनुकूलता: STM32U0 श्रृंखला माइक्रोकन्ट्रोलरहरू
- विशेषताहरु: RTOS, USB उपकरण स्ट्याक, File प्रणाली, फ्ल्यास मेमोरी अनुवाद तह, मिडलवेयर कम्पोनेन्टहरू
- इजाजतपत्र: खुला स्रोत BSD लाइसेन्स
उत्पादन उपयोग निर्देशन
माथिview STM32CubeU0 को
STM32CubeU0 एक व्यापक प्याकेज हो जसमा STM32U0 श्रृंखला माइक्रोकन्ट्रोलरहरूमा अनुप्रयोगहरू विकास गर्नका लागि इम्बेडेड सफ्टवेयर कम्पोनेन्टहरू समावेश छन्। यो अत्यधिक पोर्टेबल र अन्य STM32 श्रृंखला संग उपयुक्त छ।
मुख्य विशेषताहरु
प्याकेजमा लो-लेयर (LL) र हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL) API हरू समावेश छन् माइक्रोकन्ट्रोलर हार्डवेयर, पूर्वको विस्तृत सेट सहितampलेस। यसमा एकीकृत RTOS, USB डिभाइस स्ट्याक, file प्रणाली समर्थन, र विभिन्न पुस्तकालयहरू।
वास्तुकला समाप्तview
वास्तुकला तीन तहको वरिपरि बनाइएको छ - स्तर 0 (HAL र आधारभूत परिधीय पूर्वamples), स्तर 1 (अनुप्रयोग र पुस्तकालयहरू), र स्तर 2 (मूल्याङ्कन बोर्ड र प्रदर्शनहरू)।
हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL)
- BSP चालकहरू: LCD, जोइस्टिक, आदि जस्ता बोर्डहरूमा हार्डवेयर कम्पोनेन्टहरूका लागि API प्रदान गर्नुहोस्।
- तल्लो तह (LL): आधारभूत परिधीय उपयोग पूर्व प्रदान गर्दछamples र HAL कोर ड्राइभरहरू।
बोर्ड समर्थन प्याकेज (BSP)
यो तहले बोर्डमा बाहिरी यन्त्रहरूका लागि ड्राइभरहरू समावेश गर्दछ र BSP ड्राइभर बाह्य घटकहरूको लागि API प्रदान गर्दछ जुन विभिन्न बोर्डहरूमा पोर्टेबल हुन सक्छ।
परिचय
STM32Cube एक STMicroelectronics मौलिक पहल हो जसले विकास प्रयास, समय र लागत घटाएर डिजाइनर उत्पादकतामा उल्लेखनीय सुधार गर्छ। STM32Cube ले सम्पूर्ण STM32 पोर्टफोलियोलाई समेट्छ।
STM32Cube समावेश छ
- अवधारणा देखि प्राप्ति सम्म परियोजना विकास कभर गर्न प्रयोगकर्ता-अनुकूल सफ्टवेयर विकास उपकरणहरूको एक सेट, जसमध्ये:
- STM32CubeMX, ग्राफिकल सफ्टवेयर कन्फिगरेसन उपकरण जसले ग्राफिकल विजार्डहरू प्रयोग गरेर C प्रारम्भिक कोडको स्वचालित उत्पादनलाई अनुमति दिन्छ।
- STM32CubeIDE, परिधीय कन्फिगरेसन, कोड जेनेरेसन, कोड कम्पाइलेशन, र डिबग सुविधाहरूको साथ एक सबै-मा-एक विकास उपकरण।
- STM32CubeCLT, कोड संकलन, बोर्ड प्रोग्रामिङ, र डिबग सुविधाहरूको साथ एक सबै-इन-वन आदेश-लाइन विकास उपकरणसेट
- STM32CubeProgrammer (STM32CubeProg), ग्राफिकल र कमाण्ड-लाइन संस्करणहरूमा उपलब्ध प्रोग्रामिङ उपकरण
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), वास्तविक समयमा STM32 अनुप्रयोगहरूको व्यवहार र प्रदर्शनलाई राम्रो बनाउन शक्तिशाली निगरानी उपकरणहरू।
- STM32Cube MCU र MPU प्याकेजहरू, प्रत्येक माइक्रोकन्ट्रोलर र माइक्रोप्रोसेसर श्रृंखला (जस्तै STM32U0 श्रृंखलाको लागि STM32CubeU0) को लागि विशिष्ट एम्बेडेड-सफ्टवेयर प्लेटफर्महरू, जसमा समावेश छन्:
- STM32Cube हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL), STM32 पोर्टफोलियोमा अधिकतम पोर्टेबिलिटी सुनिश्चित गर्दै
- STM32Cube कम-तह APIs, हार्डवेयरमा प्रयोगकर्ता नियन्त्रणको उच्च डिग्रीको साथ उत्कृष्ट प्रदर्शन र पदचिह्न सुनिश्चित गर्नुहोस्।
- मिडलवेयर कम्पोनेन्टहरूको एक सुसंगत सेट जस्तै ThreadX, FileX / LevelX, USBX, टच लाइब्रेरी, एम्बेड-क्रिप्टो, MCUboot, र OpenBL
- सबै एम्बेडेड सफ्टवेयर उपयोगिताहरू परिधीय र एप्लिकेटिभ पूर्वको पूर्ण सेटहरू सहितampलेस
- STM32Cube विस्तार प्याकेजहरू, जसमा एम्बेडेड सफ्टवेयर कम्पोनेन्टहरू छन् जसले STM32Cube MCU र MPU प्याकेजहरूको कार्यक्षमतालाई पूरक बनाउँछ:
- मिडलवेयर विस्तार र आवेदन तहहरू
- Exampकेही विशिष्ट STMicroelectronics विकास बोर्डहरूमा चलिरहेको छ
यो प्रयोगकर्ता पुस्तिकाले STM32CubeU0 MCU प्याकेजको साथ कसरी सुरु गर्ने भनेर वर्णन गर्दछ।
खण्ड २ ले STM2CubeU32 MCU प्याकेजको मुख्य विशेषताहरू वर्णन गर्दछ।
खण्ड 3 र खण्ड 4 एक ओभर प्रदान गर्दछview STM32CubeU0 वास्तुकला र MCU प्याकेज संरचनाको।
सामान्य जानकारी
नोट
- STM32CubeU0 अनुप्रयोग आर्म® Cortex®-M प्रोसेसरमा आधारित STM32U0 श्रृंखला 32-बिट माइक्रोकन्ट्रोलरहरूमा चल्छ।
- आर्म अमेरिका र/वा अन्यत्र आर्म लिमिटेड (वा यसको सहायक) को एक पंजीकृत ट्रेडमार्क हो।
STM32CubeU0 मुख्य सुविधाहरू
STM32CubeU0 एउटै प्याकेजमा, STM32U0 श्रृंखला माइक्रोकन्ट्रोलरहरूको लागि अनुप्रयोग विकास गर्न आवश्यक सबै जेनेरिक इम्बेडेड सफ्टवेयर कम्पोनेन्टहरू जम्मा गर्दछ। STM32Cube पहलको अनुरूप, कम्पोनेन्टहरूको यो सेट STM32U0 शृङ्खलाका माइक्रोकन्ट्रोलरहरूमा मात्र होइन अन्य STM32 शृङ्खलाहरूमा पनि उच्च पोर्टेबल छ।
STM32CubeU0 प्रारम्भिक कोड उत्पन्न गर्न STM32CubeMX कोड जनरेटरसँग पूर्ण रूपमा उपयुक्त छ। प्याकेजले लो-लेयर (LL) र हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL) API हरू समावेश गर्दछ जसले माइक्रोकन्ट्रोलर हार्डवेयर कभर गर्दछ, सँगै पूर्वको विस्तृत सेटampSTMicroelectronics बोर्डहरूमा चलिरहेको छ। HAL र LL API हरू प्रयोगकर्ताको सुविधाको लागि खुला स्रोत BSD लाइसेन्समा उपलब्ध छन्।
STM32CubeU0 MCU प्याकेजले Microsoft® Azure® RTOS मिडलवेयर र अन्य इन-हाउस र ओपन-सोर्स स्ट्याकहरू वरपर निर्माण गरिएको एक व्यापक मिडलवेयर कम्पोनेन्ट पनि समावेश गर्दछ।ampलेस।
तिनीहरू नि: शुल्क प्रयोगकर्ता-अनुकूल इजाजतपत्र सर्तहरूसँग आउँछन्:
- एकीकृत र पूर्ण-विशेष RTOS: ThreadX
- FreeRTOS™ खुला स्रोत समाधानको साथ CMSIS-RTOS कार्यान्वयन
- ThreadX सँग CMSIS-RTOS कार्यान्वयन
- USB यन्त्र स्ट्याकहरू धेरै वर्गहरूसँग आउँछन्: USBX
- उन्नत file प्रणाली र फ्ल्यास मेमोरी अनुवाद तह: FileX/LevelX
- OpenBootloader (OpenBL)
- MCUबुट
- mbed-क्रिप्टो पुस्तकालयहरू
- STM32_Touch पुस्तकालय
यी सबै मिडलवेयर कम्पोनेन्टहरू कार्यान्वयन गर्ने धेरै अनुप्रयोगहरू र प्रदर्शनहरू पनि STM32CubeU0 MCU प्याकेजमा प्रदान गरिएका छन्।
चित्र 1 ले STM32CubeU0 MCU प्याकेज कम्पोनेन्ट लेआउटलाई चित्रण गर्दछ।

STM32CubeU0 वास्तुकला समाप्तview
- STM32CubeU0 MCU प्याकेज समाधान चित्र 2 मा वर्णन गरिए अनुसार सजिलै अन्तरक्रिया गर्ने तीन स्वतन्त्र स्तरहरू वरिपरि बनाइएको छ।

स्तर ४
यो स्तर तीन sublayers मा विभाजित छ:
- बोर्ड समर्थन प्याकेज (BSP)
- हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL)
- HAL परिधीय चालकहरू
- कम तह चालकहरू
- आधारभूत परिधीय उपयोग पूर्वampलेस
बोर्ड समर्थन प्याकेज (BSP)
यो तहले हार्डवेयर बोर्डहरू (जस्तै LCD, जोइस्टिक, र तापमान सेन्सर) मा हार्डवेयर कम्पोनेन्टहरू सापेक्ष API को सेट प्रदान गर्दछ। यो दुई भागहरु मिलेर बनेको छ:
- कम्पोनेन्ट
- यो बोर्डमा बाहिरी यन्त्रसँग सम्बन्धित चालक हो र STM32 उपकरण होइन। कम्पोनेन्ट ड्राइभरले BSP ड्राइभरको बाह्य कम्पोनेन्टहरूमा विशिष्ट API हरू प्रदान गर्दछ र क्याब कुनै पनि अन्य बोर्डमा पोर्टेबल हुन सक्छ।
- बसपा चालक
- यसले कम्पोनेन्ट ड्राइभरहरूलाई निर्दिष्ट बोर्डमा लिङ्क गर्न अनुमति दिन्छ र प्रयोगकर्ता-अनुकूल API को सेट प्रदान गर्दछ। API नामकरण नियम BSP_FUNCT_Action() हो।
- Example: BSP_LED_Init(), BSP_LED_On()
BSP एक मोड्युलर आर्किटेक्चरमा आधारित छ जसले निम्न-स्तरको दिनचर्याहरू लागू गरेर कुनै पनि प्रकारको हार्डवेयरमा सजिलै पोर्ट गर्न अनुमति दिन्छ।
हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL) र लो-लेयर (LL)
STM32CubeU0 HAL र LL पूरक हुन् र आवेदन आवश्यकताहरूको विस्तृत दायरालाई कभर गर्दछ:
- HAL ड्राइभरहरूले उच्च-स्तर प्रकार्य-उन्मुख उच्च पोर्टेबल API हरू प्रस्ताव गर्छन्। तिनीहरूले अन्त प्रयोगकर्ताबाट MCU र परिधीय जटिलता लुकाउँछन्।
- HAL ड्राइभरहरूले जेनेरिक मल्टि-इन्स्टेन्स सुविधा-उन्मुख API हरू उपलब्ध गराउँछन् जसले प्रयोग गर्न तयार प्रक्रियाहरू प्रदान गरेर प्रयोगकर्ता अनुप्रयोग कार्यान्वयनलाई सरल बनाउँछ। पूर्वका लागिample, संचार परिधीयहरू (I2S, UART, र अन्य) को लागि, यसले परिधीयको प्रारम्भिककरण र कन्फिगरेसन, मतदान, अवरोध, वा DMA प्रक्रियामा आधारित डाटा स्थानान्तरण प्रबन्ध गर्न, र संचारको क्रममा उत्पन्न हुन सक्ने सञ्चार त्रुटिहरू ह्यान्डल गर्न अनुमति दिने APIs प्रदान गर्दछ। HAL ड्राइभर API हरू दुई कोटिहरूमा विभाजित छन्:
- जेनेरिक API हरू जसले सबै STM32 शृङ्खलाहरूमा सामान्य र सामान्य कार्यहरू प्रदान गर्दछ।
- एक्स्टेन्सन API हरू जसले विशेष परिवार वा विशेष भाग नम्बरको लागि विशिष्ट र अनुकूलित कार्यहरू प्रदान गर्दछ।
- कम-तह API हरू दर्ता स्तरमा कम-स्तर API हरू प्रदान गर्दछ, राम्रो अनुकूलन तर कम पोर्टेबिलिटीको साथ। तिनीहरूलाई MCU र परिधीय विशिष्टताहरूको गहिरो ज्ञान चाहिन्छ।
- LL ड्राइभरहरू HAL भन्दा हार्डवेयरको नजिक रहेको छिटो हल्का तौल विशेषज्ञ-उन्मुख तह प्रस्ताव गर्न डिजाइन गरिएको हो। HAL को विपरित, LL API हरू बाह्य उपकरणहरूका लागि प्रदान गरिएको छैन जहाँ अनुकूलित पहुँच मुख्य विशेषता होइन, वा भारी सफ्टवेयर कन्फिगरेसन र/वा जटिल माथिल्लो-स्तर स्ट्याक आवश्यक पर्नेहरूका लागि। LL ड्राइभरहरू सुविधाहरू:
- डेटा संरचनाहरूमा निर्दिष्ट प्यारामिटरहरू अनुसार परिधीय मुख्य सुविधाहरू प्रारम्भ गर्न कार्यहरूको सेट।
- प्रत्येक फिल्डसँग सम्बन्धित रिसेट मानहरूसँग प्रारम्भिक डेटा संरचनाहरू भर्न प्रयोग गरिने कार्यहरूको सेट।
- परिधीय डि-इनिशियलाइजेसनको लागि एक प्रकार्य (परिधीय दर्ताहरू तिनीहरूको पूर्वनिर्धारित मानहरूमा पुनर्स्थापित गरियो)।
- प्रत्यक्ष र परमाणु दर्ता पहुँचको लागि इनलाइन प्रकार्यहरूको सेट।
- HAL बाट पूर्ण स्वतन्त्रता र स्ट्यान्डअलोन मोडमा प्रयोग गर्ने क्षमता (HAL ड्राइभरहरू बिना)।
- समर्थित परिधीय सुविधाहरूको पूर्ण कभरेज।
आधारभूत परिधीय उपयोग पूर्वampलेस
यो तहले पूर्वलाई घेर्छampलेस केवल HAL र BSP स्रोतहरू प्रयोग गरेर STM32 बाह्य उपकरणहरूमा निर्मित।
स्तर ४
यो स्तर दुई sublayers मा विभाजित छ:
- मिडलवेयर कम्पोनेन्टहरू
- Exampमिडलवेयर कम्पोनेन्टहरूमा आधारित
मिडलवेयर कम्पोनेन्टहरू
मिडलवेयर भनेको Microsoft® Azure® RTOS मिडलवेयर र अन्य इन-हाउस (जस्तै OpenBL) र खुला स्रोत (जस्तै mbed-crypto) पुस्तकालयहरूको वरिपरि निर्माण गरिएका पुस्तकालयहरूको सेट हो। सबै STM32 MCU यन्त्रहरूका लागि एकीकृत र अनुकूलित छन् र सम्बन्धित अनुप्रयोग पूर्वसँग समृद्ध छन्।ampप्रचार बोर्डहरूमा आधारित। यस तहका कम्पोनेन्टहरू बीचको क्षैतिज अन्तरक्रियाहरू सुविधा API लाई कल गरेर गरिन्छ जबकि कम-तह ड्राइभरहरूसँग ठाडो अन्तरक्रियाहरू पुस्तकालय प्रणाली कल इन्टरफेसमा लागू गरिएका विशिष्ट कलब्याकहरू र स्थिर म्याक्रोहरू मार्फत गरिन्छ।
प्रत्येक मिडलवेयर कम्पोनेन्टका मुख्य विशेषताहरू निम्नानुसार छन्:
- ThreadX:
एम्बेडेड प्रणालीहरूको लागि डिजाइन गरिएको वास्तविक-समय अपरेटिङ सिस्टम (RTOS), दुई कार्यात्मक मोडहरू सहित:- साझा मोड: सामान्य RTOS कार्यक्षमताहरू, जस्तै थ्रेड व्यवस्थापन र सिङ्क्रोनाइजेसन, मेमोरी पूल व्यवस्थापन, सन्देश, र घटना ह्यान्डलिंग।
- मोड्युल मोड: एक उन्नत उपयोग मोड जसले एक मोड्युल प्रबन्धक मार्फत पूर्व-लिङ्क गरिएको ThreadX मोड्युलहरूको अन-द-फ्लाइ लोडिङ र अनलोड गर्न अनुमति दिन्छ।
- FileX / LevelX:
- उन्नत फ्लैश file प्रणाली (FS) / फ्लैश अनुवाद तह (FTL): पूर्ण रूपमा NAND/NOR फ्ल्यास सम्झनाहरूलाई समर्थन गर्न विशेष गरीएको।
- USBX:
- USB यन्त्र स्ट्याक धेरै कक्षाहरू (USB Type-C®) सँग आउँदैछ।
- OpenBootloader:
यो मिडलवेयर कम्पोनेन्टले STM32 प्रणाली बुटलोडरको रूपमा ठ्याक्कै उही सुविधाहरू र उपकरणहरूसँग खुला स्रोत बुटलोडर प्रदान गर्दछ। - STM32 टच सेन्सिङ लाइब्रेरी:
टच सेन्सिङ कन्ट्रोलर पेरिफेरल (TSC) सँग टच सेन्सरहरूलाई समर्थन गर्न प्रयोग गरिने सफ्टवेयर लाइब्रेरी। - MCUboot।
- mbed-क्रिप्टो:
एउटा खुला स्रोत क्रिप्टोग्राफी पुस्तकालय जसले क्रिप्टोग्राफिक कार्यहरूको विस्तृत दायरालाई समर्थन गर्दछ, जसमा:- कुञ्जी व्यवस्थापन।
- ह्यासिङ।
- सममित क्रिप्टोग्राफी।
- असममित क्रिप्टोग्राफी।
- सन्देश प्रमाणीकरण (MAC)।
- कुञ्जी उत्पादन र व्युत्पन्न।
- सम्बन्धित डाटा (AEAD) संग प्रमाणीकृत इन्क्रिप्सन।
Exampमिडलवेयर कम्पोनेन्टहरूमा आधारित
प्रत्येक मिडलवेयर कम्पोनेन्ट एक वा बढी पूर्वको साथ आउँछampलेस (एप्लिकेशनहरू पनि भनिन्छ) यसलाई कसरी प्रयोग गर्ने भनेर देखाउँदै। एकीकरण पूर्वampधेरै मिडलवेयर कम्पोनेन्टहरू प्रयोग गर्ने लेस पनि प्रदान गरिन्छ।
स्तर ४
यो स्तर एकल तहबाट बनेको छ जसमा विश्वव्यापी वास्तविक-समय र मिडलवेयर सेवा तह, निम्न-स्तर एब्स्ट्र्यासन तह, र बोर्ड-आधारित सुविधाहरूको लागि आधारभूत परिधीय उपयोग अनुप्रयोगहरूमा आधारित ग्राफिकल प्रदर्शन समावेश छ।
STM32CubeU0 श्रृंखला यन्त्रहरू र हार्डवेयर समर्थित
- STM32Cube ले जेनेरिक आर्किटेक्चरको वरिपरि निर्मित उच्च पोर्टेबल हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL) प्रदान गर्दछ। यसले बिल्ड-अप-लेयर सिद्धान्तलाई अनुमति दिन्छ, जस्तै MCU के प्रयोग गरिन्छ भन्ने थाहा नपाई तिनीहरूको कार्यहरू कार्यान्वयन गर्न मिडलवेयर तह प्रयोग गर्ने। यसले पुस्तकालय कोडको पुन: प्रयोज्यता सुधार गर्छ र अन्य उपकरणहरूमा सजिलो पोर्टेबिलिटी सुनिश्चित गर्दछ।
- थप रूपमा, यसको स्तरित वास्तुकलाको कारण, STM32CubeU0 ले सबै STM32U0 श्रृंखला उपकरणहरूको पूर्ण समर्थन प्रदान गर्दछ।
- प्रयोगकर्ताले मात्र stm32u0xx.h मा सही म्याक्रो परिभाषित गर्नुपर्छ।
- तालिका 1 ले प्रयोग गरिएको STM32U0 श्रृंखला यन्त्रमा निर्भर गर्दै कुन म्याक्रो परिभाषित गर्ने देखाउँछ। यो म्याक्रो पनि कम्पाइलर प्रिप्रोसेसर मा परिभाषित हुनुपर्छ।
तालिका 1. STM32CubeU0 को लागि म्याक्रो
| म्याक्रो मा परिभाषित stm32u0xx.h | STM32U0 उपकरणहरू |
| STM32U031x4 | STM32U031F4, STM32U031K4 |
| STM32U031x6 | STM32U031F6, STM32U031K6, STM32U031C6, STM32U031R6, STM32U031G6 |
| STM32U031x8 | STM32U031F8, STM32U031K8, STM32U031C8, STM32U031R8, STM32U031G8 |
| STM32U073x8 | STM32U073K8, STM32U073H8, STM32U073C8, STM32U073R8, STM32U073M8 |
| STM32U073xB | STM32U073KB, STM32U073HB, STM32U073CB, STM32U073RB, STM32U073MB |
| STM32U073xC | STM32U073KC, STM32U073HC, STM32U073CC, STM32U073RC, STM32U073MC |
| STM32U083xC | STM32U083KC, STM32U083HC, STM32U083CC, STM32U083RC, STM32U083MC |
STM32CubeU0 ले एक्सको रिच सेट फिचर गर्दछampसबै स्तरहरूमा les र अनुप्रयोगहरू, कुनै पनि HAL ड्राइभर र/वा मिडलवेयर कम्पोनेन्टहरू बुझ्न र प्रयोग गर्न सजिलो बनाउँदै। यी पूर्वampलेस तालिका २ मा सूचीबद्ध STMicroelectronics बोर्डहरूमा चल्छ।
तालिका 2. STM32CubeU0 श्रृंखलाका लागि बोर्डहरू
| बोर्ड | समर्थित STM32CubeU0 उपकरणहरू |
| NUCLEO-U031R8 | STM32U031xx |
| NUCLEO-U083RC | STM32U073xx, STM32U083xx |
| STM32U083C-DK | STM332U073xx, STM32U083xx |
STM32CubeU0 MCU प्याकेज सबै मिल्दो हार्डवेयरमा चल्न सक्छ। प्रयोगकर्ताले प्रदान गरिएको पूर्व पोर्ट गर्न BSP ड्राइभरहरू अद्यावधिक गर्दछamples तिनीहरूको आफ्नै बोर्डमा यदि पछिल्लोसँग समान हार्डवेयर सुविधाहरू छन् (जस्तै LED, LCD, र बटनहरू)।
MCU प्याकेज सकियोview
STM32CubeU0 MCU प्याकेज समाधान एउटै जिप प्याकेजमा प्रदान गरिएको छ, संरचना चित्र 3 मा देखाइएको छ।
चित्र 3. STM32CubeU0 MCU प्याकेज संरचना

प्रत्येक बोर्डको लागि, पूर्व को एक सेटampलेसलाई EWARM, MDK-ARM, र STM32CubeIDE टूलचेनका लागि पूर्व कन्फिगर गरिएका परियोजनाहरू प्रदान गरिएको छ।
चित्र 4 ले STM32U0xx_Nucleo बोर्डको लागि परियोजना संरचना देखाउँछ।

पूर्वamples तिनीहरू लागू हुने STM32Cube स्तर अनुसार वर्गीकृत छन्, र तल व्याख्या गरिए अनुसार नाम दिइएको छ:
- स्तर ० पूर्वampलेस भनिन्छ "पूर्वampलेस", "पूर्वamples_LL", र "पूर्वamples_MIX"। तिनीहरूले क्रमशः HAL ड्राइभरहरू, LL ड्राइभरहरू, र HAL र LL ड्राइभरहरूको मिश्रण कुनै पनि मिडलवेयर कम्पोनेन्टहरू बिना प्रयोग गर्छन्।
- स्तर ० पूर्वamples लाई एप्लिकेसन भनिन्छ। तिनीहरूले प्रत्येक मिडलवेयर कम्पोनेन्टको सामान्य प्रयोग केसहरू प्रदान गर्छन्।
दिइएको बोर्डको लागि कुनै पनि फर्मवेयर अनुप्रयोग Templates र Templates_LL डाइरेक्टरीहरूमा उपलब्ध टेम्प्लेट परियोजनाहरू प्रयोग गरेर द्रुत रूपमा निर्माण गर्न सकिन्छ।
सबै पूर्वampलेसको एउटै संरचना छ:
- एक \Inc फोल्डर, सबै हेडर समावेश files.
- स्रोत कोडको लागि \Src फोल्डर।
- \EWARM, \MDK-ARM, र \STM32CubeIDE फोल्डरहरू, प्रत्येक टूलचेनको लागि पूर्व-कन्फिगर गरिएको परियोजना समावेश।
- एक readme.txt file पूर्व वर्णन गर्दैampले व्यवहार र वातावरण आवश्यकताहरु यसलाई काम गर्न।
- एक *.ioc file, प्रयोगकर्ताहरूलाई धेरै फर्मवेयर पूर्व खोल्न अनुमति दिँदैamples STM32CubeMX भित्र (STM32CubeMX 6.11 बाट सुरु हुँदै)।
तालिका ३. पूर्वको संख्याampप्रत्येक बोर्ड को लागी
| स्तर | NUCLEO-U031R8 | NUCLEO-U083RC | STM32U083C-DK | कुल |
| अनुप्रयोगहरू | 2 | 8 | 9 | 19 |
| प्रदर्शन | 0 | 0 | 1 | 1 |
| Exampलेस | 28 | 104 | 30 | 162 |
| Examples_LL | 3 | 78 | 1 | 82 |
| Examples_MIX | 0 | 14 | 0 | 14 |
| टेम्प्लेटहरू | 1 | 1 | 1 | 3 |
| टेम्प्लेट_LL | 1 | 1 | 1 | 3 |
| कुल परियोजनाहरू | 35 | 206 | 43 | 284 |
माथिको तालिका ३ मा देखाइए अनुसार, STM3CubeU32 प्याकेजले 0 ex समावेश गर्दछampलेस 3 बोर्डहरूमा पठाइयो, जसमध्ये 193 अद्वितीय पूर्व हुन्ampलेस।
STM32CubeU0 को साथ सुरु गर्दै
पहिलो पूर्व चलिरहेको छample
यो खण्डले पहिलो एक्स कसरी चलाउने भनेर बताउँछampLED लाई NUCLEO-U32RC बोर्डमा टगल गर्दै STM0U083 श्रृंखला बोर्डमा।
नोट
- STM32CubeU0 MCU प्याकेज डाउनलोड गर्नुहोस् र चित्र 3 मा देखाइए अनुसार प्याकेज संरचना परिमार्जन नगरी यसलाई छुट्टै डाइरेक्टरीमा अनजिप गर्नुहोस्। प्याकेजलाई जति सक्दो मूल भोल्युमको नजिक प्रतिलिपि गर्नुहोस् (पूर्वको लागि।ample C:\Eval वा G:\Tests) किनभने पथ लम्बाइ धेरै लामो हुँदा केही IDE ले समस्याहरू सामना गर्न सक्छन्।
- \Projects\NUCLEO-U083RC\Ex मा ब्राउज गर्नुहोस्ampलेस।
- खोल्नुहोस् \GPIO, त्यसपछि \GPIO_EXTI फोल्डरहरू।
- रुचाइएको टूलचेनको साथ परियोजना खोल्नुहोस्। एक छिटो समाप्तview कसरी खोल्ने, निर्माण गर्ने र पूर्व चलाउने बारेampसमर्थित टूलचेन्सको साथ le तल दिइएको छ।
- सबै पुनर्निर्माण गर्नुहोस् files र लक्ष्य मेमोरीमा छवि लोड गर्नुहोस्।
- पूर्व चलाउनुहोस्ample: प्रत्येक पटक USER पुसबटन थिच्दा, LED1 टगल हुन्छ (थप विवरणहरूको लागि, पूर्व सन्दर्भ गर्नुहोस्।ampमलाई पढ्नुहोस् file).
खोल्न, निर्माण गर्न र पूर्व चलाउनampसमर्थित टूलचेनहरूको साथमा, तलका चरणहरू पालना गर्नुहोस्।
EWARM
- पूर्वमा \EWARM सबफोल्डर खोल्नुहोस्ampले फोल्डर।
- Project.eww कार्यस्थान सुरु गर्नुहोस्।
- कार्यस्थानको नाम एक पूर्व भन्दा फरक हुन सक्छampअर्कोलाई।
नोट
- सबै पुनर्निर्माण गर्नुहोस् files: [परियोजना]>[सबै पुनर्निर्माण गर्नुहोस्]।
- परियोजना छवि लोड गर्नुहोस्: [परियोजना]>[डिबग]।
- कार्यक्रम चलाउनुहोस्: [डिबग]>[जानुहोस् (F5)]।
MDK-ARM:
- पूर्वमा \MDK-ARM सबफोल्डर खोल्नुहोस्ampले फोल्डर। परियोजना सुरु गर्नुहोस्। uvprojx कार्यस्थान।
- कार्यस्थानको नाम एक पूर्व भन्दा फरक हुन सक्छampअर्कोलाई।
- सबै पुनर्निर्माण गर्नुहोस् files: [परियोजना]>[सबै लक्ष्य पुन: निर्माण गर्नुहोस् files]।
- परियोजना छवि लोड गर्नुहोस्: [परियोजना]>[डिबग सत्र सुरु/रोक्नुहोस्]।
- कार्यक्रम चलाउनुहोस्: [डिबग]>[रन (F5)]।
STM32CubeIDE
- STM32CubeIDE टूलचेन खोल्नुहोस्।
- क्लिक गर्नुहोस् [File]>[कार्यस्थान स्विच गर्नुहोस्]>[अन्य] र STM32CubeIDE कार्यस्थान निर्देशिकामा ब्राउज गर्नुहोस्।
- क्लिक गर्नुहोस् [File]>[आयात गर्नुहोस्], चयन गर्नुहोस् [सामान्य]>[कार्यस्थानमा अवस्थित परियोजनाहरू] र [अर्को] क्लिक गर्नुहोस्।
- STM32CubeIDE कार्यस्थान डाइरेक्टरीमा ब्राउज गर्नुहोस् र परियोजना चयन गर्नुहोस्।
- सबै परियोजना पुनर्निर्माण गर्नुहोस् files: प्रोजेक्ट एक्सप्लोरर विन्डोमा परियोजना चयन गर्नुहोस्, त्यसपछि [प्रोजेक्ट]>[बिल्ड प्रोजेक्ट] मेनुमा क्लिक गर्नुहोस्।
- कार्यक्रम चलाउनुहोस्: [रन]>[डिबग (F11)]।
अनुकूलन अनुप्रयोग विकास गर्दै
अनुप्रयोग विकास वा अद्यावधिक गर्न STM32CubeMX प्रयोग गर्दै
STM32CubeU0 MCU प्याकेजमा, सबै पूर्वample परियोजनाहरू STM32CubeMX उपकरणसँग प्रणाली, परिधीय र मिडलवेयर सुरु गर्नका लागि उत्पन्न हुन्छन्।
अवस्थित पूर्व को प्रत्यक्ष प्रयोगampSTM32CubeMX उपकरणबाट le परियोजनालाई STM32CubeMX 6.11 वा उच्च चाहिन्छ।
- STM32CubeMX को स्थापना पछि, खोल्नुहोस् र आवश्यक भएमा, प्रस्तावित परियोजना अद्यावधिक गर्नुहोस्। अवस्थित परियोजना खोल्ने सबैभन्दा छिटो तरिका *.ioc मा डबल-क्लिक गर्नु हो file त्यसैले STM32CubeMX ले स्वतः परियोजना र यसको स्रोत खोल्छ files.
- यस्ता परियोजनाहरूको प्रारम्भिक स्रोत कोड STM32CubeMX द्वारा उत्पन्न हुन्छ; मुख्य एप्लिकेसन स्रोत कोड USER CODE BEGIN र USER CODE END को टिप्पणीहरू द्वारा निहित छ। यदि आईपी चयन र सेटिङहरू परिमार्जन गरिएको छ भने, STM32CubeMX ले कोडको प्रारम्भिक भाग अपडेट गर्दछ तर मुख्य अनुप्रयोग स्रोत कोड सुरक्षित गर्दछ।
STM32CubeMX मा अनुकूलन परियोजना विकास गर्न, यो चरण-दर-चरण प्रक्रिया पालना गर्नुहोस्:
- STM32 माइक्रोकन्ट्रोलर चयन गर्नुहोस् जुन बाह्य उपकरणहरूको आवश्यक सेटसँग मेल खान्छ।
- पिनआउट-कन्फ्लिक्ट सोल्भर, क्लक-ट्री-सेटिङ हेल्पर, पावर खपत क्याल्कुलेटर, र उपयोगिता-प्रदर्शन गर्ने MCU परिधीय कन्फिगरेसन (जस्तै GPIO वा USART) र मिडलवेयर स्ट्याकहरू (जस्तै USB) प्रयोग गरी आवश्यक इम्बेडेड सफ्टवेयर कन्फिगर गर्नुहोस्।
- चयन गरिएको कन्फिगरेसनमा आधारित प्रारम्भिक C कोड उत्पन्न गर्नुहोस्। यो कोड धेरै विकास वातावरण भित्र प्रयोग गर्न तयार छ। प्रयोगकर्ता कोड अर्को कोड जेनरेशनमा राखिएको छ।
STM32CubeMX बारे थप जानकारीको लागि, STM32 कन्फिगरेसन र प्रारम्भिक C कोड उत्पादन (UM32) को लागि प्रयोगकर्ता पुस्तिका STM1718CubeMX हेर्नुहोस्।
उपलब्ध पूर्वको सूचीको लागिampSTM32CubeU0 को लागि ले परियोजनाहरू, अनुप्रयोग नोटलाई सन्दर्भ गर्नुहोस् STM32Cube फर्मवेयर पूर्वampSTM32U0 श्रृंखला (AN6063) को लागी।
HAL आवेदन
यस खण्डले STM32CubeU0 प्रयोग गरेर अनुकूलन HAL अनुप्रयोग सिर्जना गर्न आवश्यक चरणहरू वर्णन गर्दछ।
- एउटा परियोजना बनाउनुहोस्
नयाँ परियोजना सिर्जना गर्न, कि त टेम्प्लेट परियोजनाबाट सुरु गर्नुहोस्, \Projects\ मा प्रत्येक बोर्डको लागि प्रदान गरिएको। टेम्प्लेटहरू, वा कुनै पनि उपलब्ध परियोजनाबाट \Projects\ \ उदाampलेस वा \ परियोजनाहरू \ \ अनुप्रयोगहरू (जहाँ बोर्डको नामलाई बुझाउँछ, जस्तै NUCLEO-U32RC)।
टेम्प्लेट परियोजनाले खाली मुख्य लुप प्रकार्य मात्र प्रदान गर्दछ, जुन STM32CubeU0 परियोजना सेटिङहरू बुझ्नको लागि राम्रो सुरुवात बिन्दु हो। टेम्प्लेटमा निम्न विशेषताहरू छन्:- यसले HAL स्रोत कोड र CMSIS, र BSP ड्राइभरहरू समावेश गर्दछ जसले दिइएको बोर्डमा कोड विकास गर्न आवश्यक पर्ने घटकहरूको न्यूनतम सेट बनाउँछ।
- यसले सबै फर्मवेयर कम्पोनेन्टहरूका लागि समावेश मार्गहरू समावेश गर्दछ।
- यसले CMSIS र HAL ड्राइभरहरूको कन्फिगरेसनलाई अनुमति दिँदै समर्थित STM32U0 श्रृंखला यन्त्रहरू परिभाषित गर्दछ।
- यो प्रयोग गर्न तयार प्रयोगकर्ता प्रदान गर्दछ fileतल देखाइए अनुसार पूर्व कन्फिगर गरिएको छ:
- HAL Arm® core SysTick को साथ पूर्वनिर्धारित समय आधारको साथ प्रारम्भ गरियो।
- HAL_Delay() उद्देश्यका लागि SysTick ISR लागू गरियो।
- अवस्थित परियोजनालाई अर्को स्थानमा प्रतिलिपि गर्दा, सबै समावेश मार्गहरू अद्यावधिक गरिएका छन् भनी सुनिश्चित गर्नुहोस्।
- परियोजनामा आवश्यक मिडलवेयर थप्नुहोस् (वैकल्पिक)
उपलब्ध मिडलवेयर स्ट्याकहरू USBX लाइब्रेरी, Azure® RTOS, टच सेन्सिङ हुन्। स्रोत पहिचान गर्न fileपरियोजनामा थपिनेछ file सूची, प्रत्येक मिडलवेयर कम्पोनेन्टका लागि उपलब्ध गराइएको कागजातलाई सन्दर्भ गर्नुहोस्। \Projects\STM32xxx_yyy\Applications\ मा रहेका अनुप्रयोगहरूलाई सन्दर्भ गर्नुहोस्। (कहाँ कुन स्रोत जान्नको लागि मध्यवर्ती स्ट्याक, जस्तै USBX) लाई जनाउँछ files र थप्नका लागि मार्गहरू समावेश गर्नुहोस्। - फर्मवेयर कम्पोनेन्टहरू कन्फिगर गर्नुहोस्
HAL र मिडलवेयर कम्पोनेन्टहरूले हेडरमा घोषित म्याक्रोहरू (#define) प्रयोग गरेर निर्माण-समय कन्फिगरेसन विकल्पहरूको सेट प्रस्ताव गर्छन्। file। टेम्प्लेट कन्फिगरेसन file परियोजना फोल्डर (सामान्यतया कन्फिगरेसन) मा प्रतिलिपि गर्नु पर्ने प्रत्येक घटक भित्र प्रदान गरिएको छ file xxx_conf_template.h नाम दिइएको छ, र शब्द
परियोजना फोल्डरमा प्रतिलिपि गर्दा "_template" हटाउन आवश्यक छ)। कन्फिगरेसन file प्रत्येक कन्फिगरेसन विकल्पको प्रभाव बुझ्न पर्याप्त जानकारी प्रदान गर्दछ। थप विस्तृत जानकारी प्रत्येक कम्पोनेन्टको लागि प्रदान गरिएको कागजातमा उपलब्ध छ। - HAL पुस्तकालय सुरु गर्नुहोस्
मुख्य कार्यक्रममा जम्प गरेपछि, अनुप्रयोग कोडले HAL लाइब्रेरी सुरु गर्न HAL_Init() API लाई कल गर्नुपर्छ, जसले निम्न कार्यहरू गर्दछ:- फ्ल्यास मेमोरी प्रिफेच र SysTick अवरोध प्राथमिकताको कन्फिगरेसन (stm3 2u0xx_hal_conf.h मा परिभाषित म्याक्रो मार्फत)।
- SysTick interrupt प्राथमिकता TICK_INT_PRIORITY मा प्रत्येक मिलिसेकेन्डमा अवरोध उत्पन्न गर्न SysTick को कन्फिगरेसन, stm32u0xx_hal_conf.h मा परिभाषित गरिएको छ, जुन MSI द्वारा क्लक गरिएको छ (यस s माtage, घडी अझै कन्फिगर गरिएको छैन र प्रणाली आन्तरिक 16 MHz MSI बाट चलिरहेको छ)।
- NVIC समूह प्राथमिकता ० मा सेट गर्दै।
- stm32u0xx_hal_msp.c प्रयोगकर्तामा परिभाषित HAL_MspInit() कलब्याक प्रकार्यलाई कल गर्दै file विश्वव्यापी निम्न-स्तर हार्डवेयर प्रारम्भिकरणहरू प्रदर्शन गर्न।
- प्रणाली घडी कन्फिगर गर्नुहोस्
प्रणाली घडी कन्फिगरेसन तल वर्णन गरिएका दुई API लाई कल गरेर गरिन्छ:
- HAL_RCC_OscConfig(): यो API ले आन्तरिक र/वा बाह्य ओसिलेटरहरू, साथै PLL स्रोत र कारकहरू कन्फिगर गर्दछ। प्रयोगकर्ताले एक वा सबै ओसिलेटरहरू कन्फिगर गर्न रोज्छ। यदि उच्च आवृत्तिमा प्रणाली चलाउन आवश्यक छैन भने तिनीहरूले PLL कन्फिगरेसन छोड्न सक्छन्।
- HAL_RCC_ClockConfig(): यो API ले प्रणाली घडी स्रोत, फ्ल्यास मेमोरी विलम्बता,
AHB प्रिस्कूलरहरू, र APB प्रिस्कूलरहरू।
परिधीय प्रारम्भ गर्नुहोस्- पहिले, निम्नानुसार अगाडि बढ्दै परिधीय HAL_PPP_MspInit प्रकार्य लेख्नुहोस्:
- परिधीय घडी सक्षम गर्नुहोस्।
- परिधीय GPIOs कन्फिगर गर्नुहोस्।
- DMA च्यानल कन्फिगर गर्नुहोस् र DMA अवरोध सक्षम गर्नुहोस् (यदि आवश्यक भएमा)।
- परिधीय अवरोध सक्षम गर्नुहोस् (यदि आवश्यक छ भने)।
- आवश्यक अवरोध ह्यान्डलरहरू (पेरिफेरल र DMA) कल गर्न stm32xxx_it.c सम्पादन गर्नुहोस्, आवश्यक भएमा।
- यदि परिधीय अवरोध वा DMA प्रयोग हुन गइरहेको छ भने प्रक्रिया पूरा कलब्याक प्रकार्यहरू लेख्नुहोस्।
- main.c मा, परिधीय ह्यान्डल संरचना सुरु गर्नुहोस्, त्यसपछि परिधीय सुरु गर्न HAL_PPP_Init() प्रकार्यलाई कल गर्नुहोस्।
- एउटा अनुप्रयोग विकास गर्नुहोस्
यसैमा एसtagई, प्रणाली तयार छ र प्रयोगकर्ता अनुप्रयोग कोड विकास सुरु गर्न सक्नुहुन्छ।- HAL ले परिधीय कन्फिगर गर्न सहज र प्रयोग गर्न तयार APIs प्रदान गर्दछ। यसले कुनै पनि आवेदन आवश्यकताहरू समायोजन गर्न मतदान, अवरोधहरू, र DMA प्रोग्रामिङ मोडेललाई समर्थन गर्दछ। प्रत्येक परिधीय कसरी प्रयोग गर्ने भन्ने बारे थप विवरणहरूको लागि, रिच एक्स सन्दर्भ गर्नुहोस्ampले सेट STM32CubeU0 MCU प्याकेजमा प्रदान गरिएको छ।
- यदि अनुप्रयोगले वास्तविक-समय अवरोधहरू छन् भने, STM32CubeU0 पूर्वको ठूलो सेट प्रदान गर्दछamples कसरी FreeRTOS™ प्रयोग गर्ने र यसलाई सबै मिडलवेयर स्ट्याकहरूसँग एकीकृत गर्ने देखाउँदै, यसलाई एउटा अनुप्रयोग विकासको लागि राम्रो सुरुवात बिन्दु बनाउँदै।
सावधानी
सावधानी: पूर्वनिर्धारित HAL कार्यान्वयनमा, SysTick टाइमरलाई टाइमबेसको रूपमा प्रयोग गरिन्छ; यसले नियमित समय अन्तरालहरूमा अवरोधहरू उत्पन्न गर्दछ। यदि HAL_Delay() लाई परिधीय ISR प्रक्रियाबाट कल गरिएको छ भने, SysTick interrupt को परिधीय अवरोध भन्दा उच्च प्राथमिकता (संख्यात्मक रूपमा कम) छ भनेर सुनिश्चित गर्नुहोस्। अन्यथा, कलर ISR प्रक्रिया अवरुद्ध छ। टाइमबेस कन्फिगरेसनलाई असर गर्ने कार्यहरूलाई प्रयोगकर्तामा अन्य कार्यान्वयनको अवस्थामा ओभरराइड सम्भव बनाउन __ कमजोर घोषित गरिन्छ। file (सामान्य-उद्देश्य टाइमर वा अन्य समय स्रोत प्रयोग गरेर)। थप विवरणहरूको लागि, HAL_TimeBase पूर्व सन्दर्भ गर्नुहोस्ample।
आवेदन
- यस खण्डले STM32CubeU0 प्रयोग गरेर आफू अनुकूल LL अनुप्रयोग सिर्जना गर्न आवश्यक चरणहरू वर्णन गर्दछ।
एउटा परियोजना बनाउनुहोस्
नयाँ परियोजना सिर्जना गर्न, कि त \Projects\ \Templates_LL मा प्रत्येक बोर्डको लागि प्रदान गरिएको Templates_LL परियोजनाबाट वा \Projects\ मा उपलब्ध कुनै पनि परियोजनाबाट सुरु गर्नुहोस्। \ उदाample s_LL ( बोर्डको नामलाई बुझाउँछ, जस्तै NUCLEO-U32RC)।
टेम्प्लेट परियोजनाले खाली मुख्य लुप प्रकार्य प्रदान गर्दछ, जुन STM32CubeU0 परियोजना सेटिङहरू बुझ्नको लागि राम्रो सुरुवात बिन्दु हो। टेम्प्लेटमा निम्न विशेषताहरू छन्:
- यसले LL र CMSIS ड्राइभरहरूको स्रोत कोडहरू समावेश गर्दछ जुन दिइएको बोर्डमा कोड विकास गर्न आवश्यक पर्ने घटकहरूको न्यूनतम सेट बनाउँछ।
- यसले सबै आवश्यक फर्मवेयर कम्पोनेन्टहरूका लागि समावेश मार्गहरू समावेश गर्दछ।
- यसले समर्थित STM32U0 श्रृंखला यन्त्र चयन गर्दछ र CMSIS र LL ड्राइभरहरूको सही कन्फिगरेसनलाई अनुमति दिन्छ।
- यो प्रयोग गर्न तयार प्रयोगकर्ता प्रदान गर्दछ files, जुन निम्नानुसार पूर्व कन्फिगर गरिएको छ:
- main.h: LED र USER_BUTTON परिभाषा अमूर्त तह।
- main.c: अधिकतम आवृत्तिको लागि प्रणाली घडी कन्फिगरेसन।
अवस्थित परियोजनालाई अर्को बोर्डमा पोर्ट गर्नुहोस्
- प्रत्येक बोर्डका लागि उपलब्ध गराइएको टेम्प्लेट_एलएल परियोजनाबाट सुरु गर्नुहोस्, \Projects\ मा उपलब्ध छ। \Templates_LL फोल्डर।
- एक LL पूर्व चयन गर्नुहोस्ample।
नोट: बोर्ड फेला पार्न जसमा एलएल पूर्वampलेस तैनाथ गरिएको छ, एलएल पूर्वको सूचीलाई सन्दर्भ गर्नुहोस्ampSTM32CubePro jectsList.html मा।
LL पूर्व पोर्ट गर्नुहोस्ample
- प्रारम्भिक स्रोत राख्नको लागि Templates_LL फोल्डर प्रतिलिपि/टाँस्नुहोस्, वा अवस्थित टेम्प्लेट es_LL परियोजनालाई सीधै अपडेट गर्नुहोस्।
- टेम्प्लेटहरू बदल्नुहोस्_LL fileपूर्व संग छamples_LL लक्षित परियोजना files.
- सबै बोर्ड-विशिष्ट भागहरू राख्नुहोस्। स्पष्टता कारणहरूका लागि, बोर्ड-विशिष्ट भागहरूलाई निम्न विशिष्टसँग फ्ल्याग गरिएको छ tags:

मुख्य पोर्टिङ चरणहरू निम्न हुन्:
- stm32u0xx_it.h लाई बदल्नुहोस् file.
- stm32u0xx_it.c बदल्नुहोस् file.
- main.h लाई बदल्नुहोस् file र यसलाई अपडेट गर्नुहोस्। LL टेम्प्लेटबाट LED र प्रयोगकर्ता बटन परिभाषालाई "बोर्ड विशिष्ट कन्फिगरेसन" अन्तर्गत राख्नुहोस्। tags.
- main.c लाई बदल्नुहोस् file र यसलाई अपडेट गर्नुहोस्:
- SystemClock_Config() LL टेम्प्लेट प्रकार्यको घडी कन्फिगरेसन अन्तर्गत राख्नुहोस्
"बोर्ड विशिष्ट कन्फिगरेसन" tags. - LED परिभाषाको आधारमा, प्रत्येक LEDx घटनालाई main.h मा उपलब्ध अर्को LEDy सँग बदल्नुहोस्। file.
यी परिमार्जनहरूसँग, पूर्वample अब लक्षित बोर्डमा चल्न सक्छ।
- SystemClock_Config() LL टेम्प्लेट प्रकार्यको घडी कन्फिगरेसन अन्तर्गत राख्नुहोस्
STM32CubeU0 रिलीज अद्यावधिकहरू प्राप्त गर्दै
STM32CubeU0 MCU प्याकेज अपडेटर उपयोगिता, STM32CubeUpdater, STM32CubeMX कोड जेनेरेशन उपकरण भित्र मेनुको रूपमा पनि उपलब्ध छ।
अपडेटर समाधानले नयाँ फर्मवेयर रिलीजहरू र प्याचहरू पत्ता लगाउँदछ र तिनीहरूलाई प्रयोगकर्ताको कम्प्युटरमा डाउनलोड गर्न प्रस्ताव गर्दछ।
STM32CubeUpdater कार्यक्रम स्थापना र चलाउँदै
STM32CubeUpdater स्थापना र चलाउन तलका चरणहरू पालना गर्नुहोस्।
- SetupSTM32CubeUpdater.exe मा डबल-क्लिक गर्नुहोस् file स्थापना सुरु गर्न।
- इजाजतपत्र सर्तहरू स्वीकार गर्नुहोस् र विभिन्न स्थापना चरणहरू पालना गर्नुहोस्।
- सफल स्थापना भएपछि, STM32CubeUpdater कार्यक्रममा STMicroelectronics कार्यक्रमको रूपमा उपलब्ध हुन्छ। Files फोल्डर र स्वचालित रूपमा सुरु हुन्छ। STM32CubeUpdater प्रतिमा प्रणाली ट्रेमा देखिन्छ।
- अपडेटरको आइकनमा दायाँ क्लिक गर्नुहोस् र अपडेटर जडान कन्फिगर गर्न र म्यानुअल वा स्वचालित जाँचहरू प्रदर्शन गर्नको लागि [अपडेटर सेटिङहरू] चयन गर्नुहोस्।
अपडेटर कन्फिगरेसनमा थप विवरणहरूको लागि, STM3 कन्फिगरेसन र प्रारम्भिक C कोड उत्पादन (UM32) को लागि प्रयोगकर्ता पुस्तिका STM32CubeMX को खण्ड 1718 हेर्नुहोस्।
FAQ
STM32CubeU0 MCU प्याकेजको लागि इजाजतपत्र योजना के हो?
HAL गैर-प्रतिबंधात्मक BSD (बर्कले सफ्टवेयर वितरण) लाइसेन्स अन्तर्गत वितरण गरिएको छ। STMicroelectronics (USB Device Librarys, STM32_TouchSensing) द्वारा बनाईएको मिडलवेयर स्ट्याकहरू STMicroelectronics यन्त्रमा चल्ने लाइसेन्सिङ मोडेलको साथ सजिलै पुन: प्रयोग गर्न अनुमति दिन्छ। प्रख्यात खुला स्रोत समाधानहरूमा आधारित मिडलवेयर कम्पोनेन्टहरू (FreeRTOS™ र FatFS) प्रयोगकर्ता-मैत्री इजाजतपत्र सर्तहरू छन्। थप विवरणहरूको लागि, सान्दर्भिक मिडलवेयर इजाजतपत्र सम्झौतालाई सन्दर्भ गर्नुहोस्।
कुन बोर्डहरू STM32CubeU0 MCU प्याकेजद्वारा समर्थित छन्?
STM32CubeU0 MCU प्याकेजले BSP ड्राइभरहरू र प्रयोग गर्न तयार पूर्वहरू प्रदान गर्दछampनिम्न STM32CubeU0 श्रृंखला बोर्डहरूको लागि: • NUCLEO-U031R8 • NUCLEO-U083RC • STM32U083C-DK
कुनै पूर्व हुनुहुन्छampप्रयोग गर्न तयार टुलसेट परियोजनाहरू प्रदान गरिएको छ?
हो। STM32CubeU0 ले पूर्वको रिच सेट प्रदान गर्दछamples र अनुप्रयोगहरू। तिनीहरू IAR Embedded Workbench®, Keil® र STM32CubeIDE का लागि पूर्व कन्फिगर गरिएका परियोजनाहरूसँग आउँछन्।
के त्यहाँ मानक परिधीय पुस्तकालयहरूसँग कुनै लिङ्कहरू छन्?
STM32CubeU0 HAL र LL ड्राइभरहरू मानक परिधीय पुस्तकालयको प्रतिस्थापन हुन्: • HAL ड्राइभरहरूले मानक परिधीय API हरूको तुलनामा उच्च एब्स्ट्रेक्शन स्तर प्रस्ताव गर्छन्। तिनीहरू हार्डवेयरको सट्टा परिधीयहरूमा सामान्य हुने सुविधाहरूमा फोकस गर्छन्। प्रयोगकर्ता-अनुकूल API को एक सेटले उच्च अमूर्त स्तरलाई अनुमति दिन्छ, तिनीहरूलाई सजिलैसँग एक उत्पादनबाट अर्कोमा पोर्टेबल प्रदान गर्दछ। • LL ड्राइभरहरूले निम्न-तह दर्ता-स्तर API हरू प्रस्ताव गर्छन्। तिनीहरू प्रत्यक्ष दर्ता पहुँचबाट बच्नको लागि सरल र स्पष्ट तरिकामा व्यवस्थित छन्। LL ड्राइभरहरूले परिधीय प्रारम्भिक API हरू पनि समावेश गर्दछ, जुन SPL ले प्रस्ताव गरेको तुलनामा अधिक अनुकूलित हुन्छ, जबकि कार्यात्मक रूपमा समान हुन्छ। HAL ड्राइभरहरूको तुलनामा, यी LL प्रारम्भिक APIहरूले SPL बाट STM32CubeU0 LL ड्राइभरहरूमा सीधा स्थानान्तरण गर्न अनुमति दिन्छ, किनकि प्रत्येक SPL API सँग यसको बराबर LL API छ।
के HAL लेयरले एडभान लिन्छtagई अवरोध वा DMA को? यसलाई कसरी नियन्त्रण गर्न सकिन्छ?
हो। HAL लेयरले तीन एपीआई प्रोग्रामिङ मोडेलहरूलाई समर्थन गर्दछ: मतदान, अवरोध, र DMA (अवरोध उत्पादनको साथ वा बिना)।
उत्पादन-/परिधीय-विशेष सुविधाहरू कसरी व्यवस्थित गरिन्छ?
HAL ड्राइभरहरूले विस्तारित एपीआईहरू प्रस्ताव गर्छन्, जुन केही उत्पादनहरू/लाइनहरूमा मात्र उपलब्ध सुविधाहरूलाई समर्थन गर्न साझा API मा एड-अनको रूपमा प्रदान गरिएका विशिष्ट कार्यहरू हुन्।
कसरी STM32CubeMX ले इम्बेडेड सफ्टवेयरमा आधारित कोड उत्पन्न गर्न सक्छ?
STM32CubeMX सँग STM32 माइक्रोकन्ट्रोलरहरूको बिल्ट-इन ज्ञान छ, तिनीहरूको बाह्य र सफ्टवेयर सहित। यसले प्रयोगकर्तालाई ग्राफिकल प्रतिनिधित्व प्रदान गर्दछ र *.h र *.c उत्पन्न गर्न सक्छ files प्रयोगकर्ता कन्फिगरेसन संग।
नवीनतम STM32CubeU0 MCU प्याकेज रिलीजहरूमा नियमित अपडेटहरू कसरी प्राप्त गर्ने?
STM32CubeU0 MCU प्याकेज अपडेटर उपयोगिता, STM32CubeUpdater सँग आउँछ, जुन नयाँ फर्मवेयर प्याकेज अद्यावधिकहरू (नयाँ रिलीजहरू र प्याचहरू) को लागि स्वचालित वा अन-डिमांड जाँचहरूको लागि कन्फिगर योग्य छ। STM32CubeUpdater STM32CubeMX उपकरण भित्र एकीकृत छ। STM32U0 कन्फिगरेसन र प्रारम्भिक C कोड उत्पादनको लागि यो उपकरण प्रयोग गर्दा, प्रयोगकर्ताले STM32CubeU0 स्वतः-अपडेटहरू साथै STM32CubeU0 MCU प्याकेज अद्यावधिकहरूबाट लाभ उठाउँछन्। थप विवरणहरूको लागि, खण्ड 5.3 हेर्नुहोस्: STM32CubeU0 रिलीज अद्यावधिकहरू प्राप्त गर्दै।
HAL बनाम LL ड्राइभरहरू कहिले प्रयोग गर्ने?
HAL ड्राइभरहरूले उच्च स्तरको पोर्टेबिलिटीको साथ उच्च-स्तर र प्रकार्य-उन्मुख APIs प्रस्ताव गर्छन्। उत्पादन/IP जटिलता अन्त प्रयोगकर्ताहरूबाट लुकेको छ। LL ड्राइभरहरूले राम्रो अप्टिमाइजेसन तर कम पोर्टेबलको साथ कम-लेयर दर्ता स्तर API हरू प्रस्ताव गर्छन्। तिनीहरूलाई उत्पादन/आईपी विनिर्देशहरूको गहिरो ज्ञान चाहिन्छ।
अवस्थित वातावरणमा LL ड्राइभरहरू कसरी समावेश गर्ने? त्यहाँ LL कन्फिगरेसन छ fileHAL को लागि मनपर्छ?
त्यहाँ कुनै कन्फिगरेसन छैन file। स्रोत कोडले सीधै आवश्यक stm32u0xx_ll_ppp.h समावेश गर्नुपर्छ file(s)।
के HAL र LL ड्राइभरहरू सँगै प्रयोग गर्न सकिन्छ? यदि त्यसो हो भने, बाधाहरू के हुन्?
HAL र LL दुबै ड्राइभरहरू प्रयोग गर्न सम्भव छ। IP प्रारम्भिक चरणको लागि HAL ड्राइभरहरू प्रयोग गर्नुहोस् र LL ड्राइभरहरूसँग I/O सञ्चालनहरू व्यवस्थापन गर्नुहोस्। HAL र LL बीचको मुख्य भिन्नता हो कि HAL ड्राइभरहरूलाई सञ्चालन व्यवस्थापनको लागि ह्यान्डलहरू सिर्जना र प्रयोग गर्न आवश्यक छ, जबकि LL ड्राइभरहरूले प्रत्यक्ष रूपमा परिधीय दर्ताहरूमा काम गर्छन्। HAL र LL को मिश्रणलाई Ex मा चित्रण गरिएको छamples_MIX पूर्वample।
के त्यहाँ कुनै LL API हरू छन् जुन HAL सँग उपलब्ध छैनन्?
हो, त्यहाँ छन्। उदाहरणका लागि, SCB वा SysTick दर्ताहरूमा पहुँच गर्न stm32u0xx_ll_cortex.h मा केही Cortex® API हरू थपिएका छन्।
किन SysTick अवरोधहरू LL ड्राइभरहरूमा सक्षम गरिएको छैन?
स्ट्यान्डअलोन मोडमा LL ड्राइभरहरू प्रयोग गर्दा, SysTick अवरोधहरू सक्षम गर्न आवश्यक पर्दैन किनभने तिनीहरू LL API मा प्रयोग हुँदैनन्, जबकि HAL प्रकार्यहरूलाई टाइमआउटहरू व्यवस्थापन गर्न SysTick अवरोधहरू आवश्यक पर्दछ।
LL प्रारम्भिकरण API हरू कसरी सक्षम छन्?
LL प्रारम्भिक API र सम्बन्धित स्रोतहरू (संरचनाहरू, अक्षरहरू, र प्रोटोटाइपहरू) को परिभाषा SE_FULL_LL_DRIVER संकलन स्विचद्वारा सर्त गरिएको छ। LL प्रारम्भिकरण APIs प्रयोग गर्न, यो स्विचलाई टूलचेन कम्पाइलर प्रिप्रोसेसरमा थप्नुहोस्।
संशोधन इतिहास
तालिका 4. कागजात संशोधन इतिहास
| मिति | संशोधन | परिवर्तनहरू |
| 31-जनवरी-2024 | 1 | प्रारम्भिक रिलीज। |
महत्त्वपूर्ण सूचना - ध्यानपूर्वक पढ्नुहोस्
STMicroelectronics NV र यसका सहायक कम्पनीहरू ("ST") ले बिना सूचना कुनै पनि समयमा ST उत्पादनहरू र/वा यस कागजातमा परिवर्तनहरू, सुधारहरू, परिमार्जनहरू, परिमार्जनहरू र सुधारहरू गर्ने अधिकार सुरक्षित राख्छन्। खरिदकर्ताहरूले अर्डर राख्नु अघि ST उत्पादनहरूमा नवीनतम सान्दर्भिक जानकारी प्राप्त गर्नुपर्छ। ST उत्पादनहरू अर्डर स्वीकृतिको समयमा ST को बिक्रीका सर्तहरू र सर्तहरू अनुसार बेचिन्छन्।
ST उत्पादनहरूको छनोट, छनोट र प्रयोगको लागि खरिदकर्ताहरू पूर्ण रूपमा जिम्मेवार छन् र ST ले आवेदन सहायता वा खरिदकर्ताहरूको उत्पादनहरूको डिजाइनको लागि कुनै दायित्व मान्दैन।
कुनै लाइसेन्स, एक्सप्रेस वा निहित, कुनै पनि बौद्धिक सम्पत्ति अधिकार यहाँ ST द्वारा प्रदान गरिएको छैन।
यहाँ उल्लेख गरिएको जानकारी भन्दा फरक प्रावधानहरू सहित ST उत्पादनहरूको पुन: बिक्रीले त्यस्तो उत्पादनको लागि ST द्वारा प्रदान गरिएको कुनै पनि वारेन्टी रद्द हुनेछ।
ST र ST लोगो ST को ट्रेडमार्क हो। ST ट्रेडमार्क बारे थप जानकारीको लागि, सन्दर्भ गर्नुहोस् www.st.com/trademarks। अन्य सबै उत्पादन वा सेवा नामहरू तिनीहरूका सम्बन्धित मालिकहरूको सम्पत्ति हुन्।
यस कागजातमा भएको जानकारीले यस कागजातको कुनै पनि अघिल्लो संस्करणहरूमा पहिले प्रदान गरिएको जानकारीलाई हटाउँछ र प्रतिस्थापन गर्दछ।
© 2024 STMicroelectronics - सबै अधिकार सुरक्षित
कागजातहरू / स्रोतहरू
![]() |
STMicroelectronics STM32U0 श्रृंखला मूल पहल डिजाइनर उत्पादकता सुधार [pdf] प्रयोगकर्ता पुस्तिका STM32U0 श्रृंखला मूल पहल डिजाइनर उत्पादकता सुधार, मूल पहल डिजाइनर उत्पादकता सुधार, डिजाइनर उत्पादकता सुधार, डिजाइनर उत्पादकता |

