STMicroelectronics-لوگو

STMicroelectronics STM32WBA سيريز شروع ٿي رهيو آهي

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

پيداوار جي ڄاڻ

وضاحتون:

  • پيداوار جو نالو: STM32CubeWBA MCU پيڪيج
  • ٺاهيندڙ: ايس ٽي مائڪرو اليڪٽرانڪس
  • مطابقت: STM32WBA سيريز microcontrollers
  • لائسنس ڏيڻ: اوپن سورس BSD لائسنس

پيداوار جي استعمال جون هدايتون

STM32CubeWBA MCU پيڪيج جون مکيه خاصيتون:
STM32CubeWBA MCU پيڪيج STM32WBA سيريز مائڪرو ڪنٽرولرز تي ايپليڪيشنون ٺاهڻ لاءِ سڀ ضروري ايمبيڊڊ سافٽ ويئر جزا فراهم ڪري ٿو. اهو STM32 سيريز ۾ انتهائي پورٽبل آهي ۽ HAL ۽ LL APIs سان گڏ اچي ٿو، مثال طورamples، ۽ مڊل ويئر اجزاء.

فن تعمير ختمview:
STM32CubeWBA MCU پيڪيج جو آرڪيٽيڪچر ٽن سطحن تي مشتمل آهي - ايپليڪيشنون، لائبريري ۽ پروٽوڪول تي ٻڌل اجزاء، هارڊويئر تجريدي پرت، بي ايس پي ڊرائيور، ڪور ڊرائيور، ۽ گھٽ-پرت APIs.

FAQ

  • STM32CubeWBA MCU پيڪيج ۾ ڇا شامل آهي؟
    پيڪيج ۾ گھٽ-پرت (LL) ۽ هارڊويئر خلاصي پرت (HAL) APIs شامل آھن، مثال طورamples, applications, Middleware components like FileX/LevelX، NetX Duo، mbed-crypto لائبريريون، ۽ وڌيڪ.
  • ڇا STM32CubeWBA MCU پيڪيج STM32CubeMX ڪوڊ جنريٽر سان مطابقت رکي ٿو؟
    ها، پيڪيج مڪمل طور تي مطابقت رکي ٿو STM32CubeMX ڪوڊ جنريٽر سان شروعاتي ڪوڊ ٺاهڻ لاءِ.

تعارف

  • STM32Cube هڪ STMicroelectronics جي اصل شروعات آهي، جيڪا ترقي جي ڪوشش، وقت ۽ لاڳت کي گهٽائڻ سان خاص طور تي ڊزائنر جي پيداوار کي بهتر بڻائي ٿي. STM32Cube پوري STM32 پورٽ فوليو کي ڍڪي ٿو.
    STM32Cube ۾ شامل آھن:
    • صارف دوست سافٽ ويئر ڊولپمينٽ ٽولز جو هڪ سيٽ پروجيڪٽ ڊولپمينٽ کي تصور کان احساس تائين ڍڪڻ لاءِ، جن مان هي آهن:
      • STM32CubeMX، هڪ گرافڪ سافٽ ويئر ترتيب ڏيڻ وارو اوزار جيڪو اجازت ڏئي ٿو خودڪار طريقي سان سي شروعاتي ڪوڊ جو گرافڪ جادوگر استعمال ڪندي
      • STM32CubeIDE، پردي جي ترتيب، ڪوڊ جنريشن، ڪوڊ گڏ ڪرڻ، ۽ ڊيبگ خصوصيتن سان گڏ هڪ آل-ان-ون ڊولپمينٽ ٽول
      • STM32CubeCLT، هڪ آل ان ون ڪمانڊ لائين ڊولپمينٽ ٽول سيٽ ڪوڊ گڏ ڪرڻ، بورڊ پروگرامنگ، ۽ ڊيبگ فيچرز سان
      • STM32CubeProgrammer (STM32CubeProg)، ھڪڙو پروگرامنگ اوزار موجود آھي گرافڪ ۽ ڪمانڊ لائن ورزن ۾
      • STM32CubeMonitor (STM32CubeMonitor، STM32CubeMonPwr، STM32CubeMonRF، STM32CubeMonUCPD)، حقيقي وقت ۾ STM32 ايپليڪيشنن جي رويي ۽ ڪارڪردگي کي ٺيڪ ڪرڻ لاءِ طاقتور نگراني جا اوزار
    • STM32Cube MCU ۽ MPU پيڪيجز، جامع ايمبيڊڊ-سافٽ ويئر پليٽ فارمز مخصوص هر مائڪرو ڪنٽرولر ۽ مائڪرو پروسيسر سيريز لاءِ (جهڙوڪ STM32CubeWBA STM32WBA سيريز لاءِ)، جنهن ۾ شامل آهن:
      • STM32Cube هارڊويئر ايبسٽرڪشن پرت (HAL)، STM32 پورٽ فوليو ۾ وڌ کان وڌ پورٽبلٽي کي يقيني بڻائي
      • STM32Cube گھٽ-پرت APIs، هارڊويئر تي صارف جي ڪنٽرول جي اعلي درجي سان بهترين ڪارڪردگي ۽ پيرن جي نشانن کي يقيني بڻائي ٿي
      • مڊل ويئر اجزاء جو هڪ مسلسل سيٽ جهڙوڪ ThreadX، FileX / LevelX, NetX Duo, USBX, touch library, mbed-crypto, TFM, MCUboot, OpenBL, and STM32_WPAN (بشمول Bluetooth® Low Energy profiles ۽ خدمتون، ميش، Zigbee®، OpenThread، Matter، ۽ 802.15.4 MAC پرت)
      • سموريون ايمبيڊڊ سافٽ ويئر يوٽيلٽيز سان گڏ پردي جي مڪمل سيٽن ۽ اپليڪيٽو examples
    • STM32Cube Expansion Packages، جنهن ۾ شامل ٿيل سافٽ ويئر جزا شامل آهن جيڪي STM32Cube MCU ۽ MPU پيڪيجز جي ڪارڪردگيءَ کي مڪمل ڪن ٿا:
      • مڊل ويئر ايڪسٽينشن ۽ ايپليڪيشن پرت
      • Examples ڪجهه مخصوص STMicroelectronics ڊولپمينٽ بورڊ تي هلندڙ
  • هي يوزر مينوئل بيان ڪري ٿو ته ڪيئن شروع ڪجي STM32CubeWBA MCU Package.
    • سيڪشن 2 STM32CubeWBA مکيه خاصيتون بيان ڪري ٿي STM32CubeWBA MCU پيڪيج جي بنيادي خصوصيتن کي.
    • سيڪشن 3 STM32CubeWBA فن تعمير ختمview اوور مهيا ڪري ٿوview STM32CubeWBA آرڪيٽيڪچر ۽ MCU پيڪيج جي جوڙجڪ جو.

عام معلومات

STM32CubeWBA MCU پيڪيج STM32 32-bit microcontrollers تي هلندو آهي Arm® Cortex®-M33 پروسيسر تي ٻڌل Arm® TrustZone® ۽ FPU سان.
نوٽ: Arm ۽ TrustZone آمريڪا ۽/يا ٻين هنڌن تي Arm Limited (يا ان جي ماتحت ادارن) جا رجسٽرڊ ٽريڊ مارڪ آهن.

