STMmicroelectronics STM32WBA సిరీస్ ప్రారంభం
ఉత్పత్తి సమాచారం
స్పెసిఫికేషన్లు:
- ఉత్పత్తి పేరు: STM32CubeWBA MCU ప్యాకేజీ
- తయారీదారు: STMమైక్రోఎలక్ట్రానిక్స్
- అనుకూలత: STM32WBA సిరీస్ మైక్రోకంట్రోలర్లు
- లైసెన్సింగ్: ఓపెన్ సోర్స్ BSD లైసెన్స్
ఉత్పత్తి వినియోగ సూచనలు
STM32CubeWBA MCU ప్యాకేజీ యొక్క ప్రధాన లక్షణాలు:
STM32CubeWBA MCU ప్యాకేజీ STM32WBA సిరీస్ మైక్రోకంట్రోలర్లపై అప్లికేషన్లను అభివృద్ధి చేయడానికి అవసరమైన అన్ని ఎంబెడెడ్ సాఫ్ట్వేర్ భాగాలను అందిస్తుంది. ఇది STM32 సిరీస్లో అత్యంత పోర్టబుల్ మరియు HAL మరియు LL APIలతో వస్తుంది, ఉదాamples, మరియు మిడిల్వేర్ భాగాలు.
ఆర్కిటెక్చర్ ముగిసిందిview:
STM32CubeWBA MCU ప్యాకేజీ యొక్క ఆర్కిటెక్చర్ మూడు స్థాయిలను కలిగి ఉంటుంది - అప్లికేషన్లు, లైబ్రరీ మరియు ప్రోటోకాల్-ఆధారిత భాగాలు, హార్డ్వేర్ సంగ్రహణ లేయర్, BSP డ్రైవర్లు, కోర్ డ్రైవర్లు మరియు తక్కువ-పొర APIలు.
తరచుగా అడిగే ప్రశ్నలు
- STM32CubeWBA MCU ప్యాకేజీలో ఏమి చేర్చబడింది?
ప్యాకేజీలో తక్కువ-పొర (LL) మరియు హార్డ్వేర్ సంగ్రహణ లేయర్ (HAL) APIలు ఉన్నాయి, ఉదాamples, అప్లికేషన్లు, మిడిల్వేర్ భాగాలు వంటివి FileX/LevelX, NetX Duo, mbed-క్రిప్టో లైబ్రరీలు మరియు మరిన్ని. - STM32CubeWBA MCU ప్యాకేజీ STM32CubeMX కోడ్ జనరేటర్కు అనుకూలంగా ఉందా?
అవును, ప్యాకేజీ ప్రారంభ కోడ్ని రూపొందించడానికి STM32CubeMX కోడ్ జెనరేటర్తో పూర్తిగా అనుకూలంగా ఉంటుంది.
పరిచయం
- STM32Cube అనేది STMicroelectronics ఒరిజినల్ చొరవ, ఇది డెవలప్మెంట్ ప్రయత్నం, సమయం మరియు వ్యయాన్ని తగ్గించడం ద్వారా డిజైనర్ ఉత్పాదకతను గణనీయంగా మెరుగుపరచడానికి. STM32Cube మొత్తం STM32 పోర్ట్ఫోలియోను కవర్ చేస్తుంది.
STM32Cubeలో ఇవి ఉన్నాయి:- కాన్సెప్ట్ నుండి రియలైజేషన్ వరకు ప్రాజెక్ట్ డెవలప్మెంట్ను కవర్ చేయడానికి వినియోగదారు-స్నేహపూర్వక సాఫ్ట్వేర్ డెవలప్మెంట్ టూల్స్ సమితి, వాటిలో:
- STM32CubeMX, గ్రాఫికల్ సాఫ్ట్వేర్ కాన్ఫిగరేషన్ సాధనం, ఇది గ్రాఫికల్ విజార్డ్లను ఉపయోగించి సి ఇనిషియలైజేషన్ కోడ్ని ఆటోమేటిక్ జనరేషన్ని అనుమతిస్తుంది.
- STM32CubeIDE, పెరిఫెరల్ కాన్ఫిగరేషన్, కోడ్ జనరేషన్, కోడ్ కంపైలేషన్ మరియు డీబగ్ ఫీచర్లతో కూడిన ఆల్ ఇన్ వన్ డెవలప్మెంట్ టూల్
- STM32CubeCLT, కోడ్ కంపైలేషన్, బోర్డ్ ప్రోగ్రామింగ్ మరియు డీబగ్ ఫీచర్లతో కూడిన ఆల్-ఇన్-వన్ కమాండ్-లైన్ డెవలప్మెంట్ టూల్సెట్
- STM32CubeProgrammer (STM32CubeProg), గ్రాఫికల్ మరియు కమాండ్-లైన్ వెర్షన్లలో అందుబాటులో ఉన్న ప్రోగ్రామింగ్ సాధనం
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), నిజ సమయంలో STM32 అప్లికేషన్ల ప్రవర్తన మరియు పనితీరును చక్కగా ట్యూన్ చేయడానికి శక్తివంతమైన పర్యవేక్షణ సాధనాలు
- STM32Cube MCU మరియు MPU ప్యాకేజీలు, ప్రతి మైక్రోకంట్రోలర్ మరియు మైక్రోప్రాసెసర్ సిరీస్కు ప్రత్యేకమైన సమగ్ర ఎంబెడెడ్-సాఫ్ట్వేర్ ప్లాట్ఫారమ్లు (STM32WBA సిరీస్ కోసం STM32CubeWBA వంటివి), వీటిలో ఇవి ఉన్నాయి:
- STM32Cube హార్డ్వేర్ అబ్స్ట్రాక్షన్ లేయర్ (HAL), STM32 పోర్ట్ఫోలియో అంతటా గరిష్టీకరించబడిన పోర్టబిలిటీని నిర్ధారిస్తుంది
- STM32Cube తక్కువ-పొర APIలు, హార్డ్వేర్పై అధిక స్థాయి వినియోగదారు నియంత్రణతో అత్యుత్తమ పనితీరు మరియు పాదముద్రలను నిర్ధారిస్తుంది
- ThreadX వంటి మిడిల్వేర్ భాగాల స్థిరమైన సెట్, FileX / LevelX, NetX Duo, USBX, టచ్ లైబ్రరీ, mbed-క్రిప్టో, TFM, MCUboot, OpenBL మరియు STM32_WPAN (బ్లూటూత్ ® లో ఎనర్జీ ప్రోతో సహాfileలు మరియు సేవలు, Mesh, Zigbee®, OpenThread, Matter మరియు 802.15.4 MAC లేయర్)
- పెరిఫెరల్ మరియు అప్లికేటివ్ ఎక్స్ పూర్తి సెట్లతో పొందుపరిచిన అన్ని సాఫ్ట్వేర్ యుటిలిటీలుampలెస్
- STM32Cube విస్తరణ ప్యాకేజీలు, ఇవి STM32Cube MCU మరియు MPU ప్యాకేజీల యొక్క కార్యాచరణలను పూర్తి చేసే ఎంబెడెడ్ సాఫ్ట్వేర్ భాగాలను కలిగి ఉంటాయి:
- మిడిల్వేర్ ఎక్స్టెన్షన్లు మరియు అప్లికేటివ్ లేయర్లు
- Examples కొన్ని నిర్దిష్ట STMicroelectronics డెవలప్మెంట్ బోర్డులపై నడుస్తుంది
- కాన్సెప్ట్ నుండి రియలైజేషన్ వరకు ప్రాజెక్ట్ డెవలప్మెంట్ను కవర్ చేయడానికి వినియోగదారు-స్నేహపూర్వక సాఫ్ట్వేర్ డెవలప్మెంట్ టూల్స్ సమితి, వాటిలో:
- ఈ వినియోగదారు మాన్యువల్ STM32CubeWBA MCU ప్యాకేజీతో ఎలా ప్రారంభించాలో వివరిస్తుంది.
- విభాగం 2 STM32CubeWBA ప్రధాన లక్షణాలు STM32CubeWBA MCU ప్యాకేజీ యొక్క ప్రధాన లక్షణాలను వివరిస్తాయి.
- విభాగం 3 STM32CubeWBA ఆర్కిటెక్చర్ ముగిసిందిview ఓవర్ అందిస్తుందిview STM32CubeWBA ఆర్కిటెక్చర్ మరియు MCU ప్యాకేజీ నిర్మాణం.
సాధారణ సమాచారం
STM32CubeWBA MCU ప్యాకేజీ Arm® TrustZone® మరియు FPUతో Arm® Cortex®-M32 ప్రాసెసర్ ఆధారంగా STM32 33-బిట్ మైక్రోకంట్రోలర్లపై నడుస్తుంది.
గమనిక: ఆర్మ్ మరియు ట్రస్ట్జోన్ అనేది US మరియు/లేదా ఇతర చోట్ల ఆర్మ్ లిమిటెడ్ (లేదా దాని అనుబంధ సంస్థలు) యొక్క రిజిస్టర్డ్ ట్రేడ్మార్క్లు.
STM32CubeWBA ప్రధాన లక్షణాలు
- STM32CubeWBA MCU ప్యాకేజీ TrustZone® మరియు FPUతో Arm® Cortex®-M32 ప్రాసెసర్ ఆధారంగా STM32 33-బిట్ మైక్రోకంట్రోలర్లపై నడుస్తుంది.
- STM32CubeWBA ఒకే ప్యాకేజీలో, STM32WBA సిరీస్ మైక్రోకంట్రోలర్ల కోసం అప్లికేషన్ను అభివృద్ధి చేయడానికి అవసరమైన అన్ని జెనరిక్ ఎంబెడెడ్ సాఫ్ట్వేర్ భాగాలను సేకరిస్తుంది. STM32Cube చొరవకు అనుగుణంగా, ఈ భాగాల సెట్ STM32WBA సిరీస్ మైక్రోకంట్రోలర్లలోనే కాకుండా ఇతర STM32 సిరీస్లకు కూడా అత్యంత పోర్టబుల్.
- ప్రారంభ కోడ్ను రూపొందించడానికి STM32CubeWBA STM32CubeMX కోడ్ జెనరేటర్తో పూర్తిగా అనుకూలంగా ఉంటుంది. ప్యాకేజీలో మైక్రోకంట్రోలర్ హార్డ్వేర్ను కవర్ చేసే తక్కువ-పొర (LL) మరియు హార్డ్వేర్ అబ్స్ట్రాక్షన్ లేయర్ (HAL) APIలు ఉన్నాయి, ఇవి విస్తృతమైన మాజీ సెట్తో పాటుamples STMicroelectronics బోర్డులపై నడుస్తుంది. HAL మరియు LL APIలు యూజర్ సౌలభ్యం కోసం ఓపెన్ సోర్స్ BSD లైసెన్స్లో అందుబాటులో ఉన్నాయి.
- STM32CubeWBA MCU ప్యాకేజీ Microsoft® Azure® RTOS మిడిల్వేర్ మరియు సంబంధిత మాజీతో ఇతర అంతర్గత మరియు ఓపెన్ సోర్స్ స్టాక్ల చుట్టూ రూపొందించబడిన సమగ్ర మిడిల్వేర్ భాగాన్ని కూడా కలిగి ఉంది.ampలెస్.
- అవి ఉచిత, యూజర్ ఫ్రెండ్లీ లైసెన్స్ నిబంధనలతో వస్తాయి:
- ఇంటిగ్రేటెడ్ మరియు పూర్తి ఫీచర్ చేసిన Azure® RTOS: Azure® RTOS ThreadX
- Azure® RTOS ThreadXతో CMSIS-RTOS అమలు
- USB హోస్ట్ మరియు పరికర స్టాక్లు అనేక తరగతులతో వస్తున్నాయి: Azure® RTOS USBX
- అధునాతనమైనది file సిస్టమ్ మరియు ఫ్లాష్ అనువాద పొర: FileX / LevelX
- ఇండస్ట్రియల్ గ్రేడ్ నెట్వర్కింగ్ స్టాక్: అనేక IoT ప్రోటోకాల్లతో వస్తున్న పనితీరు కోసం ఆప్టిమైజ్ చేయబడింది: NetX Duo
- OpenBootloader
- Arm® విశ్వసనీయ ఫర్మ్వేర్-M (TF‑M) ఇంటిగ్రేషన్ సొల్యూషన్
- mbed-క్రిప్టో లైబ్రరీలు
- ST నెట్వాక్ లైబ్రరీ
- STMTouch టచ్ సెన్సింగ్ లైబ్రరీ సొల్యూషన్
- ఈ మిడిల్వేర్ భాగాలన్నింటినీ అమలు చేసే అనేక అప్లికేషన్లు మరియు ప్రదర్శనలు కూడా STM32CubeWBA MCU ప్యాకేజీలో అందించబడ్డాయి.
- STM32CubeWBA MCU ప్యాకేజీ కాంపోనెంట్ లేఅవుట్ మూర్తి 1లో వివరించబడింది. STM32CubeWBA MCU ప్యాకేజీ భాగాలు .
STM32CubeWBA ఆర్కిటెక్చర్ ముగిసిందిview
STM32CubeWBA MCU ప్యాకేజీ సొల్యూషన్ మూడు స్వతంత్ర స్థాయిల చుట్టూ నిర్మించబడింది, ఇది మూర్తి 2లో వివరించిన విధంగా సులభంగా సంకర్షణ చెందుతుంది. STM32CubeWBA MCU ప్యాకేజీ ఆర్కిటెక్చర్.
స్థాయి 0
ఈ స్థాయి మూడు సబ్లేయర్లుగా విభజించబడింది:
- బోర్డు మద్దతు ప్యాకేజీ (BSP).
- హార్డ్వేర్ సంగ్రహణ పొర (HAL):
- HAL పరిధీయ డ్రైవర్లు
- తక్కువ-పొర డ్రైవర్లు
- ప్రాథమిక పరిధీయ వినియోగం ఉదాampలెస్.
బోర్డు మద్దతు ప్యాకేజీ (BSP)
ఈ లేయర్ హార్డ్వేర్ బోర్డ్లలో (LCD, ఆడియో,\ microSD™, మరియు MEMS డ్రైవర్లు వంటివి) హార్డ్వేర్ భాగాలకు సంబంధించి APIల సమితిని అందిస్తుంది. ఇది రెండు భాగాలతో కూడి ఉంటుంది:
- కాంపోనెంట్ డ్రైవర్:
ఈ డ్రైవర్ బోర్డ్లోని బాహ్య పరికరానికి సంబంధించినది మరియు STM32 పరికరానికి కాదు. కాంపోనెంట్ డ్రైవర్ BSP డ్రైవర్ బాహ్య భాగాలకు నిర్దిష్ట APIలను అందిస్తుంది మరియు ఏదైనా ఇతర బోర్డ్లో పోర్టబుల్ కావచ్చు. - BSP డ్రైవర్:
BSP డ్రైవర్ కాంపోనెంట్ డ్రైవర్లను నిర్దిష్ట బోర్డ్కి లింక్ చేయడానికి అనుమతిస్తుంది మరియు వినియోగదారు-స్నేహపూర్వక సమితిని అందిస్తుంది
APIలు. API నామకరణ నియమం BSP_FUNCT_Action().
Example: BSP_LED_Init(), BSP_LED_On()
BSP అనేది మాడ్యులర్ ఆర్కిటెక్చర్పై ఆధారపడి ఉంటుంది, ఇది తక్కువ-స్థాయి రొటీన్లను అమలు చేయడం ద్వారా ఏదైనా హార్డ్వేర్పై సులభంగా పోర్టింగ్ చేయడానికి అనుమతిస్తుంది.
హార్డ్వేర్ సంగ్రహణ లేయర్ (HAL) మరియు తక్కువ-పొర (LL)
STM32CubeWBA HAL మరియు LLలు పరిపూరకరమైనవి మరియు విస్తృత శ్రేణి అప్లికేషన్ అవసరాలను కవర్ చేస్తాయి:
- HAL డ్రైవర్లు హై-లెవల్ ఫంక్షన్-ఓరియెంటెడ్ హై పోర్టబుల్ APIలను అందిస్తాయి. అవి తుది వినియోగదారుకు MCU మరియు పరిధీయ సంక్లిష్టతను దాచిపెడతాయి.
HAL డ్రైవర్లు సాధారణ బహుళ-ఉదాహరణ ఫీచర్-ఆధారిత APIలను అందిస్తాయి, ఇవి ఉపయోగించడానికి సిద్ధంగా ఉన్న ప్రక్రియలను అందించడం ద్వారా వినియోగదారు అప్లికేషన్ అమలును సులభతరం చేస్తాయి. ఉదాహరణకుample, కమ్యూనికేషన్ పెరిఫెరల్స్ (I2S, UART మరియు ఇతరాలు) కోసం, ఇది పరిధీయను ప్రారంభించడం మరియు కాన్ఫిగర్ చేయడం, పోలింగ్ ఆధారంగా డేటా బదిలీని నిర్వహించడం, అంతరాయం కలిగించడం లేదా DMA ప్రక్రియ మరియు కమ్యూనికేషన్ సమయంలో తలెత్తే కమ్యూనికేషన్ లోపాలను నిర్వహించడం వంటి APIలను అందిస్తుంది. HAL డ్రైవర్ APIలు రెండు వర్గాలుగా విభజించబడ్డాయి:- సాధారణ APIలు, అన్ని STM32 సిరీస్ మైక్రోకంట్రోలర్లకు సాధారణ మరియు సాధారణ విధులను అందిస్తాయి.
- ఎక్స్టెన్షన్ APIలు, ఇవి నిర్దిష్ట కుటుంబం లేదా నిర్దిష్ట పార్ట్ నంబర్ కోసం నిర్దిష్ట మరియు అనుకూలీకరించిన ఫంక్షన్లను అందిస్తాయి.
- తక్కువ-పొర APIలు మెరుగైన ఆప్టిమైజేషన్తో తక్కువ పోర్టబిలిటీతో తక్కువ-స్థాయి APIలను రిజిస్టర్ స్థాయిలో అందిస్తాయి.
- వారికి MCU మరియు పెరిఫెరల్ స్పెసిఫికేషన్ల గురించి లోతైన జ్ఞానం అవసరం.
- LL డ్రైవర్లు HAL కంటే హార్డ్వేర్కు దగ్గరగా ఉండే వేగవంతమైన తేలికపాటి నిపుణుల-ఆధారిత పొరను అందించడానికి రూపొందించబడ్డాయి. HALకి విరుద్ధంగా, ఆప్టిమైజ్ చేయబడిన యాక్సెస్ కీలకమైన ఫీచర్ కానటువంటి పెరిఫెరల్స్ కోసం లేదా భారీ సాఫ్ట్వేర్ కాన్ఫిగరేషన్ లేదా సంక్లిష్టమైన ఉన్నత-స్థాయి స్టాక్ అవసరమయ్యే వాటి కోసం LL APIలు అందించబడవు.
- LL డ్రైవర్ల ఫీచర్:
- డేటా స్ట్రక్చర్లలో పేర్కొన్న పారామితుల ప్రకారం పరిధీయ ప్రధాన లక్షణాలను ప్రారంభించే ఫంక్షన్ల సమితి.
- ప్రతి ఫీల్డ్కు సంబంధించిన రీసెట్ విలువలతో ప్రారంభ డేటా నిర్మాణాలను పూరించడానికి ఫంక్షన్ల సమితి.
- పెరిఫెరల్ డీనిటియలైజేషన్ కోసం ఫంక్షన్ (పరిధీయ రిజిస్టర్లు వాటి డిఫాల్ట్ విలువలకు పునరుద్ధరించబడ్డాయి).
- ప్రత్యక్ష మరియు అటామిక్ రిజిస్టర్ యాక్సెస్ కోసం ఇన్లైన్ ఫంక్షన్ల సమితి.
- HAL నుండి పూర్తి స్వాతంత్ర్యం మరియు స్వతంత్ర మోడ్లో ఉపయోగించగల సామర్థ్యం (HAL డ్రైవర్లు లేకుండా).
- మద్దతు ఉన్న పరిధీయ లక్షణాల పూర్తి కవరేజ్.
ప్రాథమిక పరిధీయ వినియోగం ఉదాampలెస్
ఈ పొర మాజీని కలుపుతుందిampకేవలం HAL మరియు BSP వనరులను ఉపయోగించి STM32 పెరిఫెరల్స్పై నిర్మించబడింది.
స్థాయి 1
ఈ స్థాయి రెండు సబ్లేయర్లుగా విభజించబడింది:
- మిడిల్వేర్ భాగాలు
- Examples మిడిల్వేర్ భాగాలపై ఆధారపడి ఉంటుంది
మిడిల్వేర్ భాగాలు
- మిడిల్వేర్ అనేది బ్లూటూత్ ® లో ఎనర్జీ (లింక్లేయర్, హెచ్సిఐ, స్టాక్), థ్రెడ్®, జిగ్బీ®,
- Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot మరియు mbed-crypto.
- ఫీచర్ చేయబడిన APIలను కాల్ చేయడం ద్వారా ఈ లేయర్ యొక్క భాగాల మధ్య క్షితిజ సమాంతర పరస్పర చర్య జరుగుతుంది.
- లైబ్రరీ సిస్టమ్ కాల్ ఇంటర్ఫేస్లో అమలు చేయబడిన నిర్దిష్ట కాల్బ్యాక్లు మరియు స్టాటిక్ మాక్రోల ద్వారా తక్కువ-పొర డ్రైవర్లతో నిలువు పరస్పర చర్య జరుగుతుంది.
- ప్రతి మిడిల్వేర్ భాగం యొక్క ప్రధాన లక్షణాలు క్రింది విధంగా ఉన్నాయి:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: రియల్ టైమ్ ఆపరేటింగ్ సిస్టమ్ (RTOS), రెండు ఫంక్షనల్ మోడ్లతో ఎంబెడెడ్ సిస్టమ్ల కోసం రూపొందించబడింది.
- సాధారణ మోడ్: థ్రెడ్ మేనేజ్మెంట్ మరియు సింక్రొనైజేషన్, మెమరీ పూల్ మేనేజ్మెంట్, మెసేజింగ్ మరియు ఈవెంట్ హ్యాండ్లింగ్ వంటి సాధారణ RTOS కార్యాచరణలు.
- మాడ్యూల్ మోడ్: మాడ్యూల్ మేనేజర్ ద్వారా ఫ్లైలో ప్రీలింక్ చేయబడిన ThreadX మాడ్యూల్లను లోడ్ చేయడానికి మరియు అన్లోడ్ చేయడానికి అనుమతించే అధునాతన వినియోగదారు మోడ్.
- NetX Duo
- FileX
- USBX
- Azure® RTOS ThreadX: రియల్ టైమ్ ఆపరేటింగ్ సిస్టమ్ (RTOS), రెండు ఫంక్షనల్ మోడ్లతో ఎంబెడెడ్ సిస్టమ్ల కోసం రూపొందించబడింది.
- బ్లూటూత్ ® తక్కువ శక్తి (BLE): లింక్ మరియు స్టాక్ లేయర్ల కోసం బ్లూటూత్ ® తక్కువ శక్తి ప్రోటోకాల్ను అమలు చేస్తుంది.
- MCUboot (ఓపెన్ సోర్స్ సాఫ్ట్వేర్)
- స్టాక్ మరియు సంబంధిత క్లస్టర్ల కోసం Zigbee® ప్రోటోకాల్లు.
- Thread® ప్రోటోకాల్ స్టాక్ మరియు లింక్ లేయర్.
- Arm® విశ్వసనీయ ఫర్మ్వేర్-M, TF‑M (ఓపెన్-సోర్స్ సాఫ్ట్వేర్): అనుబంధిత సురక్షిత సేవలతో TrustZone® కోసం Arm® ప్లాట్ఫారమ్ సెక్యూరిటీ ఆర్కిటెక్చర్ (PSA) యొక్క సూచన అమలు.
- mbed-crypto (ఓపెన్-సోర్స్ సాఫ్ట్వేర్): mbed-క్రిప్టో మిడిల్వేర్ PSA క్రిప్టోగ్రఫీ API అమలును అందిస్తుంది.
- STM32 టచ్ సెన్సింగ్ లైబ్రరీ: బలమైన STMTouch కెపాసిటివ్ టచ్ సెన్సింగ్ సొల్యూషన్, సపోర్టింగ్ ప్రాక్సిమిటీ, టచ్కీ, లీనియర్ మరియు రోటరీ టచ్ సెన్సార్లు. ఇది నిరూపితమైన ఉపరితల ఛార్జ్ బదిలీ అక్విజిషన్ సూత్రంపై ఆధారపడి ఉంటుంది.
- Microsoft® Azure® RTOS
Examples మిడిల్వేర్ భాగాలపై ఆధారపడి ఉంటుంది
ప్రతి మిడిల్వేర్ భాగం ఒకటి లేదా అంతకంటే ఎక్కువ మంది మాజీలతో వస్తుందిamples (అప్లికేషన్స్ అని కూడా పిలుస్తారు) దీన్ని ఎలా ఉపయోగించాలో చూపుతుంది. ఇంటిగ్రేషన్ ఉదాampఅనేక మిడిల్వేర్ భాగాలను ఉపయోగించే లెస్లు కూడా అందించబడ్డాయి.
STM32CubeWBA ఫర్మ్వేర్ ప్యాకేజీ ముగిసిందిview
మద్దతు STM32WBA సిరీస్ పరికరాలు మరియు హార్డ్వేర్
- STM32Cube జెనరిక్ ఆర్కిటెక్చర్ చుట్టూ నిర్మించబడిన అత్యంత పోర్టబుల్ హార్డ్వేర్ అబ్స్ట్రాక్షన్ లేయర్ (HAL)ని అందిస్తుంది. ఇది మిడిల్వేర్ లేయర్ని ఉపయోగించడం వంటి బిల్డ్-ఆన్ లేయర్ల సూత్రాన్ని, MCU ఏమి ఉపయోగించబడుతుందో తెలియకుండా వాటి విధులను అమలు చేయడానికి అనుమతిస్తుంది. ఇది లైబ్రరీ కోడ్ పునర్వినియోగాన్ని మెరుగుపరుస్తుంది మరియు ఇతర పరికరాలకు సులభమైన పోర్టబిలిటీని నిర్ధారిస్తుంది.
- అదనంగా, దాని లేయర్డ్ ఆర్కిటెక్చర్కు ధన్యవాదాలు, STM32CubeWBA అన్ని STM32WBA సిరీస్లకు పూర్తి మద్దతును అందిస్తుంది.
- వినియోగదారు stm32wbaxx.hలో సరైన మాక్రోని మాత్రమే నిర్వచించాలి.
- ఉపయోగించిన STM1WBA శ్రేణి పరికరాన్ని బట్టి నిర్వచించాల్సిన మాక్రోను టేబుల్ 32 చూపుతుంది. కంపైలర్ ప్రిప్రాసెసర్లో కూడా ఈ మాక్రో తప్పనిసరిగా నిర్వచించబడాలి.
పట్టిక 1. STM32WBA సిరీస్ కోసం మాక్రోలుమాక్రో stm32wbaxx.hలో నిర్వచించబడింది STM32WBA సిరీస్ పరికరాలు stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6 stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7 - STM32CubeWBA మాజీ యొక్క గొప్ప సెట్ను కలిగి ఉందిamples మరియు అప్లికేషన్లు అన్ని స్థాయిలలోని HAL డ్రైవర్ లేదా మిడిల్వేర్ భాగాలను అర్థం చేసుకోవడం మరియు ఉపయోగించడం సులభం చేస్తుంది. ఈ మాజీamples టేబుల్ 2లో జాబితా చేయబడిన STMicroelectronics బోర్డులపై నడుస్తుంది.
పట్టిక 2. STM32WBA సిరీస్ కోసం బోర్డులుబోర్డు బోర్డు STM32WBA మద్దతు ఉన్న పరికరాలు NUCLEO-WBA52CG STM32WBA52CGU6 NUCLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - STM32CubeWBA MCU ప్యాకేజీ ఏదైనా అనుకూలమైన హార్డ్వేర్పై అమలు చేయగలదు. అందించిన మాజీని పోర్ట్ చేయడానికి వినియోగదారు కేవలం BSP డ్రైవర్లను అప్డేట్ చేస్తారుampబోర్డులో les, రెండోది అదే హార్డ్వేర్ ఫీచర్లను కలిగి ఉంటే (LED, LCD డిస్ప్లే మరియు బటన్లు వంటివి).
ఫర్మ్వేర్ ప్యాకేజీ ముగిసిందిview
- STM32CubeWBA ప్యాకేజీ పరిష్కారం మూర్తి 3లో చూపిన నిర్మాణాన్ని కలిగి ఉన్న ఒకే జిప్ ప్యాకేజీలో అందించబడింది. STM32CubeWBA ఫర్మ్వేర్ ప్యాకేజీ నిర్మాణం.
- ప్రతి బోర్డు కోసం, మాజీ సెట్ampEWARM, MDK-ARM మరియు STM32CubeIDE టూల్చెయిన్ల కోసం ముందుగా కాన్ఫిగర్ చేయబడిన ప్రాజెక్ట్లతో les అందించబడింది.
- మూర్తి 4. STM32CubeWBA ఉదాampలెస్ ఓవర్view NUCLEO‑WBA52CG, NUCLEO-WBA55CG మరియు STM32WBA55G-DK1 బోర్డుల కోసం ప్రాజెక్ట్ నిర్మాణాన్ని చూపుతుంది.
- మాజీamples అవి వర్తించే STM32Cube స్థాయిని బట్టి వర్గీకరించబడ్డాయి మరియు వాటికి ఈ క్రింది విధంగా పేరు పెట్టారు:
- స్థాయి 0 ఉదాamples ను Ex అంటారుampలెస్, ఉదాamples_LL, మరియు Examples_MIX. వారు వరుసగా HAL డ్రైవర్లు, LL డ్రైవర్లు మరియు మిడిల్వేర్ కాంపోనెంట్ లేకుండా HAL మరియు LL డ్రైవర్ల మిశ్రమాన్ని ఉపయోగిస్తారు.
- స్థాయి 1 ఉదాampవాటిని అప్లికేషన్స్ అంటారు. అవి ప్రతి మిడిల్వేర్ కాంపోనెంట్ యొక్క సాధారణ వినియోగ సందర్భాలను అందిస్తాయి. టెంప్లేట్స్ మరియు టెంప్లేట్స్_ఎల్ఎల్ డైరెక్టరీలలో అందుబాటులో ఉన్న టెంప్లేట్ ప్రాజెక్ట్ల కారణంగా ఇచ్చిన బోర్డు కోసం ఏదైనా ఫర్మ్వేర్ అప్లికేషన్ త్వరగా రూపొందించబడుతుంది.
TrustZone® ప్రారంభించబడిన ప్రాజెక్ట్లు
- TrustZone® ప్రారంభించబడిన Examples పేర్లు _TrustZone ఉపసర్గను కలిగి ఉంటాయి. నియమం అప్లికేషన్ ns కోసం కూడా వర్తించబడుతుంది (TFM మరియు SBSFU మినహా, స్థానికంగా TrustZone® కోసం).
- TrustZone®-ప్రారంభించబడిన Examples మరియు అప్లికేషన్లు మూర్తి 5లో అందించిన విధంగా సురక్షితమైన మరియు అసురక్షిత సబ్ప్రాజెక్ట్లతో కూడిన మల్టీప్రాజెక్ట్ నిర్మాణంతో అందించబడ్డాయి. మల్టీప్రాజెక్ట్ సురక్షిత మరియు అసురక్షిత ప్రాజెక్ట్ నిర్మాణం.
- TrustZone®-ప్రారంభించబడిన ప్రాజెక్ట్లు CMSIS-5 పరికర టెంప్లేట్ ప్రకారం అభివృద్ధి చేయబడ్డాయి, సిస్టమ్ విభజన శీర్షికను చేర్చడానికి విస్తరించబడ్డాయి file విభజన_ .h, సురక్షిత ఎగ్జిక్యూషన్ స్టేట్లో సురక్షిత లక్షణం యూనిట్ (SAU), FPU మరియు సురక్షిత/అసురక్షిత అంతరాయాలను సెటప్ చేయడానికి ప్రధానంగా బాధ్యత వహించే వారు.
- ఈ సెటప్ సురక్షిత CMSIS SystemInit() ఫంక్షన్లో నిర్వహించబడుతుంది, ఇది సురక్షిత అప్లికేషన్ మెయిన్() ఫంక్షన్లోకి ప్రవేశించే ముందు స్టార్టప్లో పిలువబడుతుంది. Arm® TrustZone®-M సాఫ్ట్వేర్ మార్గదర్శకాల డాక్యుమెంటేషన్ను చూడండి.
- STM32CubeWBA ప్యాకేజీ ఫర్మ్వేర్ ప్యాకేజీ విభజనలో డిఫాల్ట్ మెమరీ విభజనను అందిస్తుంది _ .h fileకింద అందుబాటులో ఉన్నాయి: \డ్రైవర్లు\CMSIS\డివైస్\ST\STM32WBAxx\T ఎంప్లేట్లను చేర్చండి
- ఈ విభజనలో files, SAU డిఫాల్ట్గా నిలిపివేయబడింది. పర్యవసానంగా, IDAU మెమరీ మ్యాపింగ్ భద్రతా అట్రిబ్యూషన్ కోసం ఉపయోగించబడుతుంది. RM0495 రిఫరెన్స్ మాన్యువల్లో TrustZone® సాంకేతికతను ఉపయోగించి సురక్షిత/సురక్షిత-రహిత విభజనను ఫిగర్ చూడండి.
- వినియోగదారు SAUని ప్రారంభిస్తే, డిఫాల్ట్ SAU ప్రాంతాల కాన్ఫిగరేషన్ విభజనలో ముందే నిర్వచించబడుతుంది fileక్రింది విధంగా లు:
- SAU ప్రాంతం 0: 0x08080000 – 0x081FFFFF (ఫ్లాష్ మెమరీలో అసురక్షిత సురక్షితమైన సగం (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లో అంతర్గత ఫ్లాష్ మెమరీ డిఫాల్ట్గా పూర్తిగా సురక్షితంగా ఉంటుంది. వినియోగదారు ఎంపిక బైట్లు SECWM1_PSTRT/ SECWM1_PEND అప్లికేషన్కు అనుగుణంగా తప్పనిసరిగా సెట్ చేయబడాలి. మెమరీ కాన్ఫిగరేషన్ (SAU ప్రాంతాలు, SAU ప్రారంభించబడి ఉంటే). సురక్షిత/అసురక్షిత అప్లికేషన్ల ప్రాజెక్ట్ లింకర్ fileలు కూడా సమలేఖనం చేయాలి.
- అన్ని మాజీamples ఒకే నిర్మాణాన్ని కలిగి ఉంటాయి:
- \Inc ఫోల్డర్ మొత్తం హెడర్ కలిగి ఉంది files.
- సోర్స్ కోడ్ని కలిగి ఉన్న Src ఫోల్డర్.
- \EWARM, \MDK-ARM, మరియు \STM32CubeIDE ఫోల్డర్లు ప్రతి టూల్చెయిన్ కోసం ముందుగా కాన్ఫిగర్ చేయబడిన ప్రాజెక్ట్ను కలిగి ఉంటాయి.
- readme.md మరియు readme.html మాజీని వివరిస్తుందిample ప్రవర్తన మరియు అది పని చేయడానికి అవసరమైన వాతావరణం.
- ioc file ఇది చాలా వరకు ఫర్మ్వేర్ మాజీని తెరవడానికి వినియోగదారులను అనుమతిస్తుందిampSTM32CubeMX లోపల les.
STM32CubeWBAతో ప్రారంభించడం
మొదటి HAL మాజీని అమలు చేస్తోందిample
మొదటి మాజీని అమలు చేయడం ఎంత సులభమో ఈ విభాగం వివరిస్తుందిampSTM32CubeWBA లోపల le. ఇది NUCLEO-WBA52CG బోర్డ్పై నడుస్తున్న సాధారణ LED టోగుల్ ఉత్పత్తిని ఉదాహరణగా ఉపయోగిస్తుంది:
- STM32CubeWBA MCU ప్యాకేజీని డౌన్లోడ్ చేయండి.
- మీకు నచ్చిన డైరెక్టరీలో దాన్ని అన్జిప్ చేయండి.
- మూర్తి 1లో చూపిన ప్యాకేజీ నిర్మాణాన్ని సవరించకుండా చూసుకోండి. మీ రూట్ వాల్యూమ్కు దగ్గరగా ఉన్న ప్రదేశంలో ప్యాకేజీని కాపీ చేయమని కూడా సిఫార్సు చేయబడింది (అంటే C:\ST లేదా G:\Tests), కొన్ని IDEలు మార్గంలో ఉన్నప్పుడు సమస్యలను ఎదుర్కొంటాయి. పొడవు చాలా పొడవుగా ఉంది.
మొదటి TrustZone® ప్రారంభించబడిన మాజీని అమలు చేస్తోందిample
- TrustZone® ప్రారంభించబడిన మాజీని లోడ్ చేసి, అమలు చేయడానికి ముందుample, ఇది మాజీ చదవడం తప్పనిసరిampలే చదవండి file ఏదైనా నిర్దిష్ట కాన్ఫిగరేషన్ కోసం, ఇది సెక్షన్ 4.2.1 TrustZone® ప్రారంభించబడిన ప్రాజెక్ట్లలో (TZEN=1 (యూజర్ ఆప్షన్ బైట్)) వివరించిన విధంగా భద్రత ప్రారంభించబడిందని నిర్ధారిస్తుంది.
- \Projects\NUCLEO-WBA52CG\Exకి బ్రౌజ్ చేయండిampలెస్.
- \GPIO, ఆపై \GPIO_IOTtoggle_TrustZone ఫోల్డర్లను తెరవండి.
- మీకు ఇష్టమైన టూల్చెయిన్తో ప్రాజెక్ట్ను తెరవండి. త్వరిత ఓవర్view మాజీని ఎలా తెరవాలి, నిర్మించాలి మరియు అమలు చేయాలిampమద్దతు ఉన్న టూల్చెయిన్లతో le క్రింద ఇవ్వబడింది.
- అన్ని సురక్షితమైన మరియు అసురక్షిత ప్రాజెక్ట్లను క్రమంలో పునర్నిర్మించండి files మరియు సురక్షితమైన మరియు అసురక్షిత చిత్రాలను లక్ష్య మెమరీలోకి లోడ్ చేయండి.
- మాజీని అమలు చేయండిample: క్రమం తప్పకుండా, సురక్షిత అప్లికేషన్ ప్రతి సెకనుకు LD2ని టోగుల్ చేస్తుంది మరియు అసురక్షిత అప్లికేషన్ LD3ని రెండు రెట్లు వేగంగా టోగుల్ చేస్తుంది. మరిన్ని వివరాల కోసం, రీడ్మీని చూడండి file మాజీ యొక్కample.
- మాజీని తెరవడానికి, నిర్మించడానికి మరియు అమలు చేయడానికిampమద్దతు ఉన్న టూల్చెయిన్లతో, క్రింది దశలను అనుసరించండి:
- EWARM:
- మాజీ కిందample ఫోల్డర్, \EWARM సబ్ ఫోల్డర్ తెరవండి.
- Project.eww కార్యస్థలాన్ని ప్రారంభించండి
- xxxxx_S సురక్షిత ప్రాజెక్ట్ను పునర్నిర్మించండి files: [ప్రాజెక్ట్]>[అన్నింటినీ పునర్నిర్మించండి].
- xxxxx_NS అసురక్షిత ప్రాజెక్ట్ను యాక్టివ్ అప్లికేషన్గా సెట్ చేయండి (xxxxx_NS ప్రాజెక్ట్పై కుడి క్లిక్ చేయండి [యాక్టివ్గా సెట్ చేయండి])
- xxxxx_NS అసురక్షిత ప్రాజెక్ట్ను పునర్నిర్మించండి files: [ప్రాజెక్ట్]>[అన్నింటినీ పునర్నిర్మించండి].
- [ప్రాజెక్ట్]>[డౌన్లోడ్]>[యాక్టివ్ అప్లికేషన్ను డౌన్లోడ్ చేయండి]తో అసురక్షిత బైనరీని ఫ్లాష్ చేయండి.
- xxxxx_Sని యాక్టివ్ అప్లికేషన్గా సెట్ చేయండి (xxxxx_S ప్రాజెక్ట్పై కుడి క్లిక్ చేయండి [యాక్టివ్గా సెట్ చేయండి].
- [డౌన్లోడ్ మరియు డీబగ్] (Ctrl+D)తో సురక్షిత బైనరీని ఫ్లాష్ చేయండి.
- ప్రోగ్రామ్ను అమలు చేయండి: [డీబగ్]>[Go(F5)]
- MDK-ARM:
- \MDK-ARM టూల్చెయిన్ను తెరవండి.
- మల్టీప్రాజెక్ట్స్ వర్క్స్పేస్ని తెరవండి 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 టూల్చెయిన్ను తెరవండి.
- మల్టీప్రాజెక్ట్స్ వర్క్స్పేస్ని తెరవండి file .ప్రాజెక్ట్.
- xxxxx_Secure ప్రాజెక్ట్ను పునర్నిర్మించండి.
- xxxxx_NonSecure ప్రాజెక్ట్ని పునర్నిర్మించండి.
- సురక్షిత ప్రాజెక్ట్ కోసం [Debug as STM32 Cortex-M C/C++] అప్లికేషన్ను ప్రారంభించండి.
- [మార్చు కాన్ఫిగరేషన్] విండోలో, [స్టార్టప్] ప్యానెల్ను ఎంచుకుని, అసురక్షిత ప్రాజెక్ట్ యొక్క ఇమేజ్ మరియు చిహ్నాలను లోడ్ చేయండి.
ముఖ్యమైన: సురక్షిత ప్రాజెక్ట్ కంటే ముందు అసురక్షిత ప్రాజెక్ట్ తప్పనిసరిగా లోడ్ చేయబడాలి. - [సరే] క్లిక్ చేయండి.
- మాజీని అమలు చేయండిampడీబగ్ దృక్కోణంలో le.
- EWARM:
మొదటి TrustZone® నిలిపివేయబడిన మాజీని అమలు చేస్తోందిample
- TrustZone® నిలిపివేయబడిన మాజీని లోడ్ చేసి, అమలు చేయడానికి ముందుample, ఇది మాజీ చదవడం తప్పనిసరిampలే చదవండి file ఏదైనా నిర్దిష్ట కాన్ఫిగరేషన్ కోసం. నిర్దిష్ట ప్రస్తావనలు లేకుంటే, బోర్డు పరికరంలో భద్రత నిలిపివేయబడిందని నిర్ధారించుకోండి (TZEN=0 (యూజర్ ఎంపిక బైట్)). TZEN = 0కి ఐచ్ఛిక రిగ్రెషన్ చేయడం కోసం తరచుగా అడిగే ప్రశ్నలు చూడండి
- \Projects\NUCLEO-WBA52CG\Exకి బ్రౌజ్ చేయండిampలెస్.
- \GPIO, ఆపై \GPIO_EXTI ఫోల్డర్లను తెరవండి.
- మీకు ఇష్టమైన టూల్చెయిన్తో ప్రాజెక్ట్ను తెరవండి. త్వరిత ఓవర్view మాజీని ఎలా తెరవాలి, నిర్మించాలి మరియు అమలు చేయాలిampమద్దతు ఉన్న టూల్చెయిన్లతో le క్రింద ఇవ్వబడింది.
- అన్నింటినీ పునర్నిర్మించండి files చేసి, మీ ఇమేజ్ని టార్గెట్ మెమరీలోకి లోడ్ చేయండి.
- మాజీని అమలు చేయండిample: ప్రతిసారీ [USER] పుష్-బటన్ నొక్కినప్పుడు, LD1 LED టోగుల్ అవుతుంది. మరిన్ని వివరాల కోసం, రీడ్మీని చూడండి file మాజీ యొక్కample.
- మాజీని తెరవడానికి, నిర్మించడానికి మరియు అమలు చేయడానికిampమద్దతు ఉన్న టూల్చెయిన్లతో, క్రింది దశలను అనుసరించండి:
- EWARM:
- మాజీ కిందample ఫోల్డర్, \EWARM సబ్ ఫోల్డర్ తెరవండి.
- Project.eww వర్క్స్పేస్ని ప్రారంభించండి (వర్క్స్పేస్ పేరు మాజీ నుండి మారవచ్చుampమరొకరికి le).
- అన్నింటినీ పునర్నిర్మించండి files: [ప్రాజెక్ట్]>[అన్నింటినీ పునర్నిర్మించండి].
- ప్రాజెక్ట్ చిత్రాన్ని లోడ్ చేయండి: [ప్రాజెక్ట్]>[డీబగ్].
- ప్రోగ్రామ్ను అమలు చేయండి: [డీబగ్]>[Go (F5)].
- MDK-ARM:
- మాజీ కిందample ఫోల్డర్, \MDK-ARM సబ్ఫోల్డర్ను తెరవండి.
- Project.uvproj కార్యస్థలాన్ని ప్రారంభించండి (కార్యస్థలం పేరు ఒక మాజీ నుండి మారవచ్చుampమరొకరికి le).
- అన్నింటినీ పునర్నిర్మించండి files:[ప్రాజెక్ట్]>[అన్ని లక్ష్యాన్ని పునర్నిర్మించండి fileలు].
- ప్రాజెక్ట్ చిత్రాన్ని లోడ్ చేయండి: [డీబగ్]>[డీబగ్ సెషన్ను ప్రారంభించండి/ఆపివేయండి].
- రన్ ప్రోగ్రామ్: [డీబగ్]>[రన్ (F5)].
- STM32CubeIDE:
- STM32CubeIDE టూల్చెయిన్ను తెరవండి.
- క్లిక్ చేయండి [File]>[వర్క్స్పేస్ని మార్చండి]>[ఇతర] మరియు STM32CubeIDE వర్క్స్పేస్ డైరెక్టరీకి బ్రౌజ్ చేయండి.
- క్లిక్ చేయండి [File]>[దిగుమతి] , [జనరల్]>[వర్క్స్పేస్లో ఉన్న ప్రాజెక్ట్లు] ఎంచుకుని, ఆపై [తదుపరి] క్లిక్ చేయండి.
- STM32CubeIDE వర్క్స్పేస్ డైరెక్టరీకి బ్రౌజ్ చేయండి మరియు ప్రాజెక్ట్ను ఎంచుకోండి.
- అన్ని ప్రాజెక్ట్లను పునర్నిర్మించండి files: [ప్రాజెక్ట్ ఎక్స్ప్లోరర్] విండోలో ప్రాజెక్ట్ను ఎంచుకుని, [ప్రాజెక్ట్]>[ప్రాజెక్ట్ బిల్డ్] మెనుని క్లిక్ చేయండి.
- ప్రోగ్రామ్ను అమలు చేయండి: [రన్]>[డీబగ్ (F11)]
- EWARM:
అనుకూల అనువర్తనాన్ని అభివృద్ధి చేస్తోంది
గమనిక: ఫ్లాష్ మెమరీ నుండి 0 వెయిట్-స్టేట్ ఎగ్జిక్యూషన్ను పొందడానికి సాఫ్ట్వేర్ తప్పనిసరిగా ఇన్స్ట్రక్షన్ కాష్ (ICACHE)ని ఎనేబుల్ చేయాలి మరియు గరిష్ట పనితీరు మరియు మెరుగైన విద్యుత్ వినియోగాన్ని చేరుకోవాలి.
అప్లికేషన్ను అభివృద్ధి చేయడానికి లేదా అప్డేట్ చేయడానికి STM32CubeMXని ఉపయోగించడం
- STM32CubeWBA MCU ప్యాకేజీలో, దాదాపు అన్ని ప్రాజెక్ట్ మాజీampసిస్టమ్, పెరిఫెరల్స్ మరియు మిడిల్వేర్ను ప్రారంభించేందుకు les STM32CubeMX సాధనంతో రూపొందించబడ్డాయి.
- ఇప్పటికే ఉన్న ప్రాజెక్ట్ యొక్క ప్రత్యక్ష ఉపయోగం మాజీampSTM32CubeMX సాధనం నుండి leకి STM32CubeMX 6.10.0 లేదా అంతకంటే ఎక్కువ అవసరం:
- STM32CubeMXని ఇన్స్టాల్ చేసిన తర్వాత, ప్రతిపాదిత ప్రాజెక్ట్ను తెరవండి మరియు అవసరమైతే అప్డేట్ చేయండి. ఇప్పటికే ఉన్న ప్రాజెక్ట్ను తెరవడానికి సులభమైన మార్గం *.iocపై డబుల్ క్లిక్ చేయడం file తద్వారా STM32CubeMX స్వయంచాలకంగా ప్రాజెక్ట్ మరియు దాని మూలాన్ని తెరుస్తుంది files.
- STM32CubeMX అటువంటి ప్రాజెక్ట్ల ప్రారంభ సోర్స్ కోడ్ను ఉత్పత్తి చేస్తుంది. ప్రధాన అప్లికేషన్ సోర్స్ కోడ్ “USER CODE BEGIN” మరియు “USER CODE END” వ్యాఖ్యల ద్వారా ఉంటుంది. IP ఎంపిక మరియు సెట్టింగ్ సవరించబడిన సందర్భంలో, STM32CubeMX కోడ్ యొక్క ప్రారంభ భాగాన్ని అప్డేట్ చేస్తుంది కానీ ప్రధాన అప్లికేషన్ సోర్స్ కోడ్ను భద్రపరుస్తుంది.
- STM32CubeMXలో అనుకూల ప్రాజెక్ట్ను అభివృద్ధి చేయడానికి, దశల వారీ విధానాన్ని అనుసరించండి:
- అవసరమైన పెరిఫెరల్స్ సెట్కు సరిపోలే STM32 మైక్రోకంట్రోలర్ను ఎంచుకోండి.
- పిన్అవుట్-కాన్ఫ్లిక్ట్ సాల్వర్, క్లాక్-ట్రీ సెట్టింగ్ హెల్పర్, పవర్ కన్స్యూమ్ కాలిక్యులేటర్ మరియు MCU పెరిఫెరల్ కాన్ఫిగరేషన్ (GPIO లేదా USART వంటివి) మరియు మిడిల్వేర్ స్టాక్లను (USB వంటివి) అమలు చేసే యుటిలిటీని ఉపయోగించి అవసరమైన అన్ని పొందుపరిచిన సాఫ్ట్వేర్లను కాన్ఫిగర్ చేయండి.
- ఎంచుకున్న కాన్ఫిగరేషన్ ఆధారంగా ప్రారంభ C కోడ్ను రూపొందించండి. ఈ కోడ్ అనేక అభివృద్ధి పరిసరాలలో ఉపయోగించడానికి సిద్ధంగా ఉంది. వినియోగదారు కోడ్ తదుపరి కోడ్ జనరేషన్లో ఉంచబడుతుంది.
- STM32CubeMX గురించి మరింత సమాచారం కోసం, STM32 కాన్ఫిగరేషన్ మరియు ప్రారంభ C కోడ్ ఉత్పత్తి (UM32) కోసం వినియోగదారు మాన్యువల్ STM1718CubeMXని చూడండి.
- అందుబాటులో ఉన్న ప్రాజెక్ట్ జాబితా కోసం మాజీampSTM32CubeWBA కోసం les, అప్లికేషన్ నోట్ STM32Cube ఫర్మ్వేర్ మాజీని చూడండిampSTM32WBA సిరీస్ (AN5929) కోసం les.
డ్రైవర్ అప్లికేషన్లు
HAL అప్లికేషన్
ఈ విభాగం STM32CubeWBAని ఉపయోగించి అనుకూల HAL అప్లికేషన్ను రూపొందించడానికి అవసరమైన దశలను వివరిస్తుంది:
- ప్రాజెక్ట్ను రూపొందించండి
- కొత్త ప్రాజెక్ట్ని సృష్టించడానికి, \Projects\ కింద ప్రతి బోర్డ్కు అందించబడిన టెంప్లేట్ ప్రాజెక్ట్ నుండి ప్రారంభించండి \టెంప్లేట్లు లేదా \ప్రాజెక్ట్లు\ కింద అందుబాటులో ఉన్న ఏదైనా ప్రాజెక్ట్ నుండి \పరీక్షలు లేదా \ప్రాజెక్ట్స్\ \అప్లికేషన్స్ (ఎక్కడ STM32CubeWBA వంటి బోర్డు పేరును సూచిస్తుంది).
- టెంప్లేట్ ప్రాజెక్ట్ ఖాళీ ప్రధాన లూప్ ఫంక్షన్ను అందిస్తుంది. అయితే, STM32CubeWBA ప్రాజెక్ట్ సెట్టింగ్లను అర్థం చేసుకోవడానికి ఇది మంచి ప్రారంభ స్థానం. టెంప్లేట్ క్రింది లక్షణాలను కలిగి ఉంది:
- ఇది HAL సోర్స్ కోడ్, CMSIS మరియు BSP డ్రైవర్లను కలిగి ఉంటుంది, ఇవి ఇచ్చిన బోర్డ్లో కోడ్ను అభివృద్ధి చేయడానికి అవసరమైన కనీస భాగాల సెట్.
- ఇది అన్ని ఫర్మ్వేర్ భాగాల కోసం చేర్చబడిన పాత్లను కలిగి ఉంది.
- ఇది మద్దతు ఉన్న STM32WBA సిరీస్ పరికరాలను నిర్వచిస్తుంది, CMSIS మరియు HAL డ్రైవర్లను సరిగ్గా కాన్ఫిగర్ చేయడానికి అనుమతిస్తుంది.
- ఇది ఉపయోగించడానికి సిద్ధంగా ఉన్న వినియోగదారుని అందిస్తుంది fileక్రింద చూపిన విధంగా ముందుగా కాన్ఫిగర్ చేయబడింది:
ఆర్మ్ ® కోర్ సిస్టిక్తో డిఫాల్ట్ టైమ్ బేస్తో HAL ప్రారంభించబడింది. SysTick ISR HAL_Delay() ప్రయోజనం కోసం అమలు చేయబడింది.
గమనిక: ఇప్పటికే ఉన్న ప్రాజెక్ట్ను మరొక స్థానానికి కాపీ చేస్తున్నప్పుడు, చేర్చబడిన అన్ని పాత్లు నవీకరించబడినట్లు నిర్ధారించుకోండి.
- వినియోగదారు ప్రాజెక్ట్కు అవసరమైన మిడిల్వేర్ను జోడించండి (ఐచ్ఛికం)
మూలాన్ని గుర్తించడానికి fileలను ప్రాజెక్టుకు చేర్చాలి file జాబితా, ప్రతి మిడిల్వేర్ కోసం అందించిన డాక్యుమెంటేషన్ను చూడండి. \Projects\STM32xxx_yyy\Applications\ కింద అప్లికేషన్లను చూడండి (ఎక్కడ థ్రెడ్ఎక్స్ వంటి మిడిల్వేర్ స్టాక్ను సూచిస్తుంది) ఏ మూలాన్ని తెలుసుకోవాలి fileలు మరియు పాత్లను చేర్చాలి. - ఫర్మ్వేర్ భాగాలను కాన్ఫిగర్ చేయండి
HAL మరియు మిడిల్వేర్ భాగాలు మాక్రోలను ఉపయోగించి బిల్డ్-టైమ్ కాన్ఫిగరేషన్ ఎంపికల సమితిని అందిస్తాయి. file. ఒక టెంప్లేట్ కాన్ఫిగరేషన్ file ప్రతి భాగం లోపల అందించబడుతుంది, ఇది ప్రాజెక్ట్ ఫోల్డర్కు (సాధారణంగా కాన్ఫిగరేషన్కి కాపీ చేయబడాలి file xxx_conf_template.h అని పేరు పెట్టారు, ప్రాజెక్ట్ ఫోల్డర్కి కాపీ చేస్తున్నప్పుడు _template అనే పదాన్ని తీసివేయాలి). ఆకృతీకరణ file ప్రతి కాన్ఫిగరేషన్ ఎంపిక యొక్క ప్రభావాన్ని అర్థం చేసుకోవడానికి తగినంత సమాచారాన్ని అందిస్తుంది. ప్రతి భాగం కోసం అందించిన డాక్యుమెంటేషన్లో మరింత వివరణాత్మక సమాచారం అందుబాటులో ఉంది. - HAL లైబ్రరీని ప్రారంభించండి
ప్రధాన ప్రోగ్రామ్కి జంప్ చేసిన తర్వాత, అప్లికేషన్ కోడ్ తప్పనిసరిగా HAL_Init() APIకి కాల్ చేసి HAL లైబ్రరీని ప్రారంభించాలి, ఇది క్రింది పనులను నిర్వహిస్తుంది:- ఫ్లాష్ మెమరీ ప్రీఫెచ్ మరియు SysTick అంతరాయ ప్రాధాన్యత యొక్క కాన్ఫిగరేషన్ (st m32wbaxx_hal_conf.hలో నిర్వచించబడిన మాక్రోల ద్వారా).
- SysTick అంతరాయ ప్రాధాన్యత TICK_INT_PRIO వద్ద ప్రతి మిల్లీసెకనుకు అంతరాయాన్ని సృష్టించడానికి SysTick యొక్క కాన్ఫిగరేషన్ stm32wbaxx_hal_conf.hలో నిర్వచించబడింది.
- NVIC సమూహం ప్రాధాన్యతను 0కి అమర్చడం.
- HAL_MspInit() కాల్బ్యాక్ ఫంక్షన్ యొక్క కాల్ stm32wbaxx_hal_msp.c వినియోగదారులో నిర్వచించబడింది file ప్రపంచ తక్కువ-స్థాయి హార్డ్వేర్ ప్రారంభాలను నిర్వహించడానికి.
- సిస్టమ్ గడియారాన్ని కాన్ఫిగర్ చేయండి
దిగువ వివరించిన రెండు APIలను కాల్ చేయడం ద్వారా సిస్టమ్ క్లాక్ కాన్ఫిగరేషన్ చేయబడుతుంది:- HAL_RCC_OscConfig(): ఈ API అంతర్గత మరియు బాహ్య ఓసిలేటర్లను కాన్ఫిగర్ చేస్తుంది. వినియోగదారు ఒకటి లేదా అన్ని ఓసిలేటర్లను కాన్ఫిగర్ చేయడానికి ఎంచుకుంటారు.
- HAL_RCC_ClockConfig(): ఈ API సిస్టమ్ క్లాక్ సోర్స్, ఫ్లాష్ మెమరీ లేటెన్సీ మరియు AHB మరియు APB ప్రీస్కేలర్లను కాన్ఫిగర్ చేస్తుంది.
- పెరిఫెరల్ని ప్రారంభించండి
- ముందుగా పరిధీయ HAL_PPP_MspInit ఫంక్షన్ని వ్రాయండి. ఈ క్రింది విధంగా కొనసాగండి:
- పరిధీయ గడియారాన్ని ప్రారంభించండి.
- పరిధీయ GPIOలను కాన్ఫిగర్ చేయండి.
- DMA ఛానెల్ని కాన్ఫిగర్ చేయండి మరియు DMA అంతరాయాన్ని ప్రారంభించండి (అవసరమైతే).
- పరిధీయ అంతరాయాన్ని ప్రారంభించండి (అవసరమైతే).
- అవసరమైతే, అవసరమైన అంతరాయ హ్యాండ్లర్లకు (పరిధీయ మరియు DMA) కాల్ చేయడానికి stm32xxx_it.cని సవరించండి.
- పరిధీయ అంతరాయాన్ని లేదా DMAని ఉపయోగించాలని ప్లాన్ చేస్తే, ప్రాసెస్ పూర్తి కాల్బ్యాక్ ఫంక్షన్లను వ్రాయండి.
- వినియోగదారు main.cలో file, పెరిఫెరల్ హ్యాండిల్ స్ట్రక్చర్ని ప్రారంభించి, పెరిఫెరల్ని ప్రారంభించడానికి ఫంక్షన్ HAL_PPP_Init()కి కాల్ చేయండి.
- ముందుగా పరిధీయ HAL_PPP_MspInit ఫంక్షన్ని వ్రాయండి. ఈ క్రింది విధంగా కొనసాగండి:
- అప్లికేషన్ను అభివృద్ధి చేయండి
- ఈ సమయంలో ఎస్tagఇ, సిస్టమ్ సిద్ధంగా ఉంది మరియు వినియోగదారు అప్లికేషన్ కోడ్ అభివృద్ధి ప్రారంభమవుతుంది.
- పరిధీయాన్ని కాన్ఫిగర్ చేయడానికి HAL సహజమైన మరియు ఉపయోగించడానికి సిద్ధంగా ఉన్న APIలను అందిస్తుంది. ఇది ఏదైనా అప్లికేషన్ అవసరాలకు అనుగుణంగా పోలింగ్, అంతరాయాలు మరియు DMA ప్రోగ్రామింగ్ మోడల్కు మద్దతు ఇస్తుంది. ప్రతి పెరిఫెరల్ని ఎలా ఉపయోగించాలో మరిన్ని వివరాల కోసం, రిచ్ ఎక్స్ని చూడండిample సెట్ STM32CubeWBA MCU ప్యాకేజీలో అందించబడింది.
జాగ్రత్త: డిఫాల్ట్ HAL అమలులో, SysTick టైమర్ టైమ్బేస్గా ఉపయోగించబడుతుంది: ఇది సాధారణ సమయ వ్యవధిలో అంతరాయాలను సృష్టిస్తుంది. పరిధీయ ISR ప్రక్రియ నుండి HAL_Delay() కాల్ చేయబడితే, పరిధీయ అంతరాయానికి కంటే SysTick అంతరాయానికి అధిక ప్రాధాన్యత (సంఖ్యాపరంగా తక్కువ) ఉందని నిర్ధారించుకోండి. లేకపోతే, కాలర్ ISR ప్రక్రియ బ్లాక్ చేయబడుతుంది. యూజర్లో ఇతర ఇంప్లిమెంటేషన్ల విషయంలో ఓవర్రైడ్ సాధ్యమయ్యేలా టైమ్బేస్ కాన్ఫిగరేషన్లను ప్రభావితం చేసే విధులు __వీక్గా ప్రకటించబడ్డాయి. file (సాధారణ ప్రయోజన టైమర్ని ఉపయోగించడం, ఉదాహరణకుample, లేదా మరొక సమయ మూలం). మరిన్ని వివరాల కోసం, HAL_TimeBase exని చూడండిample.
LL అప్లికేషన్
ఈ విభాగం STM32CubeWBAని ఉపయోగించి అనుకూల LL అప్లికేషన్ను రూపొందించడానికి అవసరమైన దశలను వివరిస్తుంది.
- ప్రాజెక్ట్ను రూపొందించండి
- కొత్త ప్రాజెక్ట్ని సృష్టించడానికి, \Projects\ కింద ప్రతి బోర్డు కోసం అందించబడిన Templates_LL ప్రాజెక్ట్ నుండి ప్రారంభించండి \Templates_LL, లేదా \Projects\ కింద అందుబాటులో ఉన్న ఏదైనా ప్రాజెక్ట్ నుండి \ఉదాamples_LL ( NUCLEO-WBA32CG వంటి బోర్డు పేరును సూచిస్తుంది).
- టెంప్లేట్ ప్రాజెక్ట్ ఖాళీ ప్రధాన లూప్ ఫంక్షన్ను అందిస్తుంది, ఇది STM32CubeWBA కోసం ప్రాజెక్ట్ సెట్టింగ్లను అర్థం చేసుకోవడానికి మంచి ప్రారంభ స్థానం. టెంప్లేట్ ప్రధాన లక్షణాలు క్రింది విధంగా ఉన్నాయి:
- ఇది LL మరియు CMSIS డ్రైవర్ల యొక్క సోర్స్ కోడ్లను కలిగి ఉంటుంది, ఇవి ఇచ్చిన బోర్డ్లో కోడ్ను అభివృద్ధి చేయడానికి అవసరమైన కనీస భాగాల సెట్.
- ఇది అవసరమైన అన్ని ఫర్మ్వేర్ భాగాల కోసం చేర్చబడిన పాత్లను కలిగి ఉంది.
- ఇది మద్దతు ఉన్న STM32WBA సిరీస్ పరికరాన్ని ఎంచుకుంటుంది మరియు CMSIS మరియు LL డ్రైవర్ల యొక్క సరైన కాన్ఫిగరేషన్ను అనుమతిస్తుంది.
- ఇది ఉపయోగించడానికి సిద్ధంగా ఉన్న వినియోగదారుని అందిస్తుంది fileఈ క్రింది విధంగా ముందుగా కాన్ఫిగర్ చేయబడినవి:
◦ main.h: LED మరియు USER_BUTTON డెఫినిషన్ అబ్స్ట్రాక్షన్ లేయర్.
◦ main.c: గరిష్ట ఫ్రీక్వెన్సీ కోసం సిస్టమ్ క్లాక్ కాన్ఫిగరేషన్.
- ఇప్పటికే ఉన్న ప్రాజెక్ట్ను మరొక బోర్డుకి పోర్ట్ చేయండి
మరొక టార్గెట్ బోర్డ్లో ఇప్పటికే ఉన్న ప్రాజెక్ట్కు మద్దతు ఇవ్వడానికి, ప్రతి బోర్డు కోసం అందించబడిన టెంప్లేట్స్_LL ప్రాజెక్ట్ నుండి ప్రారంభించండి మరియు \Projects\ కింద అందుబాటులో ఉంటుంది \Templates_LL.- LL మాజీని ఎంచుకోండిample: LL ex ఉన్న బోర్డుని కనుగొనడానికిamples అమలు చేయబడ్డాయి, LL ex జాబితాను చూడండిampలెస్ STM32CubeProjectsList.html.
- పోర్ట్ ది LL exampలే:
- Templates_LL ఫోల్డర్ను కాపీ/పేస్ట్ చేయండి – ప్రారంభ మూలాన్ని ఉంచడానికి – లేదా ఇప్పటికే ఉన్న Temp lates_LL ప్రాజెక్ట్ను నేరుగా అప్డేట్ చేయండి.
- పోర్టింగ్ అనేది ప్రధానంగా Templates_LL స్థానంలో ఉంటుంది fileమాజీ ద్వారా లుamples_LL లక్ష్య ప్రాజెక్ట్.
- అన్ని బోర్డు నిర్దిష్ట భాగాలను ఉంచండి. స్పష్టత కోసం, బోర్డు నిర్దిష్ట భాగాలు నిర్దిష్టంగా ఫ్లాగ్ చేయబడతాయి tags:
- అందువలన, ప్రధాన పోర్టింగ్ దశలు క్రింది విధంగా ఉన్నాయి:
- stm32wbaxx_it.hని భర్తీ చేయండి file
- stm32wbaxx_it.cని భర్తీ చేయండి file
- main.hని భర్తీ చేయండి file మరియు దానిని నవీకరించండి: LL టెంప్లేట్ యొక్క LED మరియు వినియోగదారు బటన్ నిర్వచనాన్ని BOARD నిర్దిష్ట కాన్ఫిగరేషన్ క్రింద ఉంచండి tags.
- main.cని భర్తీ చేయండి file మరియు దానిని నవీకరించండి:
- SystemClock_Config() LL టెంప్లేట్ ఫంక్షన్ యొక్క క్లాక్ కాన్ఫిగరేషన్ను BOARD నిర్దిష్ట కాన్ఫిగరేషన్ క్రింద ఉంచండి tags.
- LED నిర్వచనంపై ఆధారపడి, ప్రతి LDx సంఘటనను main.hలో అందుబాటులో ఉన్న మరొక LDyతో భర్తీ చేయండి file.
- ఈ మార్పులతో, మాజీample ఇప్పుడు లక్ష్య బోర్డ్లో నడుస్తుంది
భద్రతా అప్లికేషన్లు
ఈ ప్యాకేజీ భద్రతా అనువర్తనాలతో పంపిణీ చేయబడింది.
SBSFU అప్లికేషన్లు
- SBSFU సురక్షిత బూట్ మరియు సురక్షిత ఫర్మ్వేర్ అప్డేట్ కార్యాచరణలతో సహా రూట్ ఆఫ్ ట్రస్ట్ పరిష్కారాన్ని అందిస్తుంది (MCUboot ఆధారంగా).
- అప్లికేషన్ను అమలు చేయడానికి ముందు పరిష్కారం ఉపయోగించబడుతుంది.
- పరిష్కారం మాజీ అందిస్తుందిample సురక్షిత సేవ (GPIO టోగుల్), ఇది అసురక్షిత అప్లికేషన్ నుండి వేరుచేయబడింది. రన్టైమ్లో అసురక్షిత అప్లికేషన్ ఇప్పటికీ ఈ పరిష్కారాన్ని ఉపయోగించవచ్చు.
TFM అప్లికేషన్లు
TFM సురక్షిత బూట్ మరియు సురక్షిత ఫర్మ్వేర్ అప్డేట్ కార్యాచరణలతో సహా రూట్ ఆఫ్ ట్రస్ట్ పరిష్కారాన్ని అందిస్తుంది
(MCUboot ఆధారంగా). అప్లికేషన్ను అమలు చేయడానికి ముందు పరిష్కారం ఉపయోగించబడుతుంది. పరిష్కారం అసురక్షిత అప్లికేషన్ నుండి వేరుచేయబడిన TFM సురక్షిత సేవలను అందిస్తుంది. రన్టైమ్లో అసురక్షిత అప్లికేషన్ ఇప్పటికీ ఈ పరిష్కారాన్ని ఉపయోగించవచ్చు.
RF అప్లికేషన్లు
RF అప్లికేషన్ ఈ అప్లికేషన్ నోట్లో వివరించబడింది: STM32WBA సిరీస్ మైక్రోకంట్రోలర్లతో (AN5928) వైర్లెస్ అప్లికేషన్లను రూపొందించడం.
STM32CubeWBA విడుదల నవీకరణలను పొందుతోంది
తాజా STM32CubeWBA MCU ప్యాకేజీ విడుదలలు మరియు ప్యాచ్లు STM32WBA సిరీస్ నుండి అందుబాటులో ఉన్నాయి. STM32CubeMXలోని CHECK FOR UPDATE బటన్ నుండి వాటిని తిరిగి పొందవచ్చు. మరిన్ని వివరాల కోసం, STM3 కాన్ఫిగరేషన్ మరియు ఇనిషియలైజేషన్ C కోడ్ జనరేషన్ (UM32) కోసం యూజర్ మాన్యువల్ STM32CubeMX సెక్షన్ 1718ని చూడండి.
తరచుగా అడిగే ప్రశ్నలు
- LL డ్రైవర్లకు బదులుగా నేను HALని ఎప్పుడు ఉపయోగించాలి?
- HAL డ్రైవర్లు అధిక స్థాయి పోర్టబిలిటీతో ఉన్నత స్థాయి మరియు ఫంక్షన్-ఆధారిత APIలను అందిస్తారు. తుది వినియోగదారుల కోసం ఉత్పత్తి లేదా పరిధీయ సంక్లిష్టత దాచబడింది.
- LL డ్రైవర్లు తక్కువ-పొర రిజిస్టర్ స్థాయి APIలను అందిస్తాయి, మెరుగైన ఆప్టిమైజేషన్తో కానీ తక్కువ పోర్టబుల్. వారికి ఉత్పత్తి లేదా IP స్పెసిఫికేషన్ల గురించి లోతైన జ్ఞానం అవసరం.
- నేను HAL మరియు LL డ్రైవర్లను కలిసి ఉపయోగించవచ్చా? నేను చేయగలిగితే, పరిమితులు ఏమిటి?
- HAL మరియు LL డ్రైవర్లను ఉపయోగించడం సాధ్యమవుతుంది. IP ప్రారంభ దశ కోసం HALని ఉపయోగించండి మరియు LL డ్రైవర్లతో I/O ఆపరేషన్లను నిర్వహించండి.
- HAL మరియు LL మధ్య ఉన్న ప్రధాన వ్యత్యాసం ఏమిటంటే, LL డ్రైవర్లు నేరుగా పరిధీయ రిజిస్టర్లలో పనిచేస్తుండగా, HAL డ్రైవర్లు ఆపరేషన్ నిర్వహణ కోసం హ్యాండిల్లను సృష్టించడం మరియు ఉపయోగించడం అవసరం. మాజీamples_MIX ఉదాampHAL మరియు LLలను ఎలా కలపాలో le వివరిస్తుంది.
- LL ప్రారంభ APIలు ఎలా ప్రారంభించబడ్డాయి?
- LL ప్రారంభ APIలు మరియు అనుబంధిత వనరులు (నిర్మాణాలు, అక్షరాలు మరియు నమూనాలు) యొక్క నిర్వచనం USE_FULL_LL_DRIVER సంకలన స్విచ్ ద్వారా కండిషన్ చేయబడింది.
- LL ఇనిషియలైజేషన్ APIలను ఉపయోగించేందుకు, టూల్చెయిన్ కంపైలర్ ప్రిప్రాసెసర్లో ఈ స్విచ్ని జోడించండి.
- ఎంబెడెడ్ సాఫ్ట్వేర్ ఆధారంగా STM32CubeMX కోడ్ని ఎలా రూపొందించగలదు?
STM32CubeMX STM32 మైక్రోకంట్రోలర్ల గురించి అంతర్నిర్మిత పరిజ్ఞానాన్ని కలిగి ఉంది, వాటి పెరిఫెరల్స్ మరియు సాఫ్ట్వేర్తో సహా వినియోగదారుకు గ్రాఫికల్ ప్రాతినిధ్యాన్ని అందించడానికి మరియు *.h లేదా *.cని రూపొందించడానికి అనుమతిస్తుంది. fileవినియోగదారు కాన్ఫిగరేషన్ ఆధారంగా s.
ముఖ్యమైన నోటీసు - జాగ్రత్తగా చదవండి
- STMicroelectronics NV మరియు దాని అనుబంధ సంస్థలు ("ST") ST ఉత్పత్తులు మరియు/లేదా ఈ పత్రంలో ఎటువంటి నోటీసు లేకుండా మార్పులు, దిద్దుబాట్లు, మెరుగుదలలు, మార్పులు మరియు మెరుగుదలలు చేసే హక్కును కలిగి ఉంటాయి. కొనుగోలుదారులు ఆర్డర్లు చేయడానికి ముందు ST ఉత్పత్తులపై తాజా సంబంధిత సమాచారాన్ని పొందాలి. ST ఉత్పత్తులు ఆర్డర్ రసీదు సమయంలో స్థానంలో ST యొక్క నిబంధనలు మరియు విక్రయ నిబంధనలకు అనుగుణంగా విక్రయించబడతాయి.
- ST ఉత్పత్తుల ఎంపిక, ఎంపిక మరియు వినియోగానికి కొనుగోలుదారులు మాత్రమే బాధ్యత వహిస్తారు మరియు అప్లికేషన్ సహాయం లేదా కొనుగోలుదారుల ఉత్పత్తుల రూపకల్పనకు ST ఎటువంటి బాధ్యత వహించదు.
- ఇక్కడ ST ద్వారా ఏ మేధో సంపత్తి హక్కుకు ఎలాంటి లైసెన్స్, ఎక్స్ప్రెస్ లేదా సూచించబడదు.
- ఇక్కడ పేర్కొన్న సమాచారానికి భిన్నమైన నిబంధనలతో ST ఉత్పత్తుల పునఃవిక్రయం అటువంటి ఉత్పత్తికి ST ద్వారా మంజూరు చేయబడిన ఏదైనా వారంటీని రద్దు చేస్తుంది.
- ST మరియు ST లోగో ST యొక్క ట్రేడ్మార్క్లు. ST ట్రేడ్మార్క్ల గురించి అదనపు సమాచారం కోసం, www.st.com/trademarksని చూడండి. అన్ని ఇతర ఉత్పత్తి లేదా సేవా పేర్లు వాటి సంబంధిత యజమానుల ఆస్తి.
- ఈ పత్రంలోని సమాచారం ఈ పత్రం యొక్క ఏదైనా మునుపటి సంస్కరణల్లో గతంలో అందించిన సమాచారాన్ని భర్తీ చేస్తుంది మరియు భర్తీ చేస్తుంది.
- © 2023 STMmicroelectronics – అన్ని హక్కులు ప్రత్యేకించబడ్డాయి
పత్రాలు / వనరులు
![]() |
STMmicroelectronics STM32WBA సిరీస్ ప్రారంభం [pdf] యూజర్ మాన్యువల్ STM32WBA సిరీస్ ప్రారంభం, ప్రారంభం, ప్రారంభం |