STMicroelectronics-लोगो

STMicroelectronics STM32WBA मालिका सुरू होत आहे

STMicroelectronics-STM32WBA-Series-Getting-Started-fig-1

उत्पादन माहिती

तपशील:

  • उत्पादनाचे नाव: STM32CubeWBA MCU पॅकेज
  • निर्माता: STMicroelectronics
  • सुसंगतता: STM32WBA मालिका मायक्रोकंट्रोलर
  • परवाना: मुक्त-स्रोत BSD परवाना

उत्पादन वापर सूचना

STM32CubeWBA MCU पॅकेजची मुख्य वैशिष्ट्ये:
STM32CubeWBA MCU पॅकेज STM32WBA मालिका मायक्रोकंट्रोलरवर ऍप्लिकेशन विकसित करण्यासाठी सर्व आवश्यक एम्बेडेड सॉफ्टवेअर घटक प्रदान करते. हे STM32 मालिकेत अत्यंत पोर्टेबल आहे आणि HAL आणि LL API सह येते, उदाamples, आणि मिडलवेअर घटक.

आर्किटेक्चर ओव्हरview:
STM32CubeWBA MCU पॅकेजच्या आर्किटेक्चरमध्ये तीन स्तर आहेत - ऍप्लिकेशन्स, लायब्ररी आणि प्रोटोकॉल-आधारित घटक, हार्डवेअर ॲब्स्ट्रॅक्शन लेयर, बीएसपी ड्रायव्हर्स, कोर ड्रायव्हर्स आणि लो-लेयर API.

वारंवार विचारले जाणारे प्रश्न

  • STM32CubeWBA MCU पॅकेजमध्ये काय समाविष्ट आहे?
    पॅकेजमध्ये लो-लेयर (LL) आणि हार्डवेअर ॲब्स्ट्रॅक्शन लेयर (HAL) API समाविष्ट आहेत, उदाamples, applications, मिडलवेअर घटक जसे FileX/LevelX, NetX Duo, mbed-क्रिप्टो लायब्ररी आणि बरेच काही.
  • STM32CubeWBA MCU पॅकेज STM32CubeMX कोड जनरेटरशी सुसंगत आहे का?
    होय, इनिशिएलायझेशन कोड जनरेट करण्यासाठी पॅकेज STM32CubeMX कोड जनरेटरशी पूर्णपणे सुसंगत आहे.

परिचय

  • STM32Cube हा STMicroelectronics चा मूळ उपक्रम आहे ज्याने विकासाचे प्रयत्न, वेळ आणि खर्च कमी करून डिझाइनर उत्पादकता लक्षणीयरीत्या सुधारली आहे. STM32Cube संपूर्ण STM32 पोर्टफोलिओ कव्हर करते.
    STM32Cube मध्ये हे समाविष्ट आहे:
    • संकल्पनेपासून ते साकार होण्यापर्यंत प्रकल्प विकास कव्हर करण्यासाठी वापरकर्ता-अनुकूल सॉफ्टवेअर डेव्हलपमेंट टूल्सचा एक संच, त्यापैकी हे आहेत:
      • STM32CubeMX, ग्राफिकल सॉफ्टवेअर कॉन्फिगरेशन टूल जे ग्राफिकल विझार्ड वापरून C इनिशियलायझेशन कोडची स्वयंचलित निर्मिती करण्यास अनुमती देते
      • STM32CubeIDE, परिधीय कॉन्फिगरेशन, कोड जनरेशन, कोड संकलन आणि डीबग वैशिष्ट्यांसह सर्व-इन-वन विकास साधन
      • STM32CubeCLT, कोड संकलन, बोर्ड प्रोग्रामिंग आणि डीबग वैशिष्ट्यांसह सर्व-इन-वन कमांड-लाइन डेव्हलपमेंट टूलसेट
      • STM32CubeProgrammer (STM32CubeProg), ग्राफिकल आणि कमांड-लाइन आवृत्त्यांमध्ये उपलब्ध असलेले प्रोग्रामिंग साधन
      • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), रिअल टाइममध्ये STM32 ऍप्लिकेशन्सचे वर्तन आणि कार्यप्रदर्शन चांगले-ट्यून करण्यासाठी शक्तिशाली मॉनिटरिंग टूल्स
    • STM32Cube MCU आणि MPU पॅकेजेस, प्रत्येक मायक्रोकंट्रोलर आणि मायक्रोप्रोसेसर मालिकेसाठी विशिष्ट एम्बेडेड-सॉफ्टवेअर प्लॅटफॉर्म (जसे की STM32WBA मालिकेसाठी STM32CubeWBA), ज्यामध्ये हे समाविष्ट आहे:
      • STM32Cube हार्डवेअर अॅब्स्ट्रॅक्शन लेयर (HAL), STM32 पोर्टफोलिओमध्ये जास्तीत जास्त पोर्टेबिलिटी सुनिश्चित करते
      • STM32Cube लो-लेयर APIs, हार्डवेअरवर वापरकर्त्याच्या उच्च प्रमाणात नियंत्रणासह उत्कृष्ट कार्यप्रदर्शन आणि पाऊलखुणा सुनिश्चित करतात
      • थ्रेडएक्स सारख्या मिडलवेअर घटकांचा सुसंगत संच, FileX / LevelX, NetX Duo, USBX, touch library, mbed-crypto, TFM, MCUboot, OpenBL, आणि STM32_WPAN (Bluetooth® Low Energy pro सहfiles आणि सेवा, Mesh, Zigbee®, OpenThread, Matter, आणि 802.15.4 MAC लेयर)
      • सर्व एम्बेडेड सॉफ्टवेअर युटिलिटिज पेरिफेरल आणि ऍप्लिक्टिव्ह एक्सच्या पूर्ण सेटसहampलेस
    • STM32Cube विस्तार पॅकेजेस, ज्यामध्ये एम्बेडेड सॉफ्टवेअर घटक आहेत जे STM32Cube MCU आणि MPU पॅकेजेसच्या कार्यक्षमतेला पूरक आहेत:
      • मिडलवेअर विस्तार आणि उपयोजक स्तर
      • Exampकाही विशिष्ट STMicroelectronics डेव्हलपमेंट बोर्डवर चालत आहे
  • हे वापरकर्ता मॅन्युअल STM32CubeWBA MCU पॅकेजसह कसे सुरू करायचे याचे वर्णन करते.
    • विभाग 2 STM32CubeWBA मुख्य वैशिष्ट्ये STM32CubeWBA MCU पॅकेजच्या मुख्य वैशिष्ट्यांचे वर्णन करतात.
    • विभाग 3 STM32CubeWBA आर्किटेक्चर ओव्हरview एक ओव्हर प्रदान करतेview STM32CubeWBA आर्किटेक्चर आणि MCU पॅकेज स्ट्रक्चर.

सामान्य माहिती

STM32CubeWBA MCU पॅकेज Arm® TrustZone® आणि FPU सह Arm® Cortex®-M32 प्रोसेसरवर आधारित STM32 33-बिट मायक्रोकंट्रोलरवर चालते.
टीप: आर्म आणि ट्रस्टझोन हे युएस आणि/किंवा इतरत्र आर्म लिमिटेडचे ​​(किंवा त्याच्या उपकंपन्या) नोंदणीकृत ट्रेडमार्क आहेत.

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 सिस्टम आणि फ्लॅश भाषांतर स्तर: Fileएक्स / लेव्हलएक्स
    • इंडस्ट्रियल ग्रेड नेटवर्किंग स्टॅक: बऱ्याच IoT प्रोटोकॉलसह येत असलेल्या कार्यक्षमतेसाठी ऑप्टिमाइझ केलेले: NetX Duo
    • ओपन बूटलोडर
    • Arm® विश्वसनीय फर्मवेअर-M (TF‑M) एकत्रीकरण समाधान
    • mbed-क्रिप्टो लायब्ररी
    • एसटी नेटवर्क लायब्ररी
    • एसटीएमटच टच सेन्सिंग लायब्ररी सोल्यूशन
  • या सर्व मिडलवेअर घटकांची अंमलबजावणी करणारे अनेक ऍप्लिकेशन्स आणि प्रात्यक्षिके STM32CubeWBA MCU पॅकेजमध्ये देखील प्रदान केली आहेत.
  • STM32CubeWBA MCU पॅकेज घटक लेआउट आकृती 1 मध्ये स्पष्ट केले आहे. STM32CubeWBA MCU पॅकेज घटक.

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-2