STM32CubeWBA مکيه خاصيتون

  • STM32CubeWBA MCU پيڪيج STM32 32-bit microcontrollers تي هلندو آهي Arm® Cortex®-M33 پروسيسر جي بنياد تي TrustZone® ۽ FPU سان.
  • STM32CubeWBA گڏ ڪري ٿو، ھڪڙي ھڪڙي پيڪيج ۾، سڀني عام ايمبيڊڊ سافٽ ويئر اجزاء کي STM32WBA سيريز مائڪرو ڪنٽرولرز لاء ايپليڪيشن تيار ڪرڻ جي ضرورت آھي. STM32Cube جي شروعات جي مطابق، اجزاء جو هي سيٽ انتهائي پورٽبل آهي، نه رڳو STM32WBA سيريز مائڪرو ڪنٽرولرز جي اندر، پر ٻين STM32 سيريز تائين پڻ.
  • STM32CubeWBA مڪمل طور تي مطابقت رکي ٿو STM32CubeMX ڪوڊ جنريٽر سان، شروعاتي ڪوڊ ٺاهڻ لاءِ. پيڪيج ۾ گھٽ-پرت (LL) ۽ هارڊويئر ايبسٽرڪشن پرت (HAL) APIs شامل آهن جيڪي مائڪرو ڪنٽرولر هارڊويئر کي ڍڪيندا آهن، گڏوگڏ هڪ وسيع سيٽ سان گڏ.ampSTMicroelectronics بورڊ تي هلندڙ. HAL ۽ LL APIs موجود آهن اوپن سورس BSD لائسنس ۾ صارف جي سهولت لاءِ.
  • STM32CubeWBA MCU پئڪيج ۾ Microsoft® Azure® RTOS مڊل ويئر جي چوڌاري ٺهيل هڪ جامع مڊل ويئر جزو پڻ شامل آهي، ۽ ٻيا اندروني ۽ اوپن سورس اسٽيڪ، لاڳاپيل اڳوڻي سان.amples.
  • اهي مفت، صارف دوست لائسنس جي شرطن سان گڏ ايندا آهن:
    • مربوط ۽ مڪمل خصوصيت وارو Azure® RTOS: Azure® RTOS ThreadX
    • Azure® RTOS ThreadX سان CMSIS-RTOS عملدرآمد
    • يو ايس بي هوسٽ ۽ ڊيوائس اسٽيڪ ڪيترن ئي طبقن سان گڏ اچي رهيا آهن: Azure® RTOS USBX
    • ترقي يافته file سسٽم ۽ فليش ترجمو پرت: Fileايڪس / ليول ايڪس
    • صنعتي گريڊ نيٽ ورڪنگ اسٽيڪ: ڪيترن ئي IoT پروٽوڪول سان گڏ ڪارڪردگي لاءِ بهتر ڪيل: NetX Duo
    • OpenBootloader
    • Arm® قابل اعتماد فرم ویئر-M (TF-M) انضمام حل
    • mbed-crypto لائبريريون
    • ايس ٽي نيٽ ورڪ لائبريري
    • ايس ٽي ايم ٽچ ٽچ سينسنگ لائبريري حل
  • ڪيترن ئي ايپليڪيشنن ۽ مظاهرن کي لاڳو ڪندڙ انهن مڊل ويئر اجزاء کي 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

هن سطح کي ٽن sublayers ۾ ورهايل آهي:

  • بورڊ سپورٽ پيڪيج (BSP).
  • هارڊويئر تجريدي پرت (HAL):
    • HAL پردي ڊرائيور
    • گھٽ-پرت ڊرائيور
  • بنيادي پردي جو استعمال مثال طورamples.

بورڊ سپورٽ پيڪيج (BSP)
هي پرت هارڊويئر بورڊز ۾ هارڊويئر حصن جي نسبت سان APIs جو هڪ سيٽ پيش ڪري ٿو (جهڙوڪ LCD، آڊيو، \ microSD™، ۽ MEMS ڊرائيور). اهو ٻن حصن تي مشتمل آهي:

  • اجزاء ڊرائيور:
    هي ڊرائيور بورڊ تي ٻاهرين ڊوائيس سان لاڳاپيل آهي، ۽ نه STM32 ڊوائيس سان. جزو ڊرائيور بي ايس پي ڊرائيور جي ٻاهرين حصن کي مخصوص APIs مهيا ڪري ٿو ۽ ڪنهن ٻئي بورڊ تي پورٽبل ٿي سگهي ٿو.
  • بي ايس پي ڊرائيور:
    BSP ڊرائيور جزو ڊرائيورن کي مخصوص بورڊ سان ڳنڍڻ جي اجازت ڏئي ٿو، ۽ صارف-دوست جو هڪ سيٽ مهيا ڪري ٿو
    APIs. API نالي جو قاعدو آهي BSP_FUNCT_Action().
    Example: BSP_LED_Init(), BSP_LED_On()
    بي ايس پي هڪ ماڊيولر آرڪيٽيڪچر تي مبني آهي جيڪا ڪنهن به هارڊويئر تي آسان پورٽنگ جي اجازت ڏئي ٿي صرف هيٺين سطح جي معمولن کي لاڳو ڪندي.

هارڊويئر تجريدي پرت (HAL) ۽ گھٽ-پرت (LL)
STM32CubeWBA HAL ۽ LL مڪمل آهن ۽ ايپليڪيشن گهرجن جي وسيع رينج کي ڍڪيندا آهن:

  • HAL ڊرائيور پيش ڪن ٿا اعلي سطحي فنڪشن تي مبني انتهائي پورٽبل APIs. اهي MCU ۽ پردي جي پيچيدگي کي آخري استعمال ڪندڙ کي لڪائيندا آهن.
    HAL ڊرائيور عام گھڻن مثالن جي خصوصيت تي مبني APIs مهيا ڪن ٿا، جيڪي استعمال ڪرڻ لاءِ تيار عمل مهيا ڪري صارف جي ايپليڪيشن تي عمل درآمد کي آسان بڻائين ٿا. مثال لاءِample، ڪميونيڪيشن پرديئرز لاءِ (I2S، UART، ۽ ٻيا)، اهو APIs مهيا ڪري ٿو پردي کي شروع ڪرڻ ۽ ترتيب ڏيڻ، پولنگ جي بنياد تي ڊيٽا جي منتقلي کي منظم ڪرڻ، مداخلت ڪرڻ، يا DMA عمل، ۽ ڪميونيڪيشن جي دوران پيدا ٿيندڙ مواصلاتي غلطين کي سنڀالڻ. HAL ڊرائيور APIs کي ٻن ڀاڱن ۾ ورهايو ويو آھي:
    1. عام APIs، جيڪي سڀني STM32 سيريز مائڪرو ڪنٽرولرز کي عام ۽ عام ڪم مهيا ڪن ٿا.
    2. ايڪسٽينشن APIs، جيڪي مخصوص خاندان يا مخصوص پارٽ نمبر لاءِ مخصوص ۽ ڪسٽمائيز ڪم مهيا ڪن ٿا.
  • گهٽ-پرت APIs مهيا ڪن ٿيون گهٽ-سطح APIs رجسٽرڊ سطح تي، بهتر اصلاح سان پر گهٽ پوربلٽي.
    • انهن کي MCU ۽ پردي جي وضاحتن جي گهڻي ڄاڻ جي ضرورت آهي.
    • ايل ايل ڊرائيورز هڪ تيز ٿلهي وزن جي ماهر تي مبني پرت پيش ڪرڻ لاءِ ٺاهيا ويا آهن جيڪي HAL کان وڌيڪ هارڊويئر جي ويجهو آهن. HAL جي برعڪس، LL APIs پرديئرز لاءِ مهيا نه ڪيا ويا آهن جتي بهتر رسائي هڪ اهم خصوصيت نه آهي، يا انهن لاءِ جن کي ڳري سافٽ ويئر ترتيب يا پيچيده اپر-ليول اسٽيڪ جي ضرورت آهي.
    • ايل ايل ڊرائيور خاصيتون:
      • ڊيٽا جي جوڙجڪ ۾ بيان ڪيل پيرا ميٽرز جي مطابق پردي جي مکيه خصوصيتن کي شروع ڪرڻ لاء افعال جو هڪ سيٽ.
      • ڪمن جو هڪ سيٽ شروعاتي ڊيٽا جي جوڙجڪ کي ڀرڻ لاءِ هر فيلڊ سان ملندڙ ري سيٽ ويلز سان.
      • پردي جي ختم ٿيڻ لاءِ فنڪشن (پريفيرل رجسٽرز انهن جي ڊفالٽ ويلز تي بحال ڪيا ويا).
      • سڌي ۽ ايٽمي رجسٽر جي رسائي لاءِ ان لائن افعال جو هڪ سيٽ.
      • HAL کان مڪمل آزادي ۽ اسٽينڊل موڊ ۾ استعمال ٿيڻ جي صلاحيت (بغير HAL ڊرائيورن جي).
      • سپورٽ ٿيل پردي جي خاصيتن جي مڪمل ڪوريج.