STM32CubeWBA आर्किटेक्चर संपलेview

STM32CubeWBA MCU पॅकेज सोल्यूशन तीन स्वतंत्र स्तरांभोवती तयार केले आहे जे आकृती 2 मध्ये वर्णन केल्याप्रमाणे सहज संवाद साधतात. STM32CubeWBA MCU पॅकेज आर्किटेक्चर.

STMicroelectronics-STM32WBA-Series-Getting-Started-fig-3

स्तर 0

हा स्तर तीन उपस्तरांमध्ये विभागलेला आहे:

  • बोर्ड समर्थन पॅकेज (BSP).
  • हार्डवेअर ॲब्स्ट्रॅक्शन लेयर (HAL):
    • HAL परिधीय ड्रायव्हर्स
    • लो-लेअर ड्रायव्हर्स
  • मूलभूत परिधीय वापर उदाampलेस

बोर्ड सपोर्ट पॅकेज (BSP)
हा लेयर हार्डवेअर बोर्डमधील हार्डवेअर घटकांच्या (जसे की LCD, ऑडिओ, \ microSD™ आणि MEMS ड्रायव्हर्स) संबंधित API चा संच ऑफर करतो. हे दोन भागांनी बनलेले आहे:

  • घटक चालक:
    हा ड्रायव्हर बोर्डवरील बाह्य उपकरणाशी संबंधित आहे, STM32 उपकरणाशी नाही. घटक ड्रायव्हर बीएसपी ड्रायव्हर बाह्य घटकांना विशिष्ट API प्रदान करतो आणि इतर कोणत्याही बोर्डवर पोर्टेबल असू शकतो.
  • बसप चालक:
    बीएसपी ड्रायव्हर घटक ड्रायव्हर्सना विशिष्ट बोर्डशी जोडण्याची परवानगी देतो आणि वापरकर्ता-अनुकूल संच प्रदान करतो
    API API नामकरण नियम BSP_FUNCT_Action() आहे.
    Example: BSP_LED_Init(), BSP_LED_On()
    बीएसपी एका मॉड्युलर आर्किटेक्चरवर आधारित आहे जे कोणत्याही हार्डवेअरवर फक्त निम्न-स्तरीय दिनचर्या लागू करून सहज पोर्टिंग करण्याची परवानगी देते.

हार्डवेअर ॲब्स्ट्रॅक्शन लेयर (HAL) आणि लो-लेयर (LL)
STM32CubeWBA HAL आणि LL हे पूरक आहेत आणि अर्ज आवश्यकतांची विस्तृत श्रेणी कव्हर करतात:

  • HAL ड्रायव्हर्स उच्च-स्तरीय फंक्शन-ओरिएंटेड उच्च पोर्टेबल API ऑफर करतात. ते अंतिम वापरकर्त्यासाठी MCU आणि परिधीय जटिलता लपवतात.
    HAL ड्रायव्हर्स जेनेरिक मल्टी-इन्स्टन्स फीचर-ओरिएंटेड API प्रदान करतात, जे वापरण्यास तयार प्रक्रिया प्रदान करून वापरकर्ता अनुप्रयोग अंमलबजावणी सुलभ करतात. उदाample, कम्युनिकेशन पेरिफेरल्ससाठी (I2S, UART, आणि इतर), हे एपीआय प्रदान करते जे परिधीय प्रारंभ आणि कॉन्फिगर करण्याची परवानगी देते, मतदानावर आधारित डेटा ट्रान्सफर व्यवस्थापित करते, व्यत्यय आणते किंवा DMA प्रक्रिया आणि संप्रेषणादरम्यान उद्भवू शकणाऱ्या संप्रेषण त्रुटी हाताळतात. HAL ड्रायव्हर API दोन श्रेणींमध्ये विभागले गेले आहेत:
    1. जेनेरिक API, जे सर्व STM32 मालिका मायक्रोकंट्रोलरना सामान्य आणि जेनेरिक कार्ये प्रदान करतात.
    2. एक्स्टेंशन API, जे विशिष्ट कुटुंबासाठी किंवा विशिष्ट भाग क्रमांकासाठी विशिष्ट आणि सानुकूलित कार्ये प्रदान करतात.
  • लो-लेयर API, नोंदणी स्तरावर कमी-स्तरीय API प्रदान करतात, चांगल्या ऑप्टिमायझेशनसह परंतु कमी पोर्टेबिलिटीसह.
    • त्यांना MCU आणि परिधीय वैशिष्ट्यांचे सखोल ज्ञान आवश्यक आहे.
    • LL ड्रायव्हर्सची रचना HAL पेक्षा हार्डवेअरच्या जवळ असणारा जलद हलका तज्ञ-केंद्रित स्तर प्रदान करण्यासाठी केला आहे. HAL च्या विरूद्ध, LL APIs अशा परिधीयांसाठी प्रदान केले जात नाहीत जेथे ऑप्टिमाइझ ऍक्सेस हे मुख्य वैशिष्ट्य नाही किंवा ज्यांना हेवी सॉफ्टवेअर कॉन्फिगरेशन किंवा जटिल उच्च-स्तरीय स्टॅकची आवश्यकता आहे.
    • एलएल ड्रायव्हर्सची वैशिष्ट्ये:
      • डेटा स्ट्रक्चर्समध्ये निर्दिष्ट केलेल्या पॅरामीटर्सनुसार परिधीय मुख्य वैशिष्ट्ये सुरू करण्यासाठी फंक्शन्सचा संच.
      • प्रत्येक फील्डशी संबंधित रिसेट व्हॅल्यूजसह इनिशिएलायझेशन डेटा स्ट्रक्चर्स भरण्यासाठी फंक्शन्सचा संच.
      • पेरिफेरल डिइनिटायलायझेशनसाठी कार्य (पेरिफेरल रजिस्टर्स त्यांच्या डीफॉल्ट मूल्यांवर पुनर्संचयित केले जातात).
      • थेट आणि अणु नोंदणी प्रवेशासाठी इनलाइन फंक्शन्सचा संच.
      • HAL पासून पूर्ण स्वातंत्र्य आणि स्टँडअलोन मोडमध्ये वापरण्याची क्षमता (HAL ड्रायव्हर्सशिवाय).
      • समर्थित परिधीय वैशिष्ट्यांचे संपूर्ण कव्हरेज.

मूलभूत परिधीय वापर उदाampलेस
हा थर भूतकाळाला जोडतोamples फक्त HAL आणि BSP संसाधने वापरून STM32 परिधीयांवर तयार केले आहे.

स्तर 1

हा स्तर दोन उपस्तरांमध्ये विभागलेला आहे:

  • मिडलवेअर घटक
  • Exampमिडलवेअर घटकांवर आधारित

मिडलवेअर घटक

  • मिडलवेअर हा Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®, लायब्ररींचा संच आहे.
  • मॅटर, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot, आणि mbed-crypto.
  • या लेयरच्या घटकांमधील क्षैतिज संवाद वैशिष्ट्यीकृत API ला कॉल करून केला जातो.
  • लो-लेयर ड्रायव्हर्ससह अनुलंब संवाद विशिष्ट कॉलबॅक आणि लायब्ररी सिस्टम कॉल इंटरफेसमध्ये लागू केलेल्या स्थिर मॅक्रोद्वारे केला जातो.
  • प्रत्येक मिडलवेअर घटकाची मुख्य वैशिष्ट्ये खालीलप्रमाणे आहेत:
    • Microsoft® Azure® RTOS
      • Azure® RTOS ThreadX: एक रिअल-टाइम ऑपरेटिंग सिस्टम (RTOS), दोन कार्यात्मक मोडसह एम्बेडेड सिस्टमसाठी डिझाइन केलेले.
        • कॉमन मोड: थ्रेड मॅनेजमेंट आणि सिंक्रोनाइझेशन, मेमरी पूल मॅनेजमेंट, मेसेजिंग आणि इव्हेंट हँडलिंग यासारख्या सामान्य RTOS कार्यक्षमता.
        • मॉड्यूल मोड: एक प्रगत वापरकर्ता मोड जो मॉड्यूल व्यवस्थापकाद्वारे फ्लायवर प्रीलिंक केलेले थ्रेडएक्स मॉड्यूल लोड आणि अनलोड करण्यास अनुमती देतो.
      • NetX Duo
      • FileX
      • यूएसबीएक्स
    • Bluetooth® Low Energy (BLE): लिंक आणि स्टॅक लेयर्ससाठी Bluetooth® लो एनर्जी प्रोटोकॉल लागू करते.
    • MCUboot (ओपन सोर्स सॉफ्टवेअर)
    • स्टॅक आणि संबंधित क्लस्टरसाठी Zigbee® प्रोटोकॉल.
    • Thread® प्रोटोकॉल स्टॅक आणि लिंक लेयर.
    • Arm® विश्वसनीय फर्मवेअर-M, TF‑M (ओपन-सोर्स सॉफ्टवेअर): TrustZone® साठी संबंधित सुरक्षित सेवांसह Arm® प्लॅटफॉर्म सुरक्षा आर्किटेक्चर (PSA) चे संदर्भ अंमलबजावणी.
    • mbed-क्रिप्टो (ओपन-सोर्स सॉफ्टवेअर): mbed-क्रिप्टो मिडलवेअर PSA क्रिप्टोग्राफी API अंमलबजावणी प्रदान करते.
    • STM32 टच सेन्सिंग लायब्ररी: मजबूत एसटीएमटच कॅपेसिटिव्ह टच सेन्सिंग सोल्यूशन, सपोर्टिंग प्रॉक्सिमिटी, टचकी, लिनियर आणि रोटरी टच सेन्सर्स. हे सिद्ध पृष्ठभाग चार्ज हस्तांतरण संपादन तत्त्वावर आधारित आहे.

Exampमिडलवेअर घटकांवर आधारित
प्रत्येक मिडलवेअर घटक एक किंवा अधिक माजी सह येतोamples (याला ऍप्लिकेशन देखील म्हणतात) ते कसे वापरावे हे दर्शविते. एकीकरण उदाampअनेक मिडलवेअर घटक वापरणारे les देखील प्रदान केले जातात.

STM32CubeWBA फर्मवेअर पॅकेज संपलेview

STM32WBA मालिका उपकरणे आणि हार्डवेअर समर्थित

  • STM32Cube जेनेरिक आर्किटेक्चरच्या आसपास तयार केलेला उच्च पोर्टेबल हार्डवेअर ॲब्स्ट्रॅक्शन लेयर (HAL) ऑफर करतो. हे बिल्ड-ऑन लेयर्स तत्त्वाला अनुमती देते, जसे की मिडलवेअर लेयर वापरून त्यांची कार्ये अंमलात आणण्यासाठी, सखोलपणे, MCU कोणता वापरला जातो. हे लायब्ररी कोड पुन्हा वापरण्यायोग्यता सुधारते आणि इतर उपकरणांसाठी सुलभ पोर्टेबिलिटी सुनिश्चित करते.
  • याव्यतिरिक्त, त्याच्या स्तरित आर्किटेक्चरबद्दल धन्यवाद, STM32CubeWBA सर्व STM32WBA मालिकेला पूर्ण समर्थन देते.
  • वापरकर्त्याने फक्त stm32wbaxx.h मध्ये योग्य मॅक्रो परिभाषित करणे आवश्यक आहे.
  • तक्ता 1 वापरलेल्या STM32WBA मालिका उपकरणावर अवलंबून परिभाषित करण्यासाठी मॅक्रो दाखवते. हा मॅक्रो कंपाइलर प्रीप्रोसेसरमध्ये देखील परिभाषित करणे आवश्यक आहे.
    तक्ता 1. STM32WBA मालिकेसाठी मॅक्रो
    मॅक्रो stm32wbaxx.h मध्ये परिभाषित STM32WBA मालिका उपकरणे
    stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6
    stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7

     

  • STM32CubeWBA मध्ये एक्सचा समृद्ध संच आहेampकोणत्याही HAL ड्रायव्हर किंवा मिडलवेअर घटकांना समजणे आणि वापरणे सोपे बनवणारे सर्व स्तरांवर les आणि अनुप्रयोग. या माजी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 फर्मवेअर पॅकेज स्ट्रक्चर.

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-4

  • प्रत्येक बोर्डसाठी, माजीamples मध्ये EWARM, MDK-ARM, आणि STM32CubeIDE टूलचेनसाठी प्रीकॉन्फिगर केलेले प्रकल्प प्रदान केले आहेत.
  • आकृती 4. STM32CubeWBA माजीampअधिकview NUCLEO‑WBA52CG, NUCLEO-WBA55CG आणि STM32WBA55G-DK1 बोर्डांसाठी प्रकल्प रचना दाखवते.

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-5

  • माजीamples चे वर्गीकरण STM32Cube स्तरावर अवलंबून असते ज्यावर ते लागू होतात आणि त्यांना खालील प्रमाणे नावे दिली जातात:
    • स्तर 0 माजीamples म्हणतात माजीampलेस, उदाamples_LL, आणि उदाamples_MIX. ते कोणत्याही मिडलवेअर घटकाशिवाय अनुक्रमे HAL ड्रायव्हर्स, LL ड्रायव्हर्स आणि HAL आणि LL ड्रायव्हर्सचे मिश्रण वापरतात.
    • स्तर 1 माजीamples ला Applications म्हणतात. ते प्रत्येक मिडलवेअर घटकाची विशिष्ट वापर प्रकरणे प्रदान करतात. दिलेल्या बोर्डसाठी कोणतेही फर्मवेअर ॲप्लिकेशन त्वरीत तयार केले जाऊ शकते. Templ ates आणि Templates_LL डिरेक्टरीमध्ये उपलब्ध टेम्पलेट प्रोजेक्ट्समुळे धन्यवाद.