بنيادي پردي جو استعمال مثال طورamples
هي پرت اڳوڻي کي بند ڪري ٿوamples صرف HAL ​​۽ BSP وسيلن کي استعمال ڪندي STM32 پرديئرز تي ٺهيل.

سطح 1

هن سطح کي ٻن sublayers ۾ ورهايل آهي:

  • مڊل ويئر اجزاء
  • Examples مڊل ويئر اجزاء تي ٻڌل آهي

مڊل ويئر اجزاء

  • مڊل ويئر لائبريرين جو هڪ سيٽ آهي جنهن ۾ Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
  • Matter، OpenBootloader، Microsoft® Azure® RTOS، TF‑M، MCUboot، ۽ mbed-crypto.
  • هن پرت جي اجزاء جي وچ ۾ افقي رابطي خاص APIs کي سڏڻ سان ڪيو ويندو آهي.
  • گھٽ-پرت ڊرائيورن سان عمودي رابطو مخصوص ڪال بڪس ۽ لائبريري سسٽم ڪال انٽرفيس ۾ لاڳو ٿيل جامد ميڪرو ذريعي ڪيو ويندو آهي.
  • هر مڊل ويئر جزو جي مکيه خاصيتون هن ريت آهن:
    • Microsoft® Azure® RTOS
      • Azure® RTOS ThreadX: هڪ حقيقي وقت آپريٽنگ سسٽم (RTOS)، ٺهيل سسٽم لاء ٺهيل ٻن فنڪشنل طريقن سان.
        • عام موڊ: عام RTOS ڪارڪردگي جهڙوڪ ٿريڊ مينيجمينٽ ۽ هم وقت سازي، ميموري پول مينيجمينٽ، ميسيجنگ، ۽ ايونٽ هينڊلنگ.
        • ماڊل موڊ: ھڪڙو ترقي يافته صارف موڊ جيڪو ھڪڙي ماڊل مئنيجر ذريعي پرواز تي اڳ لنڪ ٿيل ThreadX ماڊلز کي لوڊ ڪرڻ ۽ ان لوڊ ڪرڻ جي اجازت ڏئي ٿو.
      • NetX Duo
      • FileX
      • يو ايس بي ايڪس
    • Bluetooth® Low Energy (BLE): بلوٽوٿ® لو انرجي پروٽوڪول کي لاڳو ڪري ٿو لنڪ ۽ اسٽيڪ پرت لاءِ.
    • MCUboot (اوپن سورس سافٽ ويئر)
    • Zigbee® اسٽيڪ ۽ لاڳاپيل ڪلستر لاء پروٽوڪول.
    • Thread® پروٽوڪول اسٽيڪ ۽ لنڪ پرت.
    • Arm® قابل اعتماد فرم ویئر-M, TF-M (اوپن سورس سافٽ ويئر): حوالو لاڳو ڪرڻ Arm® پليٽ فارم سيڪيورٽي آرڪيٽيڪچر (PSA) TrustZone® لاءِ لاڳاپيل محفوظ خدمتن سان.
    • mbed-crypto (اوپن سورس سافٽ ويئر): mbed-crypto مڊل ويئر مهيا ڪري ٿو PSA cryptography API عمل درآمد.
    • STM32 ٽچ سينسنگ لائبريري: مضبوط STMTouch capacitive ٽچ سينسنگ حل، سپورٽ قربت، ٽچڪي، لڪير ۽ روٽري ٽچ سينسر. اهو ثابت ٿيل سطح چارج جي منتقلي جي حصول جي اصول تي ٻڌل آهي.

Examples مڊل ويئر اجزاء تي ٻڌل آهي
هر مڊل ويئر جزو هڪ يا وڌيڪ اڳوڻي سان گڏ اچي ٿوamples (ايپليڪيشن پڻ سڏيو ويندو آهي) ڏيکاريو ته اهو ڪيئن استعمال ڪجي. انضمام Examples جيڪي استعمال ڪن ٿا ڪيترن ئي مڊل ويئر اجزاء پڻ مهيا ڪيا ويا آهن.

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 خاصيتن جو هڪ امير سيٽ examples ۽ ايپليڪيشنن کي سڀني سطحن تي سمجھڻ ۽ استعمال ڪرڻ آسان بڻائي ٿو HAL ڊرائيور يا مڊل ويئر اجزاء. اهي سابقampٽيبل 2 ۾ ڏنل STMicroelectronics بورڊن تي هلن ٿا.
    ٽيبل 2. STM32WBA سيريز لاءِ بورڊ
    بورڊ بورڊ STM32WBA سپورٽ ڊوائيسز
    NUCLEO-WBA52CG STM32WBA52CGU6
    NUCLEO-WBA55CG STM32WBA55CGU6
    STM32WBA55-DK1 STM32WBA55CGU7
  • STM32CubeWBA MCU پيڪيج ڪنهن به مطابقت رکندڙ هارڊويئر تي هلائي سگھي ٿو. صارف صرف مهيا ڪيل اڳوڻي پورٽ ڪرڻ لاء BSP ڊرائيورز کي اپڊيٽ ڪري ٿوamples بورڊ تي، جيڪڏهن بعد ۾ ساڳيا هارڊويئر خاصيتون آهن (جهڙوڪ LED، LCD ڊسپلي، ۽ بٽڻ).
فرم ویئر پيڪيج ختمview
  • STM32CubeWBA پيڪيج حل هڪ واحد زپ پيڪيج ۾ مهيا ڪيو ويو آهي جنهن جي جوڙجڪ شڪل 3 ۾ ڏيکاريل آهي. STM32CubeWBA فرم ویئر پيڪيج جي جوڙجڪ.

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

  • هر بورڊ لاء، اڳوڻي جو هڪ سيٽamples EWARM، MDK-ARM، ۽ STM32CubeIDE toolchains لاءِ اڳواٽ ترتيب ڏنل منصوبن سان مهيا ڪيل آھي.
  • شڪل 4. STM32CubeWBA exampختمview NUCLEO-WBA52CG، NUCLEO-WBA55CG ۽ STM32WBA55G-DK1 بورڊن لاءِ پروجيڪٽ جي جوڙجڪ ڏيکاري ٿي.

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

  • سابقampSTM32Cube جي سطح تي منحصر ڪري les جي درجه بندي ڪئي وئي آھي جيڪي اھي لاڳو ٿين ٿا، ۽ اھي ھيٺ ڏنل آھن:
    • ليول 0 examples سڏيو ويندو آهي Examples، Examples_LL، ۽ Examples_MIX. اهي استعمال ڪن ٿا ترتيب وار HAL ڊرائيور، LL ڊرائيور، ۽ HAL ۽ LL ڊرائيورن جو ميلاپ بغير ڪنهن وچولي واري حصي جي.
    • ليول 1 examples کي ايپليڪيشنون سڏيو ويندو آهي. اهي هر مڊل ويئر جزو جا عام استعمال ڪيس مهيا ڪن ٿا. ڏنل بورڊ لاءِ ڪنهن به فرم ویئر ايپليڪيشن کي جلدي ٺاهي سگهجي ٿو ٽيمپليٽ پروجيڪٽس جي مهرباني Templ ates ۽ Templates_LL ڊاريڪٽريز ۾ موجود.