TrustZone® सक्षम प्रकल्प

  • TrustZone® सक्षम केलेले उदाamples नावांमध्ये _TrustZone उपसर्ग असतो. नियम Application ns साठी देखील लागू केला जातो (TFM आणि SBSFU वगळता, जे मूळतः TrustZone® साठी आहेत).
  • TrustZone®-सक्षम उदाampलेस आणि ॲप्लिकेशन्सना आकृती 5 मध्ये सादर केल्याप्रमाणे सुरक्षित आणि असुरक्षित उपप्रकल्पांची बनलेली बहुप्रकल्प रचना प्रदान केली आहे. बहुप्रकल्प सुरक्षित आणि असुरक्षित प्रकल्प संरचना.
  • TrustZone®-सक्षम प्रकल्प CMSIS-5 डिव्हाइस टेम्पलेटनुसार विकसित केले जातात, सिस्टम विभाजन शीर्षलेख समाविष्ट करण्यासाठी विस्तारित केले जातात file विभाजन_ .h, जो सुरक्षित अंमलबजावणी स्थितीत सुरक्षित गुणधर्म युनिट (SAU), FPU आणि सुरक्षित/असुरक्षित व्यत्यय असाइनमेंटच्या सेटअपसाठी मुख्यतः जबाबदार आहे.
  • हे सेटअप सुरक्षित CMSIS SystemInit() फंक्शनमध्ये केले जाते, जे सुरक्षित ऍप्लिकेशन main() फंक्शनमध्ये प्रवेश करण्यापूर्वी स्टार्टअपवर कॉल केले जाते. सॉफ्टवेअर मार्गदर्शक तत्त्वांचे Arm® TrustZone®-M दस्तऐवजीकरण पहा.

    STMicroelectronics-STM32WBA-Series-Getting-Started-fig-6

  • STM32CubeWBA पॅकेज फर्मवेअर पॅकेज विभाजनामध्ये डिफॉल्ट मेमरी विभाजन प्रदान करते _ .ह fileअंतर्गत उपलब्ध आहे: \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T एम्प्लेट्स
  • या विभाजनांमध्ये files, SAU डीफॉल्टनुसार अक्षम केले आहे. परिणामी, IDAU मेमरी मॅपिंग सुरक्षा विशेषतासाठी वापरली जाते. RM0495 संदर्भ पुस्तिका मध्ये TrustZone® तंत्रज्ञान वापरून सुरक्षित/नॉन-सुरक्षित विभाजनाचा संदर्भ घ्या.
  • वापरकर्त्याने एसएयू सक्षम केल्यास, डिफॉल्ट एसएयू प्रदेश कॉन्फिगरेशन विभाजनामध्ये पूर्वनिर्धारित केले जाते. fileखालीलप्रमाणे s:
    • 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 सक्षम असल्यास). सुरक्षित/असुरक्षित अनुप्रयोग प्रकल्प लिंकर files देखील संरेखित करणे आवश्यक आहे.
  • सर्व माजीampलेसची रचना समान आहे:
    • सर्व शीर्षलेख असलेले \Inc फोल्डर files.
    • स्त्रोत कोड असलेले Src फोल्डर.
    • \EWARM, \MDK-ARM, आणि \STM32CubeIDE फोल्डर ज्यामध्ये प्रत्येक टूलचेनसाठी प्रीकॉन्फिगर केलेला प्रोजेक्ट आहे.
    • readme.md आणि readme.html माजीचे वर्णन करत आहेample वर्तन आणि ते कार्य करण्यासाठी आवश्यक वातावरण.
    • आयओसी file जे वापरकर्त्यांना बहुतेक फर्मवेअर उघडण्याची परवानगी देतेampSTM32CubeMX आत.

STM32CubeWBA सह प्रारंभ करणे

प्रथम HAL माजी चालवत आहेample

हा विभाग स्पष्ट करतो की प्रथम एक्स चालवणे किती सोपे आहेample STM32CubeWBA मध्ये. NUCLEO-WBA52CG बोर्डवर चालणाऱ्या साध्या LED टॉगलची निर्मिती हे उदाहरण म्हणून वापरते:

  1. STM32CubeWBA MCU पॅकेज डाउनलोड करा.
  2. तुमच्या आवडीच्या निर्देशिकेत अनझिप करा.
  3. आकृती 1 मध्ये दर्शविल्या संकुल संरचनेत फेरफार न केल्याची खात्री करा. तुमच्या रूट व्हॉल्यूम (म्हणजे C:\ST किंवा G:\Tests) जवळील ठिकाणी पॅकेज कॉपी करण्याची शिफारस देखील केली जाते, कारण काही IDEs ला मार्गात अडचणी येतात. लांबी खूप लांब आहे.

प्रथम TrustZone® चालू करणे उदाample

  • TrustZone® सक्षम लोड करण्यापूर्वी आणि चालवण्यापूर्वी उदाampले, माजी वाचणे अनिवार्य आहेampमी वाचतो file कोणत्याही विशिष्ट कॉन्फिगरेशनसाठी, जे सेक्शन 4.2.1 TrustZone® सक्षम प्रकल्प (TZEN=1 (वापरकर्ता पर्याय बाइट)) मध्ये वर्णन केल्याप्रमाणे सुरक्षा सक्षम केली आहे याची खात्री करते.
    1. \Projects\NUCLEO-WBA52CG\Ex वर ब्राउझ कराampलेस
    2. \GPIO, नंतर \GPIO_IOToggle_TrustZone फोल्डर उघडा.
    3. तुमच्या पसंतीच्या टूलचेनसह प्रकल्प उघडा. एक झटपट ओव्हरview माजी कसे उघडायचे, तयार करायचे आणि चालवायचेampसमर्थित टूलचेन्ससह le खाली दिले आहे.
    4. सर्व सुरक्षित आणि असुरक्षित प्रकल्प अनुक्रमाने पुन्हा तयार करा files आणि सुरक्षित आणि असुरक्षित प्रतिमा लक्ष्य मेमरीमध्ये लोड करा.
    5. माजी चालवाample: नियमितपणे, सुरक्षित अनुप्रयोग प्रत्येक सेकंदाला LD2 टॉगल करतो आणि असुरक्षित अनुप्रयोग LD3 ला दुप्पट वेगाने टॉगल करतो. अधिक तपशीलांसाठी, रीडमी पहा file माजी च्याampले
  • माजी उघडण्यासाठी, तयार करण्यासाठी आणि चालविण्यासाठीampसमर्थित टूलचेनसह, खालील चरणांचे अनुसरण करा:
    • ईवार्म:
      1. माजी अंतर्गतample फोल्डर, \EWARM सबफोल्डर उघडा.
      2. Project.eww वर्कस्पेस लाँच करा
      3. xxxxx_S सुरक्षित प्रकल्प पुन्हा तयार करा files: [प्रकल्प]>[सर्व पुन्हा तयार करा].
      4. xxxxx_NS असुरक्षित प्रकल्प सक्रिय अनुप्रयोग म्हणून सेट करा (xxxxx_NS प्रकल्पावर उजवे क्लिक करा [सक्रिय म्हणून सेट करा])
      5. xxxxx_NS असुरक्षित प्रकल्प पुन्हा तयार करा files: [प्रकल्प]>[सर्व पुन्हा तयार करा].
      6. [प्रोजेक्ट]>[डाउनलोड]>[सक्रिय अनुप्रयोग डाउनलोड करा] सह असुरक्षित बायनरी फ्लॅश करा.
      7. xxxxx_S सक्रिय अनुप्रयोग म्हणून सेट करा (xxxxx_S प्रकल्पावर उजवे क्लिक करा [सक्रिय म्हणून सेट करा].
      8. सुरक्षित बायनरी [डाउनलोड आणि डीबग] (Ctrl+D) सह फ्लॅश करा.
      9. प्रोग्राम चालवा: [डीबग]>[जा(F5)]
    • MDK-ARM:
      1. \MDK-ARM टूलचेन उघडा.
      2. मल्टीप्रोजेक्ट्स वर्कस्पेस उघडा file प्रोजेक्ट.uvmpw.
      3. xxxxx_s प्रकल्प सक्रिय अनुप्रयोग म्हणून निवडा ([सक्रिय प्रकल्प म्हणून सेट करा]).
      4. xxxxx_s प्रकल्प तयार करा.
      5. xxxxx_ns प्रकल्प सक्रिय प्रकल्प म्हणून निवडा ([सक्रिय प्रकल्प म्हणून सेट करा]).
      6. xxxxx_ns प्रकल्प तयार करा.
      7. असुरक्षित बायनरी लोड करा ([F8]). हे फ्लॅश मेमरीमध्ये \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf डाउनलोड करते)
      8. Project_s प्रकल्प सक्रिय प्रकल्प म्हणून निवडा ([सक्रिय प्रकल्प म्हणून सेट करा]).
      9. सुरक्षित बायनरी लोड करा ([F8]). हे फ्लॅश मेमरीमध्ये \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf डाउनलोड करते).
      10. माजी चालवाampले
    • STM32CubeIDE:
      1. STM32CubeIDE टूलचेन उघडा.
      2. मल्टीप्रोजेक्ट्स वर्कस्पेस उघडा file .प्रकल्प.
      3. xxxxx_Secure प्रकल्प पुन्हा तयार करा.
      4. xxxxx_NonSecure प्रकल्प पुन्हा तयार करा.
      5. सुरक्षित प्रकल्पासाठी [STM32 Cortex-M C/C++ म्हणून डीबग] अनुप्रयोग लाँच करा.
      6. [कॉन्फिगरेशन संपादित करा] विंडोमध्ये, [स्टार्टअप] पॅनेल निवडा आणि असुरक्षित प्रकल्पाची प्रतिमा आणि चिन्हे जोडा.
        महत्त्वाचे: सुरक्षित प्रकल्पापूर्वी असुरक्षित प्रकल्प लोड करणे आवश्यक आहे.
      7. क्लिक करा [ओके].
      8. माजी चालवाampडीबग दृष्टीकोनावर le.