TrustZone® فعال منصوبا

  • TrustZone® فعال Examples نالن تي مشتمل آهي _TrustZone اڳياڙي. ضابطو لاڳو ٿئي ٿو ايپليڪيشن اين ايس لاءِ (سواءِ TFM ۽ SBSFU، جيڪي اصل ۾ TrustZone® لاءِ آهن).
  • TrustZone®-فعال Examples ۽ ايپليڪيشنون مهيا ڪيون ويون آهن هڪ گهڻ پراجيڪٽ جي ڍانچي سان ٺهيل آهي محفوظ ۽ غير محفوظ ذيلي پروجيڪٽس جيئن تصوير 5 ۾ پيش ڪيو ويو آهي. ملٽي پروجيڪٽ محفوظ ۽ غير محفوظ پروجيڪٽ جي جوڙجڪ
  • TrustZone®-enabled پروجيڪٽس CMSIS-5 ڊيوائس ٽيمپليٽ جي مطابق ٺاهيا ويا آھن، سسٽم ورھاڱي واري ھيڊر کي شامل ڪرڻ لاءِ وڌايو ويو آھي file ورهاڱو_ .h، جيڪو خاص طور تي محفوظ ايٽريبيوٽ يونٽ (SAU) جي سيٽ اپ لاءِ ذميوار آهي، ايف پي يو، ۽ محفوظ عملدرآمد واري حالت ۾ محفوظ/غير محفوظ مداخلت واري تفويض.
  • هي سيٽ اپ محفوظ CMSIS SystemInit() فنڪشن ۾ ڪيو ويندو آهي، جيڪو محفوظ ايپليڪيشن مين () فنڪشن ۾ داخل ٿيڻ کان اڳ شروع ٿيڻ تي سڏيو ويندو آهي. حوالو ڏيو Arm® TrustZone®-M سافٽ ويئر جي هدايتن جي دستاويز.

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

  • STM32CubeWBA پيڪيج فرم ویئر پيڪيج ڊيفالٽ ميموري ورهاڱي ۾ مهيا ڪري ٿو _ ايڇ files ھيٺ موجود آھي: \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T ايمپليٽس
  • ان ورهاڱي ۾ files، SAU ڊفالٽ طور بند ٿيل آهي. نتيجي طور، IDAU ميموري ميپنگ سيڪيورٽي انتساب لاء استعمال ڪيو ويندو آهي. RM0495 ريفرنس مينوئل ۾ TrustZone® ٽيڪنالاجي استعمال ڪندي فگر محفوظ/غير محفوظ ورهاڱي جو حوالو ڏيو.
  • جيڪڏهن صارف SAU کي فعال ڪري ٿو، هڪ ڊفالٽ SAU علائقن جي ترتيب ورهاڱي ۾ اڳواٽ بيان ڪيل آهي files هن ريت آهي:
    • 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 کي پڻ ترتيب ڏيڻ گهرجي.
  • سڀ سابقamples جي ساڳي جوڙجڪ آهي:
    • \Inc فولڊر جنهن ۾ سڀ هيڊر شامل آهن files.
    • ايس آر سي فولڊر جنهن ۾ سورس ڪوڊ هجي.
    • \EWARM، \MDK-ARM، ۽ \STM32CubeIDE فولڊر جيڪي هر ٽول چين لاءِ اڳواٽ ترتيب ڏنل پروجيڪٽ تي مشتمل آهن.
    • readme.md ۽ readme.html وضاحت ڪندي اڳوڻيampان کي ڪم ڪرڻ لاءِ رويي ۽ گهربل ماحول.
    • ioc file جيڪو صارفين کي اڪثر فرم ويئر کولڻ جي اجازت ڏئي ٿو examples اندر STM32CubeMX.

STM32CubeWBA سان شروع ڪرڻ

پهريون HAL هلائي رهيو آهي example

هي سيڪشن بيان ڪري ٿو ته اهو ڪيئن سادو آهي پهريون ايڪس هلائڻ لاءampلي اندر اندر STM32CubeWBA. اهو NUCLEO-WBA52CG بورڊ تي هلندڙ هڪ سادي LED ٽوگل جي نسل کي مثال طور استعمال ڪري ٿو:

  1. ڊائون لوڊ ڪريو STM32CubeWBA MCU پيڪيج.
  2. ان کي ان زپ ڪريو پنھنجي پسند جي ڊاريڪٽري ۾.
  3. پڪ ڪريو ته تصوير 1 ۾ ڏيکاريل پئڪيج جي جوڙجڪ کي تبديل نه ڪيو وڃي. اهو پڻ سفارش ڪئي وئي آهي ته پيڪيج کي نقل ڪريو توهان جي روٽ حجم جي ويجهو جڳهه تي (مطلب C:\ST يا G:\Tests)، جيئن ڪجهه IDEs کي مشڪلاتن کي منهن ڏيڻو پوي ٿو جڏهن رستو ڊگھائي تمام ڊگھي آھي.

هلائڻ وارو پهريون TrustZone® فعال example

  • لوڊ ڪرڻ ۽ هلائڻ کان اڳ TrustZone® فعال ٿيل example, ان کي پڙهڻ لازمي آهي exampمون کي پڙهو file ڪنهن به مخصوص تشڪيل لاءِ، جيڪا يقيني بڻائي ٿي ته سيڪيورٽي فعال آهي جيئن سيڪشن 4.2.1 TrustZone® فعال ڪيل پروجيڪٽس (TZEN=1 (يوزر آپشن بائيٽ)) ۾ بيان ڪيل آهي.
    1. براؤز ڪريو \Projects\NUCLEO-WBA52CG\Examples.
    2. کوليو \GPIO، پوءِ \GPIO_IOToggle_TrustZone فولڊر.
    3. پنھنجي پسند جي ٽول چين سان پروجيڪٽ کوليو. هڪ جلدي ختمview اڳوڻي ڪيئن کولڻ، تعمير ڪرڻ ۽ هلائڻ تيample سپورٽ ٿيل ٽول چينز سان هيٺ ڏنل آهي.
    4. ترتيب ۾ ٻيهر تعمير ڪريو تمام محفوظ ۽ غير محفوظ منصوبو files ۽ محفوظ ۽ غير محفوظ تصويرون لوڊ ڪريو ٽارگيٽ ميموري ۾.
    5. اڳوڻي کي هلائيample: باقاعده طور تي، محفوظ ايپليڪيشن LD2 کي هر سيڪنڊ کي ٽوگل ڪري ٿو، ۽ غير محفوظ ايپليڪيشن LD3 کي ٻه ڀيرا تيز ڪري ٿو. وڌيڪ تفصيل لاءِ، ريڊمي ڏانهن رجوع ڪريو file اڳوڻي جوampلي.
  • کولڻ، ٺاھڻ ۽ هلائڻ لاءِ اڳواٽampسپورٽ ٿيل ٽول چينز سان، هيٺ ڏنل قدمن تي عمل ڪريو:
    • EWARM:
      1. اڳوڻي هيٺample فولڊر، کوليو \ EWARM ذيلي فولڊر.
      2. Project.eww ڪم اسپيس لانچ ڪريو
      3. ٻيهر تعمير ڪريو xxxxx_S محفوظ منصوبو files: [پروجيڪٽ]>[سڀ ٻيهر ٺاهيو].
      4. xxxxx_NS غير محفوظ پروجيڪٽ کي فعال ايپليڪيشن طور سيٽ ڪريو (xxxxx_NS پروجيڪٽ تي صحيح ڪلڪ ڪريو [Set as Active])
      5. ٻيهر تعمير ڪريو xxxxx_NS غير محفوظ منصوبو files: [پروجيڪٽ]>[سڀ ٻيهر ٺاهيو].
      6. غير محفوظ بائنري کي فليش ڪريو [پروجيڪٽ]>[ڊائون لوڊ]>[ڊاؤن لوڊ فعال ايپليڪيشن].
      7. سيٽ ڪريو xxxxx_S کي فعال ايپليڪيشن طور (سائيٽ ڪلڪ ڪريو xxxxx_S پروجيڪٽ [Set as Active].
      8. محفوظ بائنري کي فليش ڪريو [ڊائون لوڊ ۽ ڊيبگ] (Ctrl+D) سان.
      9. پروگرام هلايو: [Debug]>[Go(F5)]
    • MDK-ARM:
      1. کوليو \MDK-ARM toolchain.
      2. ملٽي پروجيڪٽ ڪم اسپيس کوليو file پروجيڪٽ.uvmpw.
      3. xxxxx_s پروجيڪٽ کي فعال ايپليڪيشن طور چونڊيو ([Set as Active Project]).
      4. xxxxx_s پروجيڪٽ ٺاهيو.
      5. xxxxx_ns پروجيڪٽ کي ايڪٽو پروجيڪٽ طور چونڊيو ([سيٽ ايڪٽو پروجيڪٽ]).
      6. xxxxx_ns پروجيڪٽ ٺاهيو.
      7. غير محفوظ بائنري لوڊ ڪريو ([F8]). هي ڊائون لوڊ ڪري ٿو \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf فليش ميموري ڏانهن)
      8. منتخب ڪريو پروجيڪٽ_s پروجيڪٽ کي فعال پروجيڪٽ جي طور تي ([Set as Active Project]).
      9. محفوظ بائنري لوڊ ڪريو ([F8]). هي ڊائون لوڊ ڪري ٿو \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf فليش ميموري ڏانهن).
      10. اڳوڻي کي هلائيampلي.
    • STM32CubeIDE:
      1. STM32CubeIDE ٽول چين کوليو.
      2. ملٽي پروجيڪٽ ڪم اسپيس کوليو file پروجيڪٽ.
      3. xxxxx_Secure پروجيڪٽ کي ٻيهر ٺاهيو.
      4. xxxxx_NonSecure پروجيڪٽ کي ٻيهر ٺاهيو.
      5. شروع ڪريو [Debug as STM32 Cortex-M C/C++] ايپليڪيشن محفوظ منصوبي لاءِ.
      6. ونڊو ۾ [Edit configuration] ونڊو، چونڊيو [Startup] پينل، ۽ شامل ڪريو لوڊ ڪريو تصوير ۽ غير محفوظ پروجيڪٽ جي علامت.
        اهم: غير محفوظ منصوبي کي محفوظ منصوبي کان اڳ لوڊ ڪيو وڃي.
      7. ڪلڪ ڪريو [Ok].
      8. اڳوڻي کي هلائيample debug perspective تي.

هڪ پهريون TrustZone® هلائڻ وارو معذور example

  • لوڊ ڪرڻ ۽ هلائڻ کان اڳ TrustZone® غير فعال ٿيل example, ان کي پڙهڻ لازمي آهي exampمون کي پڙهو file ڪنهن مخصوص تشڪيل لاءِ. جيڪڏهن ڪو خاص ذڪر نه آهي، پڪ ڪريو ته بورڊ ڊوائيس سيڪيورٽي غير فعال آهي (TZEN = 0 (يوزر آپشن بائيٽ)). TZEN = 0 تي اختياري ريگريشن ڪرڻ لاءِ اڪثر سوال ڏسو
    1. براؤز ڪريو \Projects\NUCLEO-WBA52CG\Examples.
    2. کوليو \GPIO، پوءِ \GPIO_EXTI فولڊر.
    3. پنھنجي پسند جي ٽول چين سان پروجيڪٽ کوليو. هڪ جلدي ختمview اڳوڻي ڪيئن کولڻ، تعمير ڪرڻ ۽ هلائڻ تيample سپورٽ ٿيل ٽول چينز سان هيٺ ڏنل آهي.
    4. سڀني کي ٻيهر ٺاهيو files ۽ پنهنجي تصوير کي ٽارگيٽ ميموري ۾ لوڊ ڪريو.
    5. اڳوڻي کي هلائيample: هر دفعي [USER] push-button کي دٻايو ويندو آهي، LD1 LED ٽگل ٿيندي آهي. وڌيڪ تفصيل لاءِ، ريڊمي ڏانهن رجوع ڪريو file اڳوڻي جوampلي.
  • کولڻ، ٺاھڻ ۽ هلائڻ لاءِ اڳواٽampسپورٽ ٿيل ٽول چينز سان، هيٺ ڏنل قدمن تي عمل ڪريو:
    • EWARM:
      1. اڳوڻي هيٺample فولڊر، کوليو \ EWARM ذيلي فولڊر.
      2. Project.eww ڪم اسپيس لانچ ڪريو (ڪم جي جڳھ جو نالو تبديل ٿي سگھي ٿو ھڪڙي اڳوڻيampٻئي ڏانهن).
      3. سڀني کي ٻيهر ٺاهيو files: [پروجيڪٽ]>[سڀ ٻيهر ٺاهيو].
      4. پروجيڪٽ جي تصوير لوڊ ڪريو: [Project]>[Debug].
      5. پروگرام هلايو: [Debug]> [Go (F5)].
    • MDK-ARM:
      1. اڳوڻي هيٺample فولڊر، کوليو \MDK-ARM ذيلي فولڊر.
      2. لانچ ڪريو Project.uvproj ورڪ اسپيس (ڪم جي جڳھ جو نالو تبديل ٿي سگھي ٿو ھڪڙي اڳوڻي کانampٻئي ڏانهن).
      3. سڀني کي ٻيهر ٺاهيو files:[پروجيڪٽ]>[سڀ ٽارگيٽ ٻيهر ٺاهيو files].
      4. پروجيڪٽ جي تصوير لوڊ ڪريو: [Debug]> [Start/Stop Debug Sesion].
      5. پروگرام هلائڻ: [Debug]>[رن (F5)].
    • STM32CubeIDE:
      1. STM32CubeIDE ٽول چين کوليو.
      2. ڪلڪ ڪريو [File]>[Switch Workspace]>[ٻيو] ۽ براؤز ڪريو STM32CubeIDE ورڪ اسپيس ڊاريڪٽري.
      3. ڪلڪ ڪريو [File]>[درآمد ڪريو]، منتخب ڪريو [جنرل]>[موجوده پروجيڪٽس ڪم اسپيس ۾]، ۽ پوءِ ڪلڪ ڪريو [اڳيون].
      4. براؤز ڪريو STM32CubeIDE ورڪ اسپيس ڊاريڪٽري ۽ چونڊيو پروجيڪٽ.
      5. سڀني پروجيڪٽ کي ٻيهر ٺاهيو files: [Project Explorer] ونڊو ۾ پروجيڪٽ چونڊيو پوءِ [Project]>[build project] مينيو تي ڪلڪ ڪريو.
      6. پروگرام هلايو: [رن]>[Debug (F11)]
هڪ ڪسٽم ايپليڪيشن کي ترقي ڪندي

نوٽ: سافٽ ويئر کي لازمي طور تي هدايت واري ڪيش (ICACHE) کي فعال ڪرڻ گهرجي ته جيئن فليش ميموري مان 0 ويٽ اسٽيٽ ايگزيڪيوشن حاصل ڪري، ۽ وڌ کان وڌ ڪارڪردگي ۽ بهتر بجلي جي استعمال تائين پهچي.