प्रथम TrustZone® अक्षम केलेले माजीample

  • TrustZone® ला लोड करण्यापूर्वी आणि चालवण्यापूर्वी अक्षम केले आहेampले, माजी वाचणे अनिवार्य आहेampमी वाचतो file कोणत्याही विशिष्ट कॉन्फिगरेशनसाठी. कोणतेही विशिष्ट उल्लेख नसल्यास, बोर्ड डिव्हाइसमध्ये सुरक्षितता अक्षम असल्याची खात्री करा (TZEN=0 (वापरकर्ता पर्याय बाइट)). TZEN = 0 वर पर्यायी प्रतिगमन करण्यासाठी FAQ पहा
    1. \Projects\NUCLEO-WBA52CG\Ex वर ब्राउझ कराampलेस
    2. \GPIO, नंतर \GPIO_EXTI फोल्डर उघडा.
    3. तुमच्या पसंतीच्या टूलचेनसह प्रकल्प उघडा. एक झटपट ओव्हरview माजी कसे उघडायचे, तयार करायचे आणि चालवायचेampसमर्थित टूलचेन्ससह le खाली दिले आहे.
    4. सर्व पुन्हा तयार करा files आणि तुमची प्रतिमा लक्ष्य मेमरीमध्ये लोड करा.
    5. माजी चालवाample: प्रत्येक वेळी [USER] पुश-बटण दाबल्यावर, LD1 LED टॉगल होते. अधिक तपशीलांसाठी, रीडमी पहा file माजी च्याampले
  • माजी उघडण्यासाठी, तयार करण्यासाठी आणि चालविण्यासाठीampसमर्थित टूलचेनसह, खालील चरणांचे अनुसरण करा:
    • ईवार्म:
      1. माजी अंतर्गतample फोल्डर, \EWARM सबफोल्डर उघडा.
      2. Project.eww वर्कस्पेस लाँच करा (वर्कस्पेसचे नाव एका माजी पासून बदलू शकतेampदुसऱ्याला).
      3. सर्व पुन्हा तयार करा files: [प्रकल्प]>[सर्व पुन्हा तयार करा].
      4. प्रकल्प प्रतिमा लोड करा: [प्रकल्प]>[डीबग].
      5. प्रोग्राम चालवा: [डीबग]>[जा (F5)].
    • MDK-ARM:
      1. माजी अंतर्गतample फोल्डर, \MDK-ARM सबफोल्डर उघडा.
      2. Project.uvproj वर्कस्पेस लाँच करा (वर्कस्पेसचे नाव एका माजी पासून बदलू शकतेampदुसऱ्याला).
      3. सर्व पुन्हा तयार करा files:[प्रोजेक्ट]>[सर्व लक्ष्य पुन्हा तयार करा files].
      4. प्रोजेक्ट इमेज लोड करा: [डीबग]>[डीबग सेशन सुरू/थांबवा].
      5. प्रोग्राम चालवा: [डीबग]>[रन (F5)].
    • STM32CubeIDE:
      1. STM32CubeIDE टूलचेन उघडा.
      2. क्लिक करा [File]>[वर्कस्पेस स्विच करा]>[इतर] आणि STM32CubeIDE कार्यस्थान निर्देशिका ब्राउझ करा.
      3. क्लिक करा [File]>[आयात], [सामान्य]>[विद्यमान प्रकल्प वर्कस्पेसमध्ये] निवडा, आणि नंतर [पुढील] क्लिक करा.
      4. STM32CubeIDE कार्यक्षेत्र निर्देशिकेवर ब्राउझ करा आणि प्रकल्प निवडा.
      5. सर्व प्रकल्प पुन्हा तयार करा files: [प्रोजेक्ट एक्सप्लोरर] विंडोमध्ये प्रोजेक्ट निवडा त्यानंतर [प्रोजेक्ट]>[बिल्ड प्रोजेक्ट] मेनूवर क्लिक करा.
      6. प्रोग्राम चालवा: [चालवा]>[डीबग (F11)]
सानुकूल अनुप्रयोग विकसित करणे

टीप: सॉफ्टवेअरने फ्लॅश मेमरीमधून 0 वेट-स्टेट एक्झिक्युशन मिळविण्यासाठी आणि कमाल कार्यक्षमतेपर्यंत आणि अधिक चांगल्या पॉवर वापरापर्यंत पोहोचण्यासाठी इंस्ट्रक्शन कॅशे (ICACHE) सक्षम करणे आवश्यक आहे.

अनुप्रयोग विकसित किंवा अद्यतनित करण्यासाठी STM32CubeMX वापरणे

  • STM32CubeWBA MCU पॅकेजमध्ये, जवळजवळ सर्व प्रकल्प माजीamples STM32CubeMX टूलसह सिस्टीम, पेरिफेरल्स आणि मिडलवेअर सुरू करण्यासाठी व्युत्पन्न केले जातात.
  • विद्यमान प्रकल्पाचा थेट वापर माजीampSTM32CubeMX टूलमधील le साठी STM32CubeMX 6.10.0 किंवा उच्च आवश्यक आहे:
    • STM32CubeMX स्थापित केल्यानंतर, प्रस्तावित प्रकल्प उघडा आणि आवश्यक असल्यास अद्यतनित करा. विद्यमान प्रकल्प उघडण्याचा सर्वात सोपा मार्ग म्हणजे *.ioc वर डबल-क्लिक करणे file जेणेकरून STM32CubeMX आपोआप प्रकल्प आणि त्याचा स्रोत उघडेल files.
    • STM32CubeMX अशा प्रकल्पांचे आरंभिक स्त्रोत कोड व्युत्पन्न करते. मुख्य ऍप्लिकेशन सोर्स कोड "USER CODE BEGIN" आणि "USER CODE END" या टिप्पण्यांद्वारे समाविष्ट आहे. आयपी निवड आणि सेटिंग सुधारित झाल्यास, STM32CubeMX कोडचा आरंभ भाग अपडेट करते परंतु मुख्य अनुप्रयोग स्त्रोत कोड जतन करते.
  • STM32CubeMX मध्ये सानुकूल प्रकल्प विकसित करण्यासाठी, चरण-दर-चरण प्रक्रियेचे अनुसरण करा:
    1. पेरिफेरल्सच्या आवश्यक संचाशी जुळणारा STM32 मायक्रोकंट्रोलर निवडा.
    2. पिनआउट-कॉन्फ्लिक्ट सॉल्व्हर, क्लॉक-ट्री सेटिंग हेल्पर, पॉवर कंझम्पशन कॅल्क्युलेटर आणि MCU पेरिफेरल कॉन्फिगरेशन (जसे की GPIO किंवा USART) आणि मिडलवेअर स्टॅक (जसे की USB) करत असलेली युटिलिटी वापरून सर्व आवश्यक एम्बेडेड सॉफ्टवेअर कॉन्फिगर करा.
    3. निवडलेल्या कॉन्फिगरेशनवर आधारित इनिशिएलायझेशन सी कोड व्युत्पन्न करा. हा कोड अनेक विकास वातावरणात वापरण्यासाठी तयार आहे. वापरकर्ता कोड पुढील कोड जनरेशनवर ठेवला जातो.
  • STM32CubeMX बद्दल अधिक माहितीसाठी, STM32 कॉन्फिगरेशन आणि इनिशिएलायझेशन C कोड जनरेशन (UM32) साठी वापरकर्ता मॅन्युअल STM1718CubeMX पहा.
  • उपलब्ध प्रकल्पाच्या यादीसाठी उदाampSTM32CubeWBA साठी les, ऍप्लिकेशन नोट पहा STM32Cube फर्मवेअर माजीamples for STM32WBA मालिका (AN5929).