STM32CubeMX استعمال ڪندي ايپليڪيشن کي ترقي يا اپڊيٽ ڪرڻ لاءِ

  • STM32CubeWBA MCU پيڪيج ۾، تقريبن سڀ پروجيڪٽ اڳamples ٺاهيا ويا آھن STM32CubeMX ٽول سان سسٽم، پرديئرز، ۽ مڊل ويئر کي شروع ڪرڻ لاءِ.
  • موجوده منصوبي جو سڌو استعمال exampلي کان STM32CubeMX اوزار جي ضرورت آهي STM32CubeMX 6.10.0 يا وڌيڪ:
    • STM32CubeMX جي انسٽاليشن کان پوء، کوليو ۽ ضروري هجي ته تجويز ڪيل پروجيڪٽ کي اپڊيٽ ڪريو. موجوده پروجيڪٽ کي کولڻ جو آسان طريقو *.ioc تي ڊبل ڪلڪ ڪرڻ آهي file انهي ڪري ته STM32CubeMX خودڪار طريقي سان پروجيڪٽ ۽ ان جو ذريعو کوليو files.
    • STM32CubeMX اهڙن منصوبن جي شروعاتي ماخذ ڪوڊ ٺاهي ٿو. مکيه ايپليڪيشن جو ماخذ ڪوڊ تبصرن تي مشتمل آهي "USER CODE BEGIN" ۽ "USER CODE END". ان صورت ۾ IP جي چونڊ ۽ سيٽنگ ۾ ترميم ڪئي وئي آهي، STM32CubeMX ڪوڊ جي شروعاتي حصي کي اپڊيٽ ڪري ٿو پر مکيه ايپليڪيشن سورس ڪوڊ کي محفوظ ڪري ٿو.
  • STM32CubeMX ۾ ڪسٽم پروجيڪٽ ٺاهڻ لاءِ، قدم قدم جي عمل تي عمل ڪريو:
    1. منتخب ڪريو STM32 مائڪرو ڪنٽرولر جيڪو پردي جي گهربل سيٽ سان ملندو آهي.
    2. پن آئوٽ ڪنفلڪٽ سولور، ڪلاڪ ٽري سيٽنگ مددگار، پاور واپرائڻ وارو ڳڻپيوڪر، ۽ يوٽيلٽي پرفارم ڪرڻ واري MCU پرفيرل ڪنفيگريشن (جهڙوڪ GPIO يا USART) ۽ مڊل ويئر اسٽيڪ (جهڙوڪ USB) استعمال ڪندي سڀ گهربل ايمبيڊڊ سافٽ ويئر ترتيب ڏيو.
    3. منتخب ٿيل ترتيب جي بنياد تي شروعاتي سي ڪوڊ ٺاھيو. هي ڪوڊ ڪيترن ئي ترقياتي ماحول ۾ استعمال ڪرڻ لاء تيار آهي. استعمال ڪندڙ جو ڪوڊ ايندڙ ڪوڊ نسل تي رکيو ويو آهي.
  • STM32CubeMX بابت وڌيڪ معلومات لاءِ، STM32CubeMX لاءِ استعمال ڪندڙ دستي جو حوالو ڏيو STM32 ترتيب ۽ شروعاتي سي ڪوڊ جنريشن (UM1718).
  • موجود پروجيڪٽ جي فهرست لاءِ examples for STM32CubeWBA، حوالو ڏيو اپليڪيشن نوٽ STM32Cube firmware examples STM32WBA سيريز لاءِ (AN5929).

ڊرائيور ايپليڪيشنون

HAL ايپليڪيشن
هي سيڪشن STM32CubeWBA استعمال ڪندي ڪسٽم HAL ايپليڪيشن ٺاهڻ لاءِ گهربل قدمن کي بيان ڪري ٿو:

  1. هڪ منصوبو ٺاهيو
    • نئون پروجيڪٽ ٺاهڻ لاءِ، يا ته شروع ڪريو ٽيمپليٽ پروجيڪٽ مان هر بورڊ لاءِ مهيا ڪيل \Projects\. \ ٽيمپليٽس يا ڪنهن به دستياب پروجيڪٽ مان \ منصوبا \ تحت \امتحان پليز يا \Projects\ ايپليڪيشنون (جتي بورڊ جي نالي ڏانهن اشارو ڪري ٿو، جهڙوڪ STM32CubeWBA).
    • ٽيمپليٽ پروجيڪٽ هڪ خالي مکيه لوپ فنڪشن مهيا ڪري ٿو. بهرحال، STM32CubeWBA پروجيڪٽ سيٽنگن کي سمجهڻ لاءِ اهو سٺو شروعاتي نقطو آهي. ٽيمپليٽ ۾ هيٺيون خاصيتون آهن:
      • اهو HAL سورس ڪوڊ، CMSIS، ۽ BSP ڊرائيورن تي مشتمل آهي، جيڪي ڏنل بورڊ تي ڪوڊ ٺاهڻ لاءِ گهربل اجزاء جو گهٽ ۾ گهٽ سيٽ آهن.
      • ان ۾ شامل رستا شامل آھن سڀني فرم ويئر اجزاء لاءِ.
      • اهو وضاحت ڪري ٿو سپورٽ STM32WBA سيريز ڊوائيسز، CMSIS ۽ HAL ڊرائيورن کي صحيح ترتيب ڏيڻ جي اجازت ڏئي ٿو.
      • اهو مهيا ڪري ٿو تيار استعمال لاءِ استعمال ڪندڙ files اڳ ۾ ترتيب ڏنل آهي جيئن هيٺ ڏيکاريل آهي:
        HAL Arm® core SysTick سان ڊفالٽ ٽائيم بيس سان شروع ڪيو ويو. SysTick ISR لاڳو ڪيو ويو HAL_Delay() مقصد لاءِ.
        نوٽ: جڏهن هڪ موجوده پروجيڪٽ کي ٻئي هنڌ تي نقل ڪريو، پڪ ڪريو ته سڀئي شامل رستا اپڊيٽ ڪيا ويا آهن.
  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 کي HAL لائبريري شروع ڪرڻ لاء، جيڪو هيٺيان ڪم ڪري ٿو:
    • فليش ميموري جي ترتيب جي اڳڀرائي ۽ SysTick مداخلت جي ترجيح (ميڪرو ذريعي وضاحت ڪئي وئي st m32wbaxx_hal_conf.h).
    • SysTick جي ترتيب SysTick مداخلت جي ترجيح TICK_INT_PRIO تي هر ملي سيڪنڊ ۾ مداخلت پيدا ڪرڻ لاءِ stm32wbaxx_hal_conf.h ۾ بيان ڪيل آهي.
    • NVIC گروپ جي ترجيح 0 تي سيٽنگ.
    • HAL_MspInit() ڪال بڪ فنڪشن جو ڪال stm32wbaxx_hal_msp.c صارف ۾ بيان ڪيو ويو آهي file عالمي گھٽ-سطح هارڊويئر جي شروعات ڪرڻ لاء.
  5. سسٽم ڪلاڪ کي ترتيب ڏيو
    سسٽم جي گھڙي جي جوڙجڪ هيٺ ڏنل بيان ڪيل ٻن APIs کي ڪال ڪندي ڪيو ويندو آهي:
    • HAL_RCC_OscConfig(): هي API اندروني ۽ بيروني oscillators ترتيب ڏئي ٿو. استعمال ڪندڙ هڪ يا سڀ oscillators ترتيب ڏيڻ لاء چونڊي ٿو.
    • HAL_RCC_ClockConfig(): هي API ترتيب ڏئي ٿو سسٽم ڪلاڪ جو ذريعو، فليش ميموري جي دير، ۽ AHB ۽ APB prescalers.
  6. پردي جي شروعات ڪريو
    • پهريون لکو پرديري HAL_PPP_MspInit فنڪشن. ھيٺ ڏنل طريقي سان اڳتي وڌو:
      • پردي جي گھڙي کي فعال ڪريو.
      • پردي جي GPIOs کي ترتيب ڏيو.
      • ڊي ايم اي چينل کي ترتيب ڏيو ۽ ڊي ايم اي مداخلت کي فعال ڪريو (جيڪڏهن ضرورت هجي).
      • پردي جي مداخلت کي فعال ڪريو (جيڪڏهن ضرورت هجي).
    • ترميم ڪريو stm32xxx_it.c کي ڪال ڪرڻ لاءِ گهربل مداخلت ڪندڙ هينڊلر (پريفيرل ۽ ڊي ايم اي)، جيڪڏهن ضرورت هجي.
    • لکڻ جي عمل مڪمل ڪال بڪ افعال، جيڪڏهن هڪ پردي جي مداخلت يا DMA استعمال ڪرڻ جي رٿابندي ڪئي وئي آهي.
    • صارف main.c ۾ file، پردي جي هينڊل جي جوڙجڪ کي شروع ڪريو پوءِ پردي کي شروع ڪرڻ لاءِ HAL_PPP_Init() فنڪشن کي ڪال ڪريو.
  7. هڪ ايپليڪيشن ٺاهيو
    • ان موقعي تي ايسtagاي، سسٽم تيار آهي ۽ صارف ايپليڪيشن ڪوڊ ڊولپمينٽ شروع ڪري سگھي ٿو.
    • HAL پردي کي ترتيب ڏيڻ لاءِ وجداني ۽ استعمال لاءِ تيار APIs مهيا ڪري ٿي. اهو سپورٽ ڪري ٿو پولنگ، مداخلت، ۽ هڪ ڊي ايم اي پروگرامنگ ماڊل، ڪنهن به درخواست جي گهرج کي ترتيب ڏيڻ لاء. وڌيڪ تفصيل لاءِ ته هر پردي کي ڪيئن استعمال ڪجي، rich ex ڏانهن رجوع ڪريوampلي سيٽ STM32CubeWBA MCU پيڪيج ۾ مهيا ڪيل آهي.
      احتياط: ڊفالٽ HAL عمل ۾، SysTick ٽائمر کي ٽائيم بيس طور استعمال ڪيو ويندو آھي: اھو باقاعده وقت جي وقفن تي مداخلت پيدا ڪري ٿو. جيڪڏهن HAL_Delay() کي پردي جي ISR عمل مان سڏيو وڃي ٿو، پڪ ڪريو ته SysTick مداخلت کي پردي جي مداخلت کان وڌيڪ ترجيح (عددي طور تي گهٽ) آهي. ٻي صورت ۾، ڪالر ISR عمل کي بلاڪ ڪيو ويو آهي. ٽائم بيس ترتيبن تي اثرانداز ٿيندڙ ڪمن کي __ ڪمزور قرار ڏنو ويو آهي ته جيئن صارف ۾ ٻين عملن جي صورت ۾ اوور رائڊ کي ممڪن بڻايو وڃي file (هڪ عام مقصد وارو ٽائمر استعمال ڪندي، مثال طورample، يا ٻيو وقت جو ذريعو). وڌيڪ تفصيل لاءِ HAL_TimeBase جو حوالو ڏيو exampلي.

ايل ايل ايپليڪيشن
ھي سيڪشن بيان ڪري ٿو STM32CubeWBA استعمال ڪندي ڪسٽم LL ايپليڪيشن ٺاهڻ لاءِ گھربل قدم.

  1. هڪ منصوبو ٺاهيو
    • نئون پروجيڪٽ ٺاهڻ لاءِ، يا ته شروع ڪريو Templates_LL پراجيڪٽ مان مهيا ڪيل هر بورڊ لاءِ \Projects\. \Templates_LL، يا \Projects\ تحت موجود ڪنهن به پروجيڪٽ مان \ مثالamples_LL ( بورڊ جي نالي ڏانهن اشارو ڪري ٿو، جهڙوڪ NUCLEO-WBA32CG).
    • ٽيمپليٽ پروجيڪٽ هڪ خالي مکيه لوپ فنڪشن مهيا ڪري ٿو، جيڪو STM32CubeWBA لاءِ پروجيڪٽ سيٽنگن کي سمجهڻ لاءِ سٺو شروعاتي نقطو آهي. ٽيمپليٽ جون مکيه خاصيتون هيٺ ڏنل آهن:
      • ان ۾ LL ۽ CMSIS ڊرائيورن جا سورس ڪوڊ شامل آھن، جيڪي ڏنل بورڊ تي ڪوڊ ڊولپ ڪرڻ لاءِ ضروري اجزاء جو گھٽ ۾ گھٽ سيٽ آھن.
      • ان ۾ شامل رستا شامل آھن سڀني گھربل فرم ويئر اجزاء لاءِ.
      • اهو سپورٽ ٿيل STM32WBA سيريز ڊيوائس کي چونڊي ٿو ۽ CMSIS ۽ LL ڊرائيورن جي صحيح ترتيب جي اجازت ڏئي ٿو.
      • اهو استعمال ڪرڻ لاء تيار صارف مهيا ڪري ٿو files جيڪي اڳ ۾ ترتيب ڏنل آهن:
        ◦ main.h: LED ۽ USER_BUTTON تعريف خلاصي پرت.
        ◦ main.c: وڌ ۾ وڌ فریکوئنسي لاءِ سسٽم ڪلاڪ جي ترتيب.
  2. ھڪڙي موجوده منصوبي کي ٻئي بورڊ ڏانھن پورٽ ڪريو
    ڪنهن ٻئي ٽارگيٽ بورڊ تي موجود پروجيڪٽ کي سپورٽ ڪرڻ لاءِ، هر بورڊ لاءِ مهيا ڪيل Templates_LL پروجيڪٽ کان شروع ڪريو ۽ \Projects\ تحت دستياب آهي. \ Templates_LL.
    • ايل ايل ايل چونڊيوample: بورڊ ڳولڻ لاءِ جنهن تي LL examples deployed آهن، LL ex جي فهرست جو حوالو ڏيوamples STM32CubeProjectsList.html.
  3. پورٽ ايل ايل ايڪسampاليزي:
    • ڪاپي/پيسٽ ڪريو Templates_LL فولڊر- شروعاتي ماخذ رکڻ لاءِ- يا سڌو موجوده Templates_LL پروجيڪٽ کي اپڊيٽ ڪريو.
    • پوءِ پورٽنگ بنيادي طور تي Templates_LL کي تبديل ڪرڻ تي مشتمل آھي fileايس پاران Examples_LL ھدف وارو منصوبو.
    • بورڊ جي سڀني مخصوص حصن کي رکو. وضاحت جي سببن لاء، بورڊ جي مخصوص حصن کي مخصوص سان نشان لڳايو ويو آهي tags:

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

    • اهڙيء طرح، مکيه پورٽنگ مرحلا هيٺيان آهن:
      • تبديل ڪريو stm32wbaxx_it.h file
      • تبديل ڪريو stm32wbaxx_it.c file
      • تبديل ڪريو main.h file ۽ ان کي اپڊيٽ ڪريو: ايل ايل ٽيمپليٽ جي LED ۽ صارف بٽڻ جي تعريف کي بورڊ جي مخصوص ترتيب جي تحت رکو tags.
      • تبديل ڪريو main.c file ۽ ان کي اپڊيٽ ڪريو:
    • SystemClock_Config() LL ٽيمپليٽ فنڪشن جي ڪلاڪ جي ترتيب کي بورڊ جي مخصوص ترتيب جي تحت رکو tags.
    • LED جي وصف تي مدار رکندي، هر LDx واقعن کي تبديل ڪريو مکيه ۾ موجود LDy سان. file.
    • انهن تبديلين سان، اڳوڻيample ھاڻي ھدف ٿيل بورڊ تي ھلندو آھي

سيڪيورٽي ايپليڪيشنون
هي پيڪيج سيڪيورٽي ايپليڪيشنن سان پهچايو ويو آهي.