ड्रायव्हर अनुप्रयोग

HAL अर्ज
हा विभाग STM32CubeWBA वापरून सानुकूल HAL अनुप्रयोग तयार करण्यासाठी आवश्यक असलेल्या चरणांचे वर्णन करतो:

  1. एक प्रकल्प तयार करा
    • नवीन प्रकल्प तयार करण्यासाठी, \Projects\ अंतर्गत प्रत्येक बोर्डसाठी प्रदान केलेल्या टेम्पलेट प्रकल्पापासून सुरुवात करा. \Templates किंवा \Projects\ अंतर्गत उपलब्ध असलेल्या कोणत्याही प्रकल्पातून \परीक्षेची विनंती किंवा \प्रकल्प\ अनुप्रयोग (कुठे बोर्ड नावाचा संदर्भ देते, जसे की STM32CubeWBA).
    • टेम्पलेट प्रकल्प रिक्त मुख्य लूप कार्य प्रदान करते. तथापि, STM32CubeWBA प्रकल्प सेटिंग्ज समजून घेणे हा एक चांगला प्रारंभ बिंदू आहे. टेम्पलेटमध्ये खालील वैशिष्ट्ये आहेत:
      • त्यामध्ये HAL सोर्स कोड, CMSIS आणि BSP ड्रायव्हर्स असतात, जे दिलेल्या बोर्डवर कोड विकसित करण्यासाठी आवश्यक घटकांचा किमान संच असतो.
      • यात सर्व फर्मवेअर घटकांसाठी समाविष्ट केलेले पथ समाविष्ट आहेत.
      • हे समर्थित STM32WBA मालिका उपकरणे परिभाषित करते, CMSIS आणि HAL ड्रायव्हर्सना योग्यरित्या कॉन्फिगर करण्यास अनुमती देते.
      • हे वापरण्यास तयार वापरकर्ता प्रदान करते fileखाली दर्शविल्याप्रमाणे पूर्व-कॉन्फिगर केलेले आहे:
        HAL ने Arm® core SysTick सह डीफॉल्ट टाइम बेससह प्रारंभ केला. HAL_Delay() उद्देशासाठी SysTick ISR लागू केले.
        टीप: विद्यमान प्रकल्प दुसऱ्या स्थानावर कॉपी करताना, समाविष्ट केलेले सर्व पथ अद्यतनित केले असल्याचे सुनिश्चित करा.
  2. वापरकर्ता प्रकल्पात आवश्यक मिडलवेअर जोडा (पर्यायी)
    स्त्रोत ओळखण्यासाठी files प्रकल्पात जोडले जातील file सूची, प्रत्येक मिडलवेअरसाठी प्रदान केलेल्या कागदपत्रांचा संदर्भ घ्या. \Projects\STM32xxx_yyy\Applications\ अंतर्गत अनुप्रयोगांचा संदर्भ घ्या (कुठे मिडलवेअर स्टॅकचा संदर्भ देते, जसे की ThreadX) कोणता स्त्रोत जाणून घेण्यासाठी files आणि मार्ग समाविष्ट करणे आवश्यक आहे.
  3. फर्मवेअर घटक कॉन्फिगर करा
    HAL आणि मिडलवेअर घटक हेडरमध्ये घोषित मॅक्रो #define वापरून बिल्ड-टाइम कॉन्फिगरेशन पर्यायांचा संच देतात file. टेम्पलेट कॉन्फिगरेशन file प्रत्येक घटकामध्ये प्रदान केले जाते, जे प्रोजेक्ट फोल्डरमध्ये कॉपी केले जावे (सामान्यतः कॉन्फिगरेशन file xxx_conf_template.h असे नाव दिले आहे, प्रोजेक्ट फोल्डरमध्ये कॉपी करताना _template हा शब्द काढून टाकणे आवश्यक आहे). कॉन्फिगरेशन file प्रत्येक कॉन्फिगरेशन पर्यायाचा प्रभाव समजून घेण्यासाठी पुरेशी माहिती प्रदान करते. प्रत्येक घटकासाठी प्रदान केलेल्या दस्तऐवजीकरणामध्ये अधिक तपशीलवार माहिती उपलब्ध आहे.
  4. एचएएल लायब्ररी सुरू करा
    मुख्य प्रोग्रामवर गेल्यानंतर, HAL लायब्ररी सुरू करण्यासाठी ऍप्लिकेशन कोडने HAL_Init() API ला कॉल करणे आवश्यक आहे, जे खालील कार्ये पार पाडते:
    • फ्लॅश मेमरी प्रीफेच आणि सिस्टिक इंटरप्ट प्रायोरिटीचे कॉन्फिगरेशन (st m32wbaxx_hal_conf.h मध्ये परिभाषित केलेल्या मॅक्रोद्वारे).
    • stm32wbaxx_hal_conf.h मध्ये परिभाषित केलेल्या SysTick इंटरप्ट प्रायोरिटी TICK_INT_PRIO वर प्रत्येक मिलिसेकंदात व्यत्यय निर्माण करण्यासाठी SysTick चे कॉन्फिगरेशन.
    • NVIC गटाचे प्राधान्य 0 वर सेट करणे.
    • HAL_MspInit() कॉलबॅक फंक्शनचा कॉल stm32wbaxx_hal_msp.c वापरकर्त्यामध्ये परिभाषित file जागतिक निम्न-स्तरीय हार्डवेअर प्रारंभ करण्यासाठी.
  5. सिस्टम घड्याळ कॉन्फिगर करा
    खाली वर्णन केलेल्या दोन API ला कॉल करून सिस्टम क्लॉक कॉन्फिगरेशन केले जाते:
    • HAL_RCC_OscConfig(): हे API अंतर्गत आणि बाह्य ऑसिलेटर कॉन्फिगर करते. वापरकर्ता एक किंवा सर्व ऑसिलेटर कॉन्फिगर करणे निवडतो.
    • HAL_RCC_ClockConfig(): हे API सिस्टीम क्लॉक सोर्स, फ्लॅश मेमरी लेटन्सी आणि AHB आणि APB prescalers कॉन्फिगर करते.
  6. परिधीय आरंभ करा
    • प्रथम परिधीय HAL_PPP_MspInit फंक्शन लिहा. खालीलप्रमाणे पुढे जा:
      • परिधीय घड्याळ सक्षम करा.
      • परिधीय GPIO कॉन्फिगर करा.
      • DMA चॅनेल कॉन्फिगर करा आणि DMA व्यत्यय सक्षम करा (आवश्यक असल्यास).
      • परिधीय व्यत्यय सक्षम करा (आवश्यक असल्यास).
    • आवश्यक असल्यास, आवश्यक इंटरप्ट हँडलर (पेरिफेरल आणि DMA) कॉल करण्यासाठी stm32xxx_it.c संपादित करा.
    • पेरिफेरल व्यत्यय किंवा DMA वापरण्याची योजना असल्यास, प्रक्रिया पूर्ण कॉलबॅक कार्ये लिहा.
    • वापरकर्ता main.c मध्ये file, पेरिफेरल हँडल स्ट्रक्चर इनिशियल करा नंतर पेरिफेरल इनिशियलाइज करण्यासाठी HAL_PPP_Init() फंक्शनला कॉल करा.
  7. अनुप्रयोग विकसित करा
    • यावेळी एसtage, प्रणाली तयार आहे आणि वापरकर्ता अनुप्रयोग कोड विकास सुरू होऊ शकतो.
    • परिधीय कॉन्फिगर करण्यासाठी HAL अंतर्ज्ञानी आणि वापरण्यास तयार API प्रदान करते. कोणत्याही अनुप्रयोग आवश्यकता सामावून घेण्यासाठी ते मतदान, व्यत्यय आणि DMA प्रोग्रामिंग मॉडेलचे समर्थन करते. प्रत्येक पेरिफेरल कसे वापरावे याबद्दल अधिक तपशीलांसाठी, रिच एक्स पहाample सेट STM32CubeWBA MCU पॅकेजमध्ये प्रदान केला आहे.
      खबरदारी: डीफॉल्ट HAL अंमलबजावणीमध्ये, SysTick टाइमर टाइमबेस म्हणून वापरला जातो: तो नियमित वेळेच्या अंतराने व्यत्यय निर्माण करतो. परिधीय ISR प्रक्रियेतून HAL_Delay() कॉल केले असल्यास, SysTick interrupt ला परिधीय व्यत्ययापेक्षा उच्च प्राधान्य (संख्यात्मकदृष्ट्या कमी) असल्याची खात्री करा. अन्यथा, कॉलर ISR प्रक्रिया अवरोधित केली जाईल. टाइमबेस कॉन्फिगरेशनवर परिणाम करणारी कार्ये वापरकर्त्यामध्ये इतर अंमलबजावणीच्या बाबतीत ओव्हरराइड शक्य करण्यासाठी __कमकुवत म्हणून घोषित केली जातात file (सामान्य-उद्देश टायमर वापरणे, उदाample, किंवा इतर वेळ स्रोत). अधिक तपशीलांसाठी, HAL_TimeBase ex पहाampले