SBSFU ايپليڪيشنون

  • SBSFU هڪ روٽ آف ٽرسٽ حل مهيا ڪري ٿو، بشمول محفوظ بوٽ ۽ محفوظ فرم ویئر اپڊيٽ ڪارڪردگي (MCUboot تي ٻڌل).
  • حل ايپليڪيشن کي عمل ڪرڻ کان اڳ استعمال ڪيو ويندو آهي.
  • حل هڪ اڳوڻي مهيا ڪري ٿوampهڪ محفوظ سروس (GPIO ٽوگل) جو، جيڪو غير محفوظ ايپليڪيشن کان الڳ ٿيل آهي. رن ٽائم تي غير محفوظ ايپليڪيشن اڃا تائين هن حل کي استعمال ڪري سگهي ٿي.

TFM ايپليڪيشنون
TFM هڪ روٽ آف ٽرسٽ حل فراهم ڪري ٿو جنهن ۾ محفوظ بوٽ ۽ محفوظ فرم ویئر اپڊيٽ ڪارڪردگي شامل آهن
(MCUboot تي ٻڌل). حل ايپليڪيشن کي عمل ڪرڻ کان اڳ استعمال ڪيو ويندو آهي. حل مهيا ڪري ٿو TFM محفوظ خدمتون جيڪي غير محفوظ ايپليڪيشن کان الڳ ٿيل آهن. رن ٽائم تي غير محفوظ ايپليڪيشن اڃا تائين هن حل کي استعمال ڪري سگهي ٿي.

آر ايف ايپليڪيشنون
آر ايف ايپليڪيشن هن ايپليڪيشن نوٽ ۾ بيان ڪئي وئي آهي: STM32WBA سيريز مائڪرو ڪنٽرولرز (AN5928) سان وائرليس ايپليڪيشنون ٺاهڻ.

STM32CubeWBA رليز اپڊيٽ حاصل ڪرڻ
جديد STM32CubeWBA MCU پيڪيج رليز ۽ پيچ STM32WBA سيريز مان دستياب آهن. اهي STM32CubeMX ۾ اپ ڊيٽ لاءِ چيڪ ڪريو بٽڻ تان حاصل ڪري سگھجن ٿا. وڌيڪ تفصيل لاءِ، سيڪشن 3 جو حوالو ڏيو يوزر مينوئل STM32CubeMX لاءِ STM32 ترتيب ۽ شروعاتي سي ڪوڊ جنريشن (UM1718).

FAQ

  • جڏهن مون کي ايل ايل ڊرائيور جي بدران HAL استعمال ڪرڻ گهرجي؟
    • HAL ڊرائيور پيش ڪن ٿا اعليٰ سطحي ۽ فنڪشنل آريئنٽيڊ APIs، اعليٰ سطح جي پورائيبلٽي سان. پراڊڪٽ يا پردي جي پيچيدگي آخري صارفين لاء لڪايو ويو آهي.
    • ايل ايل ڊرائيور پيش ڪن ٿا گهٽ-پرت رجسٽر سطح APIs، بهتر اصلاح سان پر گهٽ پورٽبل. انهن کي پراڊڪٽ يا IP وضاحتن جي گهري ڄاڻ جي ضرورت آهي.
  • ڇا مان HAL ۽ LL ڊرائيور گڏجي استعمال ڪري سگھان ٿو؟ جيڪڏهن مان ڪري سگهان ٿو، ڪهڙيون رڪاوٽون آهن؟
    • اهو ٻنهي HAL ۽ LL ڊرائيور استعمال ڪرڻ ممڪن آهي. IP شروعاتي مرحلي لاءِ HAL استعمال ڪريو ۽ پوءِ LL ڊرائيورن سان I/O عملن کي منظم ڪريو.
    • HAL ۽ LL جي وچ ۾ وڏو فرق اهو آهي ته HAL ڊرائيورن کي آپريشن مئنيجمينٽ لاءِ هينڊلز ٺاهڻ ۽ استعمال ڪرڻ جي ضرورت آهي جڏهن ته ايل ايل ڊرائيور سڌو سنئون پردي جي رجسٽر تي هلن ٿا. Examples_MIX exampلي وضاحت ڪري ٿو ته HAL ۽ LL کي ڪيئن گڏ ڪجي.
  • ايل ايل شروعاتي APIs ڪيئن فعال ڪيا ويا آهن؟
    • LL شروعاتي APIs ۽ لاڳاپيل وسيلن جي تعريف (ڍانچي، لفظي، ۽ پروٽوٽائپس) USE_FULL_LL_DRIVER تاليف سوئچ طرفان مشروط آهي.
    • LL شروعاتي APIs استعمال ڪرڻ جي قابل ٿيڻ لاء، ھن سوئچ کي ٽول چين ڪمپلر پري پروسيسر ۾ شامل ڪريو.
  • STM32CubeMX ايمبيڊڊ سافٽ ويئر جي بنياد تي ڪوڊ ڪيئن ٺاهي سگھي ٿو؟
    STM32CubeMX وٽ STM32 microcontrollers جي ڄاڻ آهي، بشمول انهن جا پردي ۽ سافٽ ويئر جيڪي صارف کي گرافڪ نمائندگي مهيا ڪرڻ ۽ *.h يا *.c پيدا ڪرڻ جي اجازت ڏين ٿا. files صارف جي ترتيب تي ٻڌل آهي.

اهم نوٽيس - غور سان پڙهو

  • STMicroelectronics NV ۽ ان جا ماتحت ادارا (“ST”) ST پروڊڪٽس ۽/يا هن دستاويز ۾ بغير اطلاع جي ڪنهن به وقت تبديليون، سڌارا، واڌايون، ترميمون ۽ سڌارا ڪرڻ جو حق محفوظ رکن ٿا. خريد ڪندڙن کي آرڊر ڏيڻ کان پهريان ST شين تي تازي لاڳاپيل معلومات حاصل ڪرڻ گهرجي. ايس ٽي پروڊڪٽس وڪرو ڪيا وڃن ٿا ايس ٽي جي شرطن ۽ وڪري جي شرطن جي مطابق آرڊر جي اقرار جي وقت تي.
  • خريدار مڪمل طور تي ST پروڊڪٽس جي چونڊ، چونڊ ۽ استعمال جا ذميوار آهن ۽ ST درخواست جي مدد يا خريد ڪندڙن جي پروڊڪٽس جي ڊيزائن لاءِ ڪا به ذميواري قبول نه ڪندو آهي.
  • ڪو به لائسنس، ظاهر يا تقاضا، ڪنهن به دانشورانه ملڪيت جو حق ST پاران ڏنل ناهي.
  • ايس ٽي پروڊڪٽس جو ريزيل شقن سان مختلف معلومات ھتي بيان ڪيل معلومات کان مختلف آھي ايس ٽي پاران ڏنل ڪنھن به وارنٽي کي رد ڪندي اھڙي پراڊڪٽ لاءِ.
  • ST ۽ ST لوگو ST جا ٽريڊ مارڪ آھن. ST ٽريڊ مارڪ بابت اضافي معلومات لاءِ، ڏسو www.st.com/trademarks. ٻيا سڀئي پراڊڪٽ يا خدمت جا نالا انهن جي لاڳاپيل مالڪن جي ملڪيت آهن.
  • هن دستاويز ۾ معلومات هن دستاويز جي ڪنهن به اڳوڻي نسخن ۾ اڳ ۾ فراهم ڪيل معلومات کي ختم ڪري ٿو ۽ تبديل ڪري ٿو.
  • © 2023 STMicroelectronics – سڀ حق محفوظ آهن

دستاويز / وسيلا

STMicroelectronics STM32WBA سيريز شروع ٿي رهيو آهي [pdf] استعمال ڪندڙ دستياب
STM32WBA سيريز شروع ڪرڻ، شروع ڪرڻ، شروع ڪرڻ

حوالو

تبصرو ڇڏي ڏيو

توهان جو اي ميل پتو شايع نه ڪيو ويندو. گهربل فيلڊ نشان لڳل آهن *