एलएल अर्ज
हा विभाग STM32CubeWBA वापरून सानुकूल LL अनुप्रयोग तयार करण्यासाठी आवश्यक असलेल्या चरणांचे वर्णन करतो.

  1. एक प्रकल्प तयार करा
    • नवीन प्रकल्प तयार करण्यासाठी, \Projects\ अंतर्गत प्रत्येक बोर्डसाठी प्रदान केलेल्या Templates_LL प्रकल्पापासून सुरुवात करा. \Templates_LL, किंवा \Projects\ अंतर्गत उपलब्ध असलेल्या कोणत्याही प्रकल्पातून \उदाamples_LL ( बोर्ड नावाचा संदर्भ देते, जसे की NUCLEO-WBA32CG).
    • टेम्प्लेट प्रोजेक्ट रिक्त मुख्य लूप फंक्शन प्रदान करतो, जो STM32CubeWBA साठी प्रोजेक्ट सेटिंग्ज समजून घेण्यासाठी एक चांगला प्रारंभ बिंदू आहे. टेम्पलेटची मुख्य वैशिष्ट्ये खालीलप्रमाणे आहेत:
      • त्यामध्ये LL आणि CMSIS ड्रायव्हर्सचे स्त्रोत कोड असतात, जे दिलेल्या बोर्डवर कोड विकसित करण्यासाठी आवश्यक घटकांचा किमान संच असतो.
      • त्यात सर्व आवश्यक फर्मवेअर घटकांसाठी समाविष्ट केलेले मार्ग आहेत.
      • हे समर्थित STM32WBA मालिका डिव्हाइस निवडते आणि CMSIS आणि LL ड्रायव्हर्सचे योग्य कॉन्फिगरेशन करण्यास अनुमती देते.
      • हे वापरण्यास तयार वापरकर्ता प्रदान करते fileखालीलप्रमाणे पूर्व-कॉन्फिगर केलेले आहेत:
        ◦ main.h: LED आणि USER_BUTTON व्याख्या ॲब्स्ट्रॅक्शन लेयर.
        ◦ main.c: कमाल वारंवारतेसाठी सिस्टम क्लॉक कॉन्फिगरेशन.
  2. विद्यमान प्रकल्प दुसऱ्या बोर्डवर पोर्ट करा
    दुसऱ्या लक्ष्य बोर्डवर विद्यमान प्रकल्पाला समर्थन देण्यासाठी, प्रत्येक बोर्डसाठी प्रदान केलेल्या Templates_LL प्रकल्पापासून प्रारंभ करा आणि \Projects\ अंतर्गत उपलब्ध करा. \Templates_LL.
    • एलएल माजी निवडाample: बोर्ड शोधण्यासाठी ज्यावर LL माजीamples तैनात आहेत, एलएल माजी यादी पहाamples STM32CubeProjectsList.html.
  3. एलएल पोर्ट करा माजीampले:
    • Templates_LL फोल्डर कॉपी/पेस्ट करा – प्रारंभिक स्त्रोत ठेवण्यासाठी – किंवा विद्यमान Temp lates_LL प्रोजेक्ट थेट अपडेट करा.
    • मग पोर्टिंगमध्ये मुख्यतः Templates_LL बदलणे समाविष्ट असते fileमाजी द्वारे samples_LL लक्ष्यित प्रकल्प.
    • सर्व बोर्ड विशिष्ट भाग ठेवा. स्पष्टतेच्या कारणास्तव, बोर्डचे विशिष्ट भाग विशिष्टसह ध्वजांकित केले जातात tags:

      STMicroelectronics-STM32WBA-Series-Getting-Started-fig-7

    • अशा प्रकारे, मुख्य पोर्टिंग चरण खालीलप्रमाणे आहेत:
      • stm32wbaxx_it.h बदला file
      • stm32wbaxx_it.c बदला file
      • main.h बदला file आणि ते अपडेट करा: बोर्ड स्पेसिफिक कॉन्फिगरेशन अंतर्गत LL टेम्पलेटची LED आणि वापरकर्ता बटण व्याख्या ठेवा tags.
      • main.c बदला file आणि ते अद्यतनित करा:
    • SystemClock_Config() LL टेम्पलेट फंक्शनचे घड्याळ कॉन्फिगरेशन बोर्ड स्पेसिफिक कॉन्फिगरेशन अंतर्गत ठेवा tags.
    • LED व्याख्येनुसार, प्रत्येक LDx घटना मुख्य.h मध्ये उपलब्ध असलेल्या दुसऱ्या LDy सह बदला. file.
    • या बदलांसह, माजीample आता लक्ष्यित बोर्डवर चालते

सुरक्षा अनुप्रयोग
हे पॅकेज सुरक्षा अनुप्रयोगांसह वितरित केले जाते.

SBSFU अनुप्रयोग

  • SBSFU एक रूट ऑफ ट्रस्ट सोल्यूशन प्रदान करते, ज्यात सुरक्षित बूट आणि सुरक्षित फर्मवेअर अपडेट कार्ये (MCUboot वर आधारित) समाविष्ट आहेत.
  • अनुप्रयोग कार्यान्वित करण्यापूर्वी समाधान वापरले जाते.
  • उपाय एक माजी प्रदानampसुरक्षित सेवेचा le (GPIO टॉगल), जो असुरक्षित अनुप्रयोगापासून वेगळा आहे. रनटाइममध्ये असुरक्षित ॲप्लिकेशन अजूनही हा उपाय वापरू शकतो.

TFM अनुप्रयोग
TFM एक रूट ऑफ ट्रस्ट सोल्यूशन प्रदान करते ज्यात सुरक्षित बूट आणि सुरक्षित फर्मवेअर अपडेट कार्ये समाविष्ट आहेत
(MCUboot वर आधारित). अनुप्रयोग कार्यान्वित करण्यापूर्वी समाधान वापरले जाते. सोल्यूशन TFM सुरक्षित सेवा प्रदान करते ज्या असुरक्षित अनुप्रयोगापासून वेगळ्या आहेत. रनटाइममध्ये असुरक्षित ॲप्लिकेशन अजूनही हा उपाय वापरू शकतो.

आरएफ अनुप्रयोग
या ऍप्लिकेशन नोटमध्ये RF ऍप्लिकेशनचे वर्णन केले आहे: STM32WBA सिरीज मायक्रोकंट्रोलर (AN5928) सह वायरलेस ऍप्लिकेशन्स तयार करणे.

STM32CubeWBA प्रकाशन अद्यतने मिळवत आहे
नवीनतम STM32CubeWBA MCU पॅकेज रिलीझ आणि पॅचेस STM32WBA मालिकेतून उपलब्ध आहेत. ते STM32CubeMX मधील अद्यतनासाठी तपासा बटणावरून पुनर्प्राप्त केले जाऊ शकतात. अधिक तपशिलांसाठी, STM3 कॉन्फिगरेशन आणि इनिशिएलायझेशन C कोड जनरेशन (UM32) साठी वापरकर्ता मॅन्युअल STM32CubeMX चे कलम 1718 पहा.

वारंवार विचारले जाणारे प्रश्न

  • एलएल ड्रायव्हर्सऐवजी मी एचएएल कधी वापरावे?
    • एचएएल ड्रायव्हर्स उच्च-स्तरीय आणि फंक्शन-ओरिएंटेड API प्रदान करतात, उच्च पातळीच्या पोर्टेबिलिटीसह. अंतिम वापरकर्त्यांसाठी उत्पादन किंवा परिधीय जटिलता लपलेली आहे.
    • एलएल ड्रायव्हर्स कमी-स्तर रजिस्टर लेव्हल API ऑफर करतात, चांगल्या ऑप्टिमायझेशनसह परंतु कमी पोर्टेबल. त्यांना उत्पादन किंवा IP तपशीलांचे सखोल ज्ञान आवश्यक आहे.
  • मी HAL आणि LL ड्रायव्हर्स एकत्र वापरू शकतो का? जर मी करू शकलो तर काय अडथळे आहेत?
    • HAL आणि LL दोन्ही ड्रायव्हर्स वापरणे शक्य आहे. IP इनिशिएलायझेशन टप्प्यासाठी HAL वापरा आणि नंतर LL ड्रायव्हर्ससह I/O ऑपरेशन्स व्यवस्थापित करा.
    • HAL आणि LL मधील मुख्य फरक हा आहे की HAL ड्रायव्हर्सना ऑपरेशन मॅनेजमेंटसाठी हँडल तयार करणे आणि वापरणे आवश्यक आहे तर LL ड्रायव्हर्स थेट पेरिफेरल रजिस्टरवर कार्य करतात. माजीamples_MIX माजीample HAL आणि LL कसे मिसळायचे ते स्पष्ट करते.
  • LL आरंभीकरण API कसे सक्षम केले जातात?
    • LL इनिशिएलायझेशन API आणि संबंधित संसाधने (स्ट्रक्चर्स, लिटरल्स आणि प्रोटोटाइप) ची व्याख्या USE_FULL_LL_DRIVER संकलन स्विचद्वारे कंडिशन केलेली आहे.
    • LL आरंभीकरण API वापरण्यास सक्षम होण्यासाठी, टूलचेन कंपाइलर प्रीप्रोसेसरमध्ये हे स्विच जोडा.
  • एम्बेडेड सॉफ्टवेअरवर आधारित STM32CubeMX कोड कसा तयार करू शकतो?
    STM32CubeMX कडे STM32 मायक्रोकंट्रोलर्सचे अंगभूत ज्ञान आहे, ज्यात त्यांचे परिधीय आणि सॉफ्टवेअर समाविष्ट आहे जे वापरकर्त्याला ग्राफिकल प्रतिनिधित्व प्रदान करण्यास आणि *.h किंवा *.c निर्माण करण्यास अनुमती देते. files वापरकर्ता कॉन्फिगरेशनवर आधारित आहे.

महत्वाची सूचना – काळजीपूर्वक वाचा

  • STMicroelectronics NV आणि त्याच्या उपकंपन्या (“ST”) ST उत्पादनांमध्ये आणि/किंवा या दस्तऐवजात कोणत्याही वेळी सूचना न देता बदल, सुधारणा, सुधारणा, सुधारणा आणि सुधारणा करण्याचा अधिकार राखून ठेवतात. खरेदीदारांनी ऑर्डर देण्यापूर्वी एसटी उत्पादनांची नवीनतम माहिती मिळवावी. ऑर्डर पावतीच्या वेळी एसटी उत्पादनांची विक्री एसटीच्या अटी आणि नियमांनुसार केली जाते.
  • एसटी उत्पादनांची निवड, निवड आणि वापर यासाठी खरेदीदार पूर्णपणे जबाबदार आहेत आणि एसटी अर्ज सहाय्यासाठी किंवा खरेदीदारांच्या उत्पादनांच्या डिझाइनसाठी कोणतेही दायित्व गृहीत धरत नाही.
  • कोणताही बौद्धिक संपदा अधिकाराचा कोणताही परवाना, व्यक्त किंवा निहित, येथे एसटीकडून मंजूर नाही.
  • येथे नमूद केलेल्या माहितीपेक्षा वेगळ्या तरतुदींसह एसटी उत्पादनांची पुनर्विक्री अशा उत्पादनासाठी एसटीने दिलेली कोणतीही हमी रद्द करेल.
  • एसटी आणि एसटी लोगो हे एसटीचे ट्रेडमार्क आहेत. ST ट्रेडमार्कबद्दल अतिरिक्त माहितीसाठी, www.st.com/trademarks पहा. इतर सर्व उत्पादन किंवा सेवा नावे त्यांच्या संबंधित मालकांची मालमत्ता आहेत.
  • या दस्तऐवजातील माहिती या दस्तऐवजाच्या कोणत्याही आधीच्या आवृत्त्यांमध्ये पूर्वी पुरवलेल्या माहितीची जागा घेते आणि पुनर्स्थित करते.
  • © 2023 STMicroelectronics – सर्व हक्क राखीव

कागदपत्रे / संसाधने

STMicroelectronics STM32WBA मालिका सुरू होत आहे [pdf] वापरकर्ता मॅन्युअल
STM32WBA मालिका सुरू करणे, प्रारंभ करणे, प्रारंभ करणे

संदर्भ

एक टिप्पणी द्या

तुमचा ईमेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित आहेत *