STMicroelectronics STM32WBA سیریز شروع ہو رہی ہے۔
پروڈکٹ کی معلومات
تفصیلات:
- پروڈکٹ کا نام: STM32CubeWBA MCU پیکیج
- مینوفیکچرر: ایس ٹی مائیکرو الیکٹرانکس
- مطابقت: STM32WBA سیریز کے مائیکرو کنٹرولرز
- لائسنسنگ: اوپن سورس BSD لائسنس
مصنوعات کے استعمال کی ہدایات
STM32CubeWBA MCU پیکیج کی اہم خصوصیات:
STM32CubeWBA MCU پیکیج STM32WBA سیریز کے مائیکرو کنٹرولرز پر ایپلی کیشنز تیار کرنے کے لیے تمام ضروری ایمبیڈڈ سافٹ ویئر اجزاء فراہم کرتا ہے۔ یہ STM32 سیریز کے اندر انتہائی پورٹیبل ہے اور HAL اور LL APIs کے ساتھ آتا ہے۔amples، اور مڈل ویئر کے اجزاء۔
فن تعمیر ختمview:
STM32CubeWBA MCU پیکیج کا فن تعمیر تین درجوں پر مشتمل ہے - ایپلی کیشنز، لائبریری اور پروٹوکول پر مبنی اجزاء، ہارڈ ویئر ایبسٹریکشن لیئر، BSP ڈرائیورز، کور ڈرائیورز، اور لو لیئر APIs۔
اکثر پوچھے گئے سوالات
- STM32CubeWBA MCU پیکیج میں کیا شامل ہے؟
پیکیج میں لو لیئر (LL) اور ہارڈویئر ایبسٹریکشن لیئر (HAL) APIs شامل ہیں۔amples، ایپلی کیشنز، مڈل ویئر کے اجزاء جیسے FileX/LevelX، NetX Duo، mbed-crypto لائبریریاں، اور مزید۔ - کیا STM32CubeWBA MCU پیکیج STM32CubeMX کوڈ جنریٹر کے ساتھ مطابقت رکھتا ہے؟
ہاں، پیکج ابتدائی کوڈ بنانے کے لیے STM32CubeMX کوڈ جنریٹر کے ساتھ پوری طرح مطابقت رکھتا ہے۔
تعارف
- STM32Cube STMicroelectronics کا ایک اصل اقدام ہے جو ڈیزائنر کی پیداواری صلاحیت کو نمایاں طور پر ترقی کی کوششوں، وقت اور لاگت کو کم کر کے بہتر بناتا ہے۔ STM32Cube پورے STM32 پورٹ فولیو کا احاطہ کرتا ہے۔
STM32Cube میں شامل ہیں:- صارف دوست سافٹ ویئر ڈویلپمنٹ ٹولز کا ایک سیٹ پراجیکٹ کی ترقی کو تصور سے حاصل کرنے تک کا احاطہ کرتا ہے، جن میں سے یہ ہیں:
- STM32CubeMX، ایک گرافیکل سافٹ ویئر کنفیگریشن ٹول جو گرافیکل وزرڈز کا استعمال کرتے ہوئے C انیشیلائزیشن کوڈ کی خودکار جنریشن کی اجازت دیتا ہے۔
- STM32CubeIDE، پیریفرل کنفیگریشن، کوڈ جنریشن، کوڈ کمپلیشن، اور ڈیبگ فیچرز کے ساتھ ایک ہمہ جہت ڈویلپمنٹ ٹول
- STM32CubeCLT، کوڈ کی تالیف، بورڈ پروگرامنگ، اور ڈیبگ خصوصیات کے ساتھ ایک آل ان ون کمانڈ لائن ڈویلپمنٹ ٹول سیٹ
- STM32CubeProgrammer (STM32CubeProg)، ایک پروگرامنگ ٹول جو گرافیکل اور کمانڈ لائن ورژن میں دستیاب ہے۔
- STM32CubeMonitor (STM32CubeMonitor، STM32CubeMonPwr، STM32CubeMonRF، STM32CubeMonUCPD)، حقیقی وقت میں STM32 ایپلی کیشنز کے طرز عمل اور کارکردگی کو ٹھیک کرنے کے لیے طاقتور مانیٹرنگ ٹولز
- STM32Cube MCU اور MPU پیکجز، ہر مائیکرو کنٹرولر اور مائکرو پروسیسر سیریز کے لیے مخصوص ایمبیڈڈ سافٹ ویئر پلیٹ فارمز (جیسے STM32WBA سیریز کے لیے STM32CubeWBA)، جس میں شامل ہیں:
- STM32Cube ہارڈویئر ایبسٹریکشن لیئر (HAL)، STM32 پورٹ فولیو میں زیادہ سے زیادہ پورٹیبلٹی کو یقینی بناتا ہے۔
- STM32Cube لو لیئر APIs، ہارڈ ویئر پر صارف کے کنٹرول کی اعلیٰ ڈگری کے ساتھ بہترین کارکردگی اور قدموں کے نشانات کو یقینی بناتا ہے۔
- مڈل ویئر کے اجزاء کا ایک مستقل سیٹ جیسے ThreadX، FileX / LevelX، NetX Duo، USBX، ٹچ لائبریری، mbed-crypto، TFM، MCUboot، OpenBL، اور STM32_WPAN (بشمول Bluetooth® Low Energy profiles اور خدمات، میش، Zigbee®، OpenThread، Matter، اور 802.15.4 MAC پرت)
- تمام ایمبیڈڈ سوفٹ ویئر یوٹیلیٹیز جس میں پیریفرل اور اپلیکیٹو سابق کے مکمل سیٹ ہیں۔amples
- STM32Cube Expansion Packages، جس میں ایمبیڈڈ سوفٹ ویئر کے اجزاء ہوتے ہیں جو STM32Cube MCU اور MPU پیکجز کے افعال کو مکمل کرتے ہیں:
- مڈل ویئر کی توسیعات اور اطلاقی پرتیں۔
- Exampکچھ مخصوص STMicroelectronics ترقیاتی بورڈز پر چل رہا ہے۔
- صارف دوست سافٹ ویئر ڈویلپمنٹ ٹولز کا ایک سیٹ پراجیکٹ کی ترقی کو تصور سے حاصل کرنے تک کا احاطہ کرتا ہے، جن میں سے یہ ہیں:
- یہ صارف دستی بیان کرتا ہے کہ STM32CubeWBA MCU پیکیج کے ساتھ کیسے آغاز کیا جائے۔
- سیکشن 2 STM32CubeWBA اہم خصوصیات STM32CubeWBA MCU پیکیج کی اہم خصوصیات کو بیان کرتی ہے۔
- سیکشن 3 STM32CubeWBA فن تعمیر ختمview ایک اوور فراہم کرتا ہے۔view STM32CubeWBA فن تعمیر اور MCU پیکیج ڈھانچہ۔
عمومی معلومات
STM32CubeWBA MCU پیکیج Arm® Cortex®-M32 پروسیسر کی بنیاد پر Arm® TrustZone® اور FPU کے ساتھ STM32 33-بٹ مائیکرو کنٹرولرز پر چلتا ہے۔
نوٹ: Arm اور TrustZone امریکہ اور/یا کسی اور جگہ Arm Limited (یا اس کے ذیلی اداروں) کے رجسٹرڈ ٹریڈ مارکس ہیں۔
STM32CubeWBA اہم خصوصیات
- STM32CubeWBA MCU پیکیج TrustZone® اور FPU کے ساتھ Arm® Cortex®-M32 پروسیسر پر مبنی STM32 33-بٹ مائیکرو کنٹرولرز پر چلتا ہے۔
- STM32CubeWBA، ایک ہی پیکیج میں، STM32WBA سیریز کے مائیکرو کنٹرولرز کے لیے ایپلیکیشن تیار کرنے کے لیے درکار تمام جنرک ایمبیڈڈ سافٹ ویئر اجزاء کو جمع کرتا ہے۔ STM32Cube اقدام کے مطابق، اجزاء کا یہ سیٹ انتہائی پورٹیبل ہے، نہ صرف STM32WBA سیریز کے مائیکرو کنٹرولرز کے اندر بلکہ دیگر STM32 سیریز کے لیے بھی۔
- STM32CubeWBA ابتدائی کوڈ بنانے کے لیے STM32CubeMX کوڈ جنریٹر کے ساتھ پوری طرح مطابقت رکھتا ہے۔ پیکیج میں لو لیئر (LL) اور ہارڈویئر ایبسٹریکشن لیئر (HAL) APIs شامل ہیں جو مائیکرو کنٹرولر ہارڈویئر کا احاطہ کرتے ہیں، ایک ساتھ ایک وسیع سیٹ کے ساتھamples STMicroelectronics بورڈز پر چل رہا ہے۔ HAL اور LL APIs صارف کی سہولت کے لیے اوپن سورس BSD لائسنس میں دستیاب ہیں۔
- STM32CubeWBA MCU پیکیج میں مائیکروسافٹ® Azure® RTOS مڈل ویئر کے ارد گرد تعمیر کردہ ایک جامع مڈل ویئر جزو بھی شامل ہے، اور دیگر ان ہاؤس اور اوپن سورس اسٹیک، متعلقہ سابق کے ساتھamples
- وہ مفت، صارف دوست لائسنس کی شرائط کے ساتھ آتے ہیں:
- مربوط اور مکمل خصوصیات والا Azure® RTOS: Azure® RTOS ThreadX
- Azure® RTOS ThreadX کے ساتھ CMSIS-RTOS کا نفاذ
- USB ہوسٹ اور ڈیوائس اسٹیک بہت سی کلاسوں کے ساتھ آرہے ہیں: Azure® RTOS USBX
- اعلی درجے کی file سسٹم اور فلیش ٹرانسلیشن پرت: Fileایکس / لیول ایکس
- صنعتی گریڈ نیٹ ورکنگ اسٹیک: بہت سے IoT پروٹوکول کے ساتھ آنے والی کارکردگی کے لیے موزوں: NetX Duo
- اوپن بوٹ لوڈر
- Arm® ٹرسٹڈ فرم ویئر-M (TF‑M) انٹیگریشن حل
- mbed-crypto لائبریریاں
- ایس ٹی نیٹ ورک لائبریری
- ایس ٹی ایم ٹچ ٹچ سینسنگ لائبریری حل
- STM32CubeWBA MCU پیکیج میں ان تمام مڈل ویئر اجزاء کو نافذ کرنے والی متعدد ایپلیکیشنز اور مظاہرے بھی فراہم کیے گئے ہیں۔
- STM32CubeWBA MCU پیکیج کے اجزاء کی ترتیب کو تصویر 1 میں دکھایا گیا ہے۔ STM32CubeWBA MCU پیکیج کے اجزاء۔
STM32CubeWBA فن تعمیر ختمview
STM32CubeWBA MCU پیکیج حل تین آزاد سطحوں کے ارد گرد بنایا گیا ہے جو آسانی سے بات چیت کرتے ہیں جیسا کہ شکل 2 میں بیان کیا گیا ہے۔ STM32CubeWBA MCU پیکیج فن تعمیر۔
لیول 0
اس سطح کو تین ذیلی سطحوں میں تقسیم کیا گیا ہے:
- بورڈ سپورٹ پیکج (BSP)۔
- ہارڈ ویئر تجریدی پرت (HAL):
- HAL پیریفرل ڈرائیورز
- کم پرت والے ڈرائیور
- بنیادی پردیی استعمال سابقamples
بورڈ سپورٹ پیکج (BSP)
یہ پرت ہارڈویئر بورڈز (جیسے LCD، آڈیو، \ microSD™، اور MEMS ڈرائیورز) میں ہارڈ ویئر کے اجزاء سے متعلق APIs کا ایک سیٹ پیش کرتی ہے۔ یہ دو حصوں پر مشتمل ہے:
- اجزاء ڈرائیور:
اس ڈرائیور کا تعلق بورڈ پر موجود بیرونی ڈیوائس سے ہے، نہ کہ STM32 ڈیوائس سے۔ اجزاء ڈرائیور بی ایس پی ڈرائیور کے بیرونی اجزاء کو مخصوص API فراہم کرتا ہے اور کسی دوسرے بورڈ پر پورٹیبل ہوسکتا ہے۔ - بی ایس پی ڈرائیور:
بی ایس پی ڈرائیور اجزاء ڈرائیوروں کو ایک مخصوص بورڈ سے منسلک کرنے کی اجازت دیتا ہے، اور صارف کے لیے دوستانہ سیٹ فراہم کرتا ہے۔
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 کو دو قسموں میں تقسیم کیا گیا ہے:- جنرک APIs، جو STM32 سیریز کے تمام مائیکرو کنٹرولرز کو عام اور عمومی افعال فراہم کرتے ہیں۔
- ایکسٹینشن APIs، جو مخصوص فیملی یا مخصوص پارٹ نمبر کے لیے مخصوص اور حسب ضرورت کام فراہم کرتے ہیں۔
- کم پرت والے APIs رجسٹر کی سطح پر کم درجے کے APIs فراہم کرتے ہیں، بہتر اصلاح لیکن کم پورٹیبلٹی کے ساتھ۔
- انہیں MCU اور پیریفرل وضاحتیں کے بارے میں گہرا علم درکار ہوتا ہے۔
- ایل ایل ڈرائیورز کو ایک تیز ہلکا پھلکا ماہر پر مبنی پرت پیش کرنے کے لیے ڈیزائن کیا گیا ہے جو HAL کے مقابلے ہارڈ ویئر کے قریب ہے۔ HAL کے برعکس، LL APIs ایسے پیری فیرلز کے لیے فراہم نہیں کیے جاتے ہیں جہاں آپٹمائزڈ رسائی کلیدی خصوصیت نہیں ہے، یا ان کے لیے جو بھاری سافٹ ویئر کنفیگریشن یا پیچیدہ اوپری سطح کے اسٹیک کی ضرورت ہوتی ہے۔
- ایل ایل ڈرائیوروں کی خصوصیت:
- اعداد و شمار کے ڈھانچے میں متعین پیرامیٹرز کے مطابق پردیی اہم خصوصیات کو شروع کرنے کے لیے افعال کا ایک سیٹ۔
- فنکشنز کا ایک سیٹ ہر فیلڈ کے مطابق ری سیٹ کی اقدار کے ساتھ ابتدائی ڈیٹا ڈھانچے کو بھرنے کے لیے۔
- پیری فیرل ڈینینشیلائزیشن کے لیے فنکشن (پردیی رجسٹر اپنی ڈیفالٹ اقدار پر بحال ہو گئے)۔
- براہ راست اور جوہری رجسٹر تک رسائی کے لیے ان لائن افعال کا ایک سیٹ۔
- HAL سے مکمل آزادی اور اسٹینڈ اسٹون موڈ میں استعمال کرنے کی صلاحیت (HAL ڈرائیوروں کے بغیر)۔
- معاون پردیی خصوصیات کی مکمل کوریج۔
بنیادی پردیی استعمال سابقamples
یہ پرت سابق کو گھیرتی ہے۔amples صرف HAL اور BSP وسائل کا استعمال کرتے ہوئے STM32 پیری فیرلز پر بنایا گیا ہے۔
لیول 1
اس سطح کو دو ذیلی سطحوں میں تقسیم کیا گیا ہے:
- مڈل ویئر کے اجزاء
- Examples مڈل ویئر کے اجزاء پر مبنی
مڈل ویئر کے اجزاء
- مڈل ویئر لائبریریوں کا ایک سیٹ ہے جس میں بلوٹوتھ® لو انرجی (Linklayer، HCI، Stack)، Thread®، Zigbee®،
- معاملہ، اوپن بوٹ لوڈر، Microsoft® Azure® RTOS، TF‑M، MCUboot، اور mbed-crypto۔
- اس پرت کے اجزاء کے درمیان افقی تعامل نمایاں APIs کو کال کرکے کیا جاتا ہے۔
- کم پرت والے ڈرائیوروں کے ساتھ عمودی تعامل لائبریری سسٹم کال انٹرفیس میں لاگو مخصوص کال بیکس اور سٹیٹک میکرو کے ذریعے کیا جاتا ہے۔
- مڈل ویئر کے ہر جزو کی اہم خصوصیات درج ذیل ہیں:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: ایک ریئل ٹائم آپریٹنگ سسٹم (RTOS)، جو دو فنکشنل موڈز کے ساتھ ایمبیڈڈ سسٹمز کے لیے ڈیزائن کیا گیا ہے۔
- کامن موڈ: عام RTOS افعال جیسے تھریڈ مینجمنٹ اور سنکرونائزیشن، میموری پول مینجمنٹ، میسجنگ، اور ایونٹ ہینڈلنگ۔
- ماڈیول موڈ: ایک ایڈوانسڈ یوزر موڈ جو ماڈیول مینیجر کے ذریعے فلائی پر پہلے سے لنک شدہ ThreadX ماڈیولز کو لوڈ اور ان لوڈ کرنے کی اجازت دیتا ہے۔
- NetX Duo
- FileX
- USBX۔
- Azure® RTOS ThreadX: ایک ریئل ٹائم آپریٹنگ سسٹم (RTOS)، جو دو فنکشنل موڈز کے ساتھ ایمبیڈڈ سسٹمز کے لیے ڈیزائن کیا گیا ہے۔
- Bluetooth® Low Energy (BLE): لنک اور اسٹیک لیئرز کے لیے بلوٹوتھ® لو انرجی پروٹوکول کو لاگو کرتا ہے۔
- MCUboot (اوپن سورس سافٹ ویئر)
- اسٹیک اور متعلقہ کلسٹرز کے لیے Zigbee® پروٹوکول۔
- Thread® پروٹوکول اسٹیک اور لنک پرت۔
- Arm® قابل اعتماد فرم ویئر-M, TF‑M (اوپن سورس سافٹ ویئر): متعلقہ محفوظ خدمات کے ساتھ TrustZone® کے لیے Arm® پلیٹ فارم سیکیورٹی آرکیٹیکچر (PSA) کا حوالہ عمل درآمد۔
- mbed-crypto (اوپن سورس سافٹ ویئر): mbed-crypto مڈل ویئر PSA کرپٹوگرافی API نفاذ فراہم کرتا ہے۔
- STM32 ٹچ سینسنگ لائبریری: مضبوط STMTouch capacitive ٹچ سینسنگ سلوشن، سپورٹنگ proximity، touchkey، لکیری اور روٹری ٹچ سینسرز۔ یہ ثابت شدہ سطح کے چارج کی منتقلی کے حصول کے اصول پر مبنی ہے۔
- Microsoft® Azure® RTOS
Examples مڈل ویئر کے اجزاء پر مبنی
مڈل ویئر کا ہر جزو ایک یا زیادہ سابق کے ساتھ آتا ہے۔amples (جسے ایپلی کیشنز بھی کہا جاتا ہے) دکھا رہا ہے کہ اسے کیسے استعمال کیا جائے۔ انضمام سابقamples جو مڈل ویئر کے کئی اجزاء استعمال کرتے ہیں وہ بھی فراہم کیے جاتے ہیں۔
STM32CubeWBA فرم ویئر پیکج ختمview
تعاون یافتہ STM32WBA سیریز کے آلات اور ہارڈ ویئر
- STM32Cube ایک انتہائی پورٹیبل ہارڈویئر ایبسٹریکشن لیئر (HAL) پیش کرتا ہے جو ایک عام فن تعمیر کے ارد گرد بنایا گیا ہے۔ یہ تعمیراتی تہوں کے اصول کی اجازت دیتا ہے، جیسے کہ مڈل ویئر کی پرت کا استعمال کرتے ہوئے ان کے افعال کو یہ جانے بغیر کہ ایم سی یو کا استعمال کیا جاتا ہے۔ یہ لائبریری کوڈ کی دوبارہ استعمال کی صلاحیت کو بہتر بناتا ہے اور دوسرے آلات کے لیے آسان نقل پذیری کو یقینی بناتا ہے۔
- اس کے علاوہ، اس کے تہہ دار فن تعمیر کی بدولت، STM32CubeWBA تمام STM32WBA سیریز کے لیے مکمل تعاون پیش کرتا ہے۔
- صارف کو صرف stm32wbaxx.h میں صحیح میکرو کی وضاحت کرنی ہوگی۔
- جدول 1 استعمال شدہ STM32WBA سیریز ڈیوائس کے لحاظ سے وضاحت کرنے کے لیے میکرو دکھاتا ہے۔ اس میکرو کو کمپائلر پری پروسیسر میں بھی بیان کیا جانا چاہیے۔
ٹیبل 1. STM32WBA سیریز کے لیے میکرومیکرو کی وضاحت stm32wbaxx.h میں STM32WBA سیریز کے آلات stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6 stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7 - STM32CubeWBA سابقہ کا ایک بھرپور سیٹ پیش کرتا ہے۔amples اور ایپلی کیشنز ہر سطح پر کسی بھی HAL ڈرائیور یا مڈل ویئر کے اجزاء کو سمجھنا اور استعمال کرنا آسان بناتے ہیں۔ یہ سابقamples ٹیبل 2 میں درج STMicroelectronics بورڈز پر چلتا ہے۔
ٹیبل 2. STM32WBA سیریز کے لیے بورڈزبورڈ بورڈ STM32WBA معاون آلات NUCLEO-WBA52CG STM32WBA52CGU6 NUCLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - STM32CubeWBA MCU پیکیج کسی بھی ہم آہنگ ہارڈ ویئر پر چل سکتا ہے۔ صارف فراہم کردہ سابق کو پورٹ کرنے کے لیے بس بی ایس پی ڈرائیورز کو اپ ڈیٹ کرتا ہے۔amples بورڈ پر، اگر بعد میں ہارڈ ویئر کی ایک جیسی خصوصیات ہیں (جیسے LED، LCD ڈسپلے، اور بٹن)۔
فرم ویئر پیکج ختمview
- STM32CubeWBA پیکیج کا حل ایک واحد زپ پیکیج میں فراہم کیا گیا ہے جس کا ڈھانچہ شکل 3 میں دکھایا گیا ہے۔ STM32CubeWBA فرم ویئر پیکیج ڈھانچہ۔
- ہر بورڈ کے لیے، سابق کا ایک سیٹamples کو EWARM، MDK-ARM، اور STM32CubeIDE ٹول چینز کے لیے پہلے سے ترتیب شدہ پروجیکٹس فراہم کیے گئے ہیں۔
- شکل 4. STM32CubeWBA سابقہampختمview NUCLEO‑WBA52CG، NUCLEO-WBA55CG اور STM32WBA55G-DK1 بورڈز کے لیے پروجیکٹ کا ڈھانچہ دکھاتا ہے۔
- سابقamples کی درجہ بندی STM32Cube کی سطح کے لحاظ سے کی جاتی ہے جس پر وہ لاگو ہوتے ہیں، اور ان کے نام درج ذیل ہیں:
- لیول 0 سابقamples کو Ex کہا جاتا ہے۔amples، Examples_LL، اور Examples_MIX وہ بالترتیب HAL ڈرائیورز، LL ڈرائیورز، اور HAL اور LL ڈرائیوروں کا مرکب بغیر کسی مڈل ویئر کے جزو کے استعمال کرتے ہیں۔
- لیول 1 سابقamples کو ایپلی کیشنز کہا جاتا ہے۔ وہ مڈل ویئر کے ہر جزو کے عام استعمال کے معاملات فراہم کرتے ہیں۔ دیئے گئے بورڈ کے لیے کوئی بھی فرم ویئر ایپلیکیشن Templ ates اور Templates_LL ڈائریکٹریز میں دستیاب ٹیمپلیٹ پروجیکٹس کی بدولت تیزی سے بنائی جا سکتی ہے۔
TrustZone® فعال پروجیکٹس
- TrustZone® فعال Examples ناموں میں _TrustZone کا سابقہ ہوتا ہے۔ یہ قاعدہ Application ns کے لیے بھی لاگو ہوتا ہے (سوائے TFM اور SBSFU کے، جو مقامی طور پر TrustZone® کے لیے ہیں)۔
- TrustZone® فعال Examples اور ایپلی کیشنز کو محفوظ اور غیر محفوظ ذیلی پروجیکٹس پر مشتمل ملٹی پروجیکٹ ڈھانچہ فراہم کیا گیا ہے جیسا کہ شکل 5 میں پیش کیا گیا ہے۔ ملٹی پروجیکٹ محفوظ اور غیر محفوظ پروجیکٹ ڈھانچہ۔
- TrustZone®- فعال پروجیکٹس CMSIS-5 ڈیوائس ٹیمپلیٹ کے مطابق تیار کیے گئے ہیں، جس میں سسٹم پارٹیشننگ ہیڈر کو شامل کرنے کے لیے بڑھایا گیا ہے۔ file تقسیم_ .h، جو بنیادی طور پر محفوظ انتساب یونٹ (SAU)، FPU، اور محفوظ عملدرآمد کی حالت میں محفوظ/غیر محفوظ مداخلت کی اسائنمنٹ کے سیٹ اپ کے لیے ذمہ دار ہے۔
- یہ سیٹ اپ محفوظ CMSIS SystemInit() فنکشن میں انجام دیا جاتا ہے، جسے محفوظ ایپلیکیشن مین() فنکشن میں داخل ہونے سے پہلے اسٹارٹ اپ پر بلایا جاتا ہے۔ سافٹ ویئر رہنما خطوط کی Arm® TrustZone®-M دستاویزات سے رجوع کریں۔
- STM32CubeWBA پیکیج فرم ویئر پیکیج پارٹیشن میں ڈیفالٹ میموری تقسیم فراہم کرتا ہے _ .h fileکے تحت دستیاب ہے: \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.
- سورس کوڈ پر مشتمل Src فولڈر۔
- \EWARM، \MDK-ARM، اور \STM32CubeIDE فولڈرز جن میں ہر ٹول چین کے لیے پہلے سے ترتیب شدہ پروجیکٹ ہوتا ہے۔
- readme.md اور readme.html سابق کی وضاحت کرتے ہوئے۔ampاس کو کام کرنے کے لیے طرز عمل اور ضروری ماحول۔
- آئی او سی file جو صارفین کو زیادہ تر فرم ویئر کھولنے کی اجازت دیتا ہے۔amples STM32CubeMX کے اندر۔
STM32CubeWBA کے ساتھ شروع کرنا
پہلا HAL سابق چلا رہا ہے۔ample
یہ سیکشن بتاتا ہے کہ پہلے سابق کو چلانا کتنا آسان ہے۔ample STM32CubeWBA کے اندر۔ یہ NUCLEO-WBA52CG بورڈ پر چلنے والے ایک سادہ ایل ای ڈی ٹوگل کی نسل کو مثال کے طور پر استعمال کرتا ہے:
- STM32CubeWBA MCU پیکیج ڈاؤن لوڈ کریں۔
- اسے اپنی پسند کی ڈائرکٹری میں ان زپ کریں۔
- اس بات کو یقینی بنائیں کہ تصویر 1 میں دکھائے گئے پیکیج کے ڈھانچے میں ترمیم نہ کریں۔ یہ بھی تجویز کیا جاتا ہے کہ پیکیج کو اپنے روٹ والیوم کے قریب جگہ پر کاپی کریں (جس کا مطلب ہے C:\ST یا G:\Tests)، کیونکہ کچھ IDEs کو راستے میں مشکلات کا سامنا کرنا پڑتا ہے۔ لمبائی بہت لمبی ہے.
پہلے TrustZone® کو چلانا فعال example
- لوڈ کرنے اور چلانے سے پہلے TrustZone® فعال exampلی، سابق کو پڑھنا لازمی ہے۔ampمجھے پڑھیں file کسی مخصوص کنفیگریشن کے لیے، جو اس بات کو یقینی بناتا ہے کہ سیکشن 4.2.1 TrustZone® فعال پروجیکٹس (TZEN=1 (یوزر آپشن بائٹ)) میں بیان کردہ سیکیورٹی کو فعال کیا گیا ہے۔
- \Projects\NUCLEO-WBA52CG\Ex پر براؤز کریں۔amples
- کھولیں \GPIO، پھر \GPIO_IOToggle_TrustZone فولڈرز۔
- اپنے پسندیدہ ٹول چین کے ساتھ پروجیکٹ کو کھولیں۔ ایک جلدی ختمview سابق کو کھولنے، بنانے اور چلانے کے طریقے پرampحمایت یافتہ ٹول چینز کے ساتھ ذیل میں دیا گیا ہے۔
- تمام محفوظ اور غیر محفوظ پروجیکٹ کو ترتیب سے دوبارہ بنائیں files اور محفوظ اور غیر محفوظ تصاویر کو ٹارگٹ میموری میں لوڈ کریں۔
- سابق کو چلائیں۔ample: باقاعدگی سے، محفوظ ایپلیکیشن LD2 کو ہر سیکنڈ میں ٹوگل کرتی ہے، اور غیر محفوظ ایپلیکیشن LD3 کو دوگنا تیزی سے ٹوگل کرتی ہے۔ مزید تفصیلات کے لیے ریڈمی سے رجوع کریں۔ file سابق کےample
- ایک سابق کو کھولنے، بنانے اور چلانے کے لیےampحمایت یافتہ ٹول چینز کے ساتھ، ذیل کے مراحل پر عمل کریں:
- EWARM:
- سابق کے تحتample فولڈر، کھولیں \EWARM سب فولڈر۔
- Project.eww ورک اسپیس لانچ کریں۔
- xxxxx_S محفوظ پروجیکٹ کو دوبارہ بنائیں files: [پروجیکٹ]>[سب کو دوبارہ بنائیں]۔
- xxxxx_NS غیر محفوظ پروجیکٹ کو ایکٹو ایپلیکیشن کے طور پر سیٹ کریں (xxxxx_NS پروجیکٹ پر دائیں کلک کریں [Set as Active])
- xxxxx_NS غیر محفوظ پروجیکٹ کو دوبارہ بنائیں files: [پروجیکٹ]>[سب کو دوبارہ بنائیں]۔
- غیر محفوظ بائنری کو [پروجیکٹ]>[ڈاؤن لوڈ]>[ایکٹو ایپلیکیشن ڈاؤن لوڈ کریں] کے ساتھ فلیش کریں۔
- xxxxx_S کو ایکٹو ایپلیکیشن کے طور پر سیٹ کریں (xxxxx_S پروجیکٹ [Set as Active] پر دائیں کلک کریں۔
- محفوظ بائنری کو [ڈاؤن لوڈ اور ڈیبگ] (Ctrl+D) کے ساتھ فلیش کریں۔
- پروگرام چلائیں: [Debug]>[Go(F5)]
- MDK-ARM:
- \MDK-ARM ٹول چین کھولیں۔
- ملٹی پروجیکٹس ورک اسپیس کھولیں۔ file Project.uvmpw.
- xxxxx_s پروجیکٹ کو ایکٹو ایپلیکیشن کے طور پر منتخب کریں ([Set as Active Project])۔
- xxxxx_s پروجیکٹ بنائیں۔
- xxxxx_ns پروجیکٹ کو ایکٹو پروجیکٹ کے طور پر منتخب کریں ([Set as Active Project])۔
- xxxxx_ns پروجیکٹ بنائیں۔
- غیر محفوظ بائنری ([F8]) لوڈ کریں۔ یہ فلیش میموری پر \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf ڈاؤن لوڈ کرتا ہے)
- پروجیکٹ_s پروجیکٹ کو ایکٹو پروجیکٹ کے طور پر منتخب کریں ([ایکٹو پروجیکٹ کے طور پر سیٹ کریں])۔
- محفوظ بائنری ([F8]) لوڈ کریں۔ یہ \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf کو فلیش میموری میں ڈاؤن لوڈ کرتا ہے)۔
- سابق کو چلائیں۔ample
- STM32CubeIDE:
- STM32CubeIDE ٹول چین کھولیں۔
- ملٹی پروجیکٹس ورک اسپیس کھولیں۔ file .project
- xxxxx_Secure پروجیکٹ کو دوبارہ بنائیں۔
- xxxxx_NonSecure پروجیکٹ کو دوبارہ بنائیں۔
- محفوظ پروجیکٹ کے لیے [Debug as STM32 Cortex-M C/C++] ایپلیکیشن لانچ کریں۔
- [کنفیگریشن میں ترمیم کریں] ونڈو میں، [اسٹارٹ اپ] پینل کو منتخب کریں، اور غیر محفوظ پروجیکٹ کی تصویر اور علامتیں شامل کریں۔
اہم: غیر محفوظ پروجیکٹ کو محفوظ پروجیکٹ سے پہلے لوڈ کرنا ضروری ہے۔ - [ٹھیک ہے] پر کلک کریں۔
- سابق کو چلائیں۔ampڈیبگ کے نقطہ نظر پر۔
- EWARM:
پہلا TrustZone® چلانا غیر فعال سابقample
- لوڈ کرنے اور چلانے سے پہلے TrustZone® غیر فعال سابقampلی، سابق کو پڑھنا لازمی ہے۔ampمجھے پڑھیں file کسی مخصوص ترتیب کے لیے۔ اگر کوئی خاص تذکرہ نہیں ہے، تو یقینی بنائیں کہ بورڈ ڈیوائس میں سیکیورٹی غیر فعال ہے (TZEN=0 (یوزر آپشن بائٹ))۔ TZEN = 0 پر اختیاری ریگریشن کرنے کے لیے اکثر پوچھے گئے سوالات دیکھیں
- \Projects\NUCLEO-WBA52CG\Ex پر براؤز کریں۔amples
- کھولیں \GPIO، پھر \GPIO_EXTI فولڈرز۔
- اپنے پسندیدہ ٹول چین کے ساتھ پروجیکٹ کو کھولیں۔ ایک جلدی ختمview سابق کو کھولنے، بنانے اور چلانے کے طریقے پرampحمایت یافتہ ٹول چینز کے ساتھ ذیل میں دیا گیا ہے۔
- سب کو دوبارہ بنائیں files اور اپنی تصویر کو ٹارگٹ میموری میں لوڈ کریں۔
- سابق کو چلائیں۔ample: جب بھی [USER] پش بٹن دبایا جاتا ہے، LD1 LED ٹوگل ہوجاتا ہے۔ مزید تفصیلات کے لیے ریڈمی سے رجوع کریں۔ file سابق کےample
- ایک سابق کو کھولنے، بنانے اور چلانے کے لیےampحمایت یافتہ ٹول چینز کے ساتھ، ذیل کے مراحل پر عمل کریں:
- EWARM:
- سابق کے تحتample فولڈر، کھولیں \EWARM سب فولڈر۔
- Project.eww ورک اسپیس لانچ کریں (ورک اسپیس کا نام ایک سابق سے تبدیل ہوسکتا ہے۔ampدوسرے سے)
- سب کو دوبارہ بنائیں files: [پروجیکٹ]>[سب کو دوبارہ بنائیں]۔
- پروجیکٹ کی تصویر لوڈ کریں: [پروجیکٹ]>[ڈیبگ]۔
- پروگرام چلائیں: [ڈیبگ]>[گو (F5)]۔
- MDK-ARM:
- سابق کے تحتample فولڈر، \MDK-ARM ذیلی فولڈر کھولیں۔
- Project.uvproj ورک اسپیس لانچ کریں (ورک اسپیس کا نام ایک سابق سے تبدیل ہوسکتا ہے۔ampدوسرے سے)
- سب کو دوبارہ بنائیں files:[پروجیکٹ]>[تمام ہدف کو دوبارہ بنائیں files]۔
- پروجیکٹ کی تصویر لوڈ کریں: [ڈیبگ]>[ڈیبگ سیشن شروع/روکیں]۔
- پروگرام چلائیں: [ڈیبگ]>[رن (F5)]۔
- STM32CubeIDE:
- STM32CubeIDE ٹول چین کھولیں۔
- [پر کلک کریںFile]>[سوئچ ورک اسپیس]>[دیگر] اور STM32CubeIDE ورک اسپیس ڈائرکٹری میں براؤز کریں۔
- [پر کلک کریںFile]>[درآمد کریں]، منتخب کریں [جنرل]>[موجودہ پروجیکٹس ان ورک اسپیس]، اور پھر [اگلا] پر کلک کریں۔
- STM32CubeIDE ورک اسپیس ڈائرکٹری کو براؤز کریں اور پروجیکٹ کو منتخب کریں۔
- تمام پروجیکٹ کو دوبارہ بنائیں files: [Project Explorer] ونڈو میں پروجیکٹ کو منتخب کریں پھر [Project]>[build project] مینو پر کلک کریں۔
- پروگرام چلائیں: [چلائیں]>[ڈیبگ (F11)]
- EWARM:
اپنی مرضی کے مطابق ایپلی کیشن تیار کرنا
نوٹ: سافٹ ویئر کو فلیش میموری سے 0 ویٹ اسٹیٹ ایگزیکیوشن حاصل کرنے اور زیادہ سے زیادہ کارکردگی اور بہتر بجلی کی کھپت تک پہنچنے کے لیے انسٹرکشن کیش (ICACHE) کو فعال کرنا چاہیے۔
ایپلیکیشن تیار کرنے یا اپ ڈیٹ کرنے کے لیے STM32CubeMX استعمال کرنا
- STM32CubeWBA MCU پیکیج میں، تقریباً تمام پروجیکٹ سابقamples سسٹم، پیری فیرلز اور مڈل ویئر کو شروع کرنے کے لیے STM32CubeMX ٹول کے ساتھ تیار کیا جاتا ہے۔
- موجودہ پروجیکٹ کا براہ راست استعمال سابقampSTM32CubeMX ٹول سے لی کے لیے STM32CubeMX 6.10.0 یا اس سے زیادہ کی ضرورت ہے:
- STM32CubeMX کی تنصیب کے بعد، کھولیں اور اگر ضروری ہو تو مجوزہ پروجیکٹ کو اپ ڈیٹ کریں۔ موجودہ پروجیکٹ کو کھولنے کا آسان ترین طریقہ یہ ہے کہ *.ioc پر ڈبل کلک کریں۔ file تاکہ STM32CubeMX خود بخود پروجیکٹ اور اس کا ذریعہ کھولے۔ files.
- STM32CubeMX اس طرح کے پروجیکٹس کا ابتدائی سورس کوڈ تیار کرتا ہے۔ بنیادی ایپلیکیشن سورس کوڈ "USER CODE BEGIN" اور "USER CODE END" کے تبصروں پر مشتمل ہے۔ آئی پی سلیکشن اور سیٹنگ میں ترمیم کی صورت میں، STM32CubeMX کوڈ کے ابتدائی حصے کو اپ ڈیٹ کرتا ہے لیکن ایپلیکیشن کے مرکزی سورس کوڈ کو محفوظ رکھتا ہے۔
- STM32CubeMX میں حسب ضرورت پروجیکٹ تیار کرنے کے لیے، مرحلہ وار عمل کی پیروی کریں:
- STM32 مائیکرو کنٹرولر کو منتخب کریں جو پیری فیرلز کے مطلوبہ سیٹ سے میل کھاتا ہے۔
- پن آؤٹ کنفلکٹ سولور، کلاک ٹری سیٹنگ ہیلپر، بجلی کی کھپت کا کیلکولیٹر، اور MCU پیریفرل کنفیگریشن (جیسے GPIO یا USART) اور مڈل ویئر اسٹیک (جیسے USB) کا استعمال کرتے ہوئے تمام مطلوبہ ایمبیڈڈ سافٹ ویئر کو کنفیگر کریں۔
- منتخب کنفیگریشن کی بنیاد پر ابتدائی C کوڈ تیار کریں۔ یہ کوڈ کئی ترقیاتی ماحول میں استعمال کرنے کے لیے تیار ہے۔ صارف کا کوڈ اگلی کوڈ جنریشن میں رکھا جاتا ہے۔
- STM32CubeMX کے بارے میں مزید معلومات کے لیے، STM32 کنفیگریشن اور انیشیلائزیشن C کوڈ جنریشن (UM32) کے لیے صارف دستی STM1718CubeMX سے رجوع کریں۔
- دستیاب پروجیکٹ کی فہرست کے لیے سابقamples STM32CubeWBA کے لیے، ایپلیکیشن نوٹ STM32Cube فرم ویئر سابق سے رجوع کریںamples for STM32WBA سیریز (AN5929)۔
ڈرائیور ایپلی کیشنز
ایچ اے ایل کی درخواست
یہ سیکشن STM32CubeWBA کا استعمال کرتے ہوئے حسب ضرورت HAL ایپلیکیشن بنانے کے لیے درکار اقدامات کی وضاحت کرتا ہے:
- ایک پروجیکٹ بنائیں
- نیا پروجیکٹ بنانے کے لیے، \Projects\ کے تحت ہر بورڈ کے لیے فراہم کردہ ٹیمپلیٹ پروجیکٹ سے یا تو شروع کریں۔ \Templates یا \Projects\ کے تحت کسی بھی دستیاب پروجیکٹ سے \امتحانات یا \منصوبے\ \ ایپلی کیشنز (جہاں بورڈ کے نام سے مراد ہے، جیسے STM32CubeWBA)۔
- ٹیمپلیٹ پروجیکٹ ایک خالی مین لوپ فنکشن فراہم کرتا ہے۔ تاہم، STM32CubeWBA پروجیکٹ کی ترتیبات کو سمجھنے کے لیے یہ ایک اچھا نقطہ آغاز ہے۔ ٹیمپلیٹ میں درج ذیل خصوصیات ہیں:
- اس میں HAL سورس کوڈ، CMSIS، اور BSP ڈرائیور شامل ہیں، جو کہ دیئے گئے بورڈ پر کوڈ تیار کرنے کے لیے ضروری اجزاء کا کم از کم سیٹ ہیں۔
- اس میں فرم ویئر کے تمام اجزاء کے لیے شامل راستے شامل ہیں۔
- یہ تعاون یافتہ STM32WBA سیریز کے آلات کی وضاحت کرتا ہے، جس سے CMSIS اور HAL ڈرائیوروں کو درست طریقے سے ترتیب دیا جا سکتا ہے۔
- یہ استعمال کے لیے تیار صارف فراہم کرتا ہے۔ files پہلے سے تشکیل شدہ جیسا کہ ذیل میں دکھایا گیا ہے:
HAL نے Arm® core SysTick کے ساتھ ڈیفالٹ ٹائم بیس کے ساتھ آغاز کیا۔ SysTick ISR کو HAL_Delay() مقصد کے لیے لاگو کیا گیا۔
نوٹ: کسی موجودہ پروجیکٹ کو دوسرے مقام پر کاپی کرتے وقت، یقینی بنائیں کہ شامل تمام راستے اپ ڈیٹ ہیں۔
- صارف کے منصوبے میں ضروری مڈل ویئر شامل کریں (اختیاری)
ماخذ کی شناخت کے لیے files کو پروجیکٹ میں شامل کیا جائے گا۔ file فہرست، ہر مڈل ویئر کے لیے فراہم کردہ دستاویزات کا حوالہ دیں۔ \Projects\STM32xxx_yyy\Applications\ کے تحت درخواستوں کا حوالہ دیں (کہاں مڈل ویئر اسٹیک سے مراد ہے، جیسے ThreadX) یہ جاننے کے لیے کہ کون سا ذریعہ ہے۔ files اور راستے شامل کرنا ضروری ہے۔ - فرم ویئر کے اجزاء کو ترتیب دیں۔
HAL اور مڈل ویئر کے اجزاء ہیڈر میں اعلان کردہ میکروس #define کا استعمال کرتے ہوئے بلڈ ٹائم کنفیگریشن کے اختیارات کا ایک سیٹ پیش کرتے ہیں۔ file. ٹیمپلیٹ کی ترتیب file ہر جزو کے اندر فراہم کیا جاتا ہے، جسے پروجیکٹ فولڈر میں کاپی کرنا ہوتا ہے (عام طور پر کنفیگریشن file xxx_conf_template.h کا نام دیا گیا ہے، لفظ _template کو پروجیکٹ فولڈر میں کاپی کرتے وقت ہٹانے کی ضرورت ہے)۔ ترتیب file ہر کنفیگریشن آپشن کے اثر کو سمجھنے کے لیے کافی معلومات فراہم کرتا ہے۔ مزید تفصیلی معلومات ہر جزو کے لیے فراہم کردہ دستاویزات میں دستیاب ہے۔ - HAL لائبریری شروع کریں۔
مرکزی پروگرام پر جانے کے بعد، HAL لائبریری کو شروع کرنے کے لیے ایپلیکیشن کوڈ کو HAL_Init() API کو کال کرنا چاہیے، جو درج ذیل کام انجام دیتا ہے:- فلیش میموری پری فیچ اور SysTick مداخلت کی ترجیح کی ترتیب (st m32wbaxx_hal_conf.h میں بیان کردہ میکروز کے ذریعے)۔
- SysTick کی ترتیب SysTick مداخلت کی ترجیح TICK_INT_PRIO پر ہر ملی سیکنڈ میں ایک انٹرپٹ پیدا کرنے کے لیے جس کی وضاحت stm32wbaxx_hal_conf.h میں کی گئی ہے۔
- NVIC گروپ کی ترجیح کو 0 پر سیٹ کرنا۔
- HAL_MspInit() کال بیک فنکشن کی کال stm32wbaxx_hal_msp.c صارف میں بیان کی گئی file عالمی کم سطح کے ہارڈ ویئر کی ابتداء کو انجام دینے کے لیے۔
- سسٹم کلاک کو کنفیگر کریں۔
سسٹم کلاک کنفیگریشن ذیل میں بیان کردہ دو APIs کو کال کرکے کی جاتی ہے۔- HAL_RCC_OscConfig(): یہ API اندرونی اور بیرونی oscillators کو ترتیب دیتا ہے۔ صارف ایک یا تمام oscillators کو ترتیب دینے کا انتخاب کرتا ہے۔
- HAL_RCC_ClockConfig(): یہ API سسٹم کلاک سورس، فلیش میموری لیٹینسی، اور AHB اور APB prescalers کو ترتیب دیتا ہے۔
- پردیی شروع کریں۔
- پہلے پیریفرل HAL_PPP_MspInit فنکشن لکھیں۔ مندرجہ ذیل کے طور پر آگے بڑھیں:
- پردیی گھڑی کو فعال کریں۔
- پیریفرل GPIOs کو ترتیب دیں۔
- DMA چینل کو کنفیگر کریں اور DMA انٹرپٹ کو فعال کریں (اگر ضرورت ہو)۔
- پردیی مداخلت کو فعال کریں (اگر ضرورت ہو)۔
- ضرورت پڑنے پر مطلوبہ انٹرپٹ ہینڈلرز (پیری فیرل اور ڈی ایم اے) کو کال کرنے کے لیے stm32xxx_it.c میں ترمیم کریں۔
- پراسیس مکمل کال بیک فنکشنز لکھیں، اگر کوئی پیریفرل انٹرپٹ یا DMA استعمال کرنے کا منصوبہ ہے۔
- صارف main.c میں file، پیریفرل ہینڈل کی ساخت کو شروع کریں پھر پیریفرل شروع کرنے کے لیے فنکشن HAL_PPP_Init() کو کال کریں۔
- پہلے پیریفرل HAL_PPP_MspInit فنکشن لکھیں۔ مندرجہ ذیل کے طور پر آگے بڑھیں:
- ایک درخواست تیار کریں۔
- اس پر ایسtagای، سسٹم تیار ہے اور یوزر ایپلیکیشن کوڈ ڈیولپمنٹ شروع کر سکتا ہے۔
- HAL پردیی کو ترتیب دینے کے لیے بدیہی اور استعمال کے لیے تیار APIs فراہم کرتا ہے۔ یہ کسی بھی درخواست کی ضروریات کو ایڈجسٹ کرنے کے لیے پولنگ، مداخلت، اور DMA پروگرامنگ ماڈل کی حمایت کرتا ہے۔ ہر پردیی کو استعمال کرنے کے طریقے کے بارے میں مزید تفصیلات کے لیے، امیر سابق سے رجوع کریں۔ampلی سیٹ STM32CubeWBA MCU پیکیج میں فراہم کیا گیا ہے۔
احتیاط: پہلے سے طے شدہ HAL نفاذ میں، SysTick ٹائمر کو ٹائم بیس کے طور پر استعمال کیا جاتا ہے: یہ باقاعدہ وقت کے وقفوں پر رکاوٹیں پیدا کرتا ہے۔ اگر HAL_Delay() کو پیری فیرل ISR عمل سے کال کیا جاتا ہے، تو یقینی بنائیں کہ SysTick interrupt کی پیریفرل انٹرپٹ سے زیادہ ترجیح (عددی طور پر کم) ہے۔ بصورت دیگر، کالر کا ISR عمل مسدود ہے۔ ٹائم بیس کنفیگریشنز کو متاثر کرنے والے فنکشنز کو __ کمزور قرار دیا جاتا ہے تاکہ صارف میں دیگر نفاذ کی صورت میں اوور رائڈ کو ممکن بنایا جا سکے۔ file (ایک عام مقصد کے ٹائمر کا استعمال کرتے ہوئے، مثال کے طور پرample، یا کسی اور وقت کا ذریعہ)۔ مزید تفصیلات کے لیے، HAL_TimeBase ex سے رجوع کریں۔ample
ایل ایل کی درخواست
یہ سیکشن STM32CubeWBA کا استعمال کرتے ہوئے اپنی مرضی کے مطابق LL ایپلیکیشن بنانے کے لیے درکار اقدامات کی وضاحت کرتا ہے۔
- ایک پروجیکٹ بنائیں
- نیا پروجیکٹ بنانے کے لیے، یا تو ٹیمپلیٹس_LL پروجیکٹ سے شروع کریں جو \Projects\ کے تحت ہر بورڈ کے لیے فراہم کیے گئے ہیں۔ \Templates_LL، یا \Projects\ کے تحت کسی بھی دستیاب پروجیکٹ سے \سابقamples_LL ( بورڈ کے نام سے مراد ہے، جیسے NUCLEO-WBA32CG)۔
- ٹیمپلیٹ پروجیکٹ ایک خالی مین لوپ فنکشن فراہم کرتا ہے، جو STM32CubeWBA کے لیے پروجیکٹ کی ترتیبات کو سمجھنے کے لیے ایک اچھا نقطہ آغاز ہے۔ ٹیمپلیٹ کی اہم خصوصیات درج ذیل ہیں:
- اس میں LL اور CMSIS ڈرائیوروں کے سورس کوڈز ہوتے ہیں، جو کہ دیئے گئے بورڈ پر کوڈ تیار کرنے کے لیے ضروری اجزاء کا کم از کم سیٹ ہوتے ہیں۔
- اس میں فرم ویئر کے تمام ضروری اجزاء کے لیے شامل راستے شامل ہیں۔
- یہ تعاون یافتہ STM32WBA سیریز ڈیوائس کو منتخب کرتا ہے اور CMSIS اور LL ڈرائیوروں کی درست ترتیب کی اجازت دیتا ہے۔
- یہ استعمال کے لیے تیار صارف فراہم کرتا ہے۔ files جو پہلے سے تشکیل شدہ ہیں اس طرح:
◦ main.h: LED اور USER_BUTTON تعریف تجریدی پرت۔
◦ main.c: زیادہ سے زیادہ فریکوئنسی کے لیے سسٹم کلاک کنفیگریشن۔
- موجودہ پروجیکٹ کو دوسرے بورڈ میں پورٹ کریں۔
دوسرے ٹارگٹ بورڈ پر موجودہ پروجیکٹ کو سپورٹ کرنے کے لیے، ہر بورڈ کے لیے فراہم کردہ Templates_LL پروجیکٹ سے شروع کریں اور \Projects\ کے تحت دستیاب ہوں۔ \Templates_LL۔- ایل ایل سابقہ کو منتخب کریں۔ample: بورڈ تلاش کرنے کے لیے جس پر ایل ایل سابقamples تعینات ہیں، ایل ایل سابق کی فہرست کا حوالہ دیں۔amples STM32CubeProjectsList.html۔
- ایل ایل سابق کو پورٹ کریں۔ampلی:
- Templates_LL فولڈر کو کاپی/پیسٹ کریں - ابتدائی ماخذ رکھنے کے لیے - یا موجودہ Templates_LL پروجیکٹ کو براہ راست اپ ڈیٹ کریں۔
- پھر پورٹنگ بنیادی طور پر Templates_LL کو تبدیل کرنے پر مشتمل ہے۔ fileسابق کی طرف سے samples_LL ہدف شدہ پروجیکٹ۔
- بورڈ کے تمام مخصوص حصے رکھیں۔ واضح ہونے کی وجہ سے، بورڈ کے مخصوص حصوں کو مخصوص کے ساتھ جھنڈا لگایا گیا ہے۔ tags:
- اس طرح، پورٹنگ کے اہم اقدامات درج ذیل ہیں:
- stm32wbaxx_it.h کو تبدیل کریں۔ file
- stm32wbaxx_it.c کو تبدیل کریں۔ file
- main.h کو تبدیل کریں۔ file اور اسے اپ ڈیٹ کریں: ایل ایل ٹیمپلیٹ کی ایل ای ڈی اور صارف کے بٹن کی تعریف کو بورڈ کی مخصوص ترتیب کے تحت رکھیں tags.
- مین سی کو تبدیل کریں۔ file اور اسے اپ ڈیٹ کریں:
- SystemClock_Config() LL ٹیمپلیٹ فنکشن کی کلاک کنفیگریشن کو بورڈ کے مخصوص کنفیگریشن کے تحت رکھیں tags.
- ایل ای ڈی کی تعریف پر منحصر ہے، ہر LDx وقوعہ کو مین ایچ میں دستیاب ایک اور LDy سے بدل دیں۔ file.
- ان ترامیم کے ساتھ، سابقample اب ہدف والے بورڈ پر چلتا ہے۔
سیکیورٹی ایپلی کیشنز
یہ پیکیج سیکیورٹی ایپلی کیشنز کے ساتھ فراہم کیا گیا ہے۔
SBSFU ایپلی کیشنز
- SBSFU ایک روٹ آف ٹرسٹ حل فراہم کرتا ہے، بشمول سیکیور بوٹ اور سیکیور فرم ویئر اپڈیٹ فنکشنلٹیز (MCUboot پر مبنی)۔
- حل ایپلی کیشن کو انجام دینے سے پہلے استعمال کیا جاتا ہے۔
- حل ایک سابق فراہم کرتا ہےampایک محفوظ سروس (GPIO ٹوگل)، جو غیر محفوظ ایپلیکیشن سے الگ تھلگ ہے۔ رن ٹائم پر غیر محفوظ ایپلیکیشن اب بھی اس حل کو استعمال کر سکتی ہے۔
TFM ایپلی کیشنز
TFM ایک روٹ آف ٹرسٹ حل فراہم کرتا ہے جس میں سیکیور بوٹ اور سیکیور فرم ویئر اپ ڈیٹ کی خصوصیات شامل ہیں
(MCUboot پر مبنی) ایپلی کیشن پر عمل کرنے سے پہلے حل استعمال کیا جاتا ہے۔ حل TFM محفوظ خدمات فراہم کرتا ہے جو غیر محفوظ ایپلیکیشن سے الگ تھلگ ہیں۔ رن ٹائم پر غیر محفوظ ایپلیکیشن اب بھی اس حل کو استعمال کر سکتی ہے۔
آر ایف ایپلی کیشنز
RF ایپلیکیشن کو اس ایپلیکیشن نوٹ میں بیان کیا گیا ہے: STM32WBA سیریز کے مائیکرو کنٹرولرز (AN5928) کے ساتھ وائرلیس ایپلی کیشنز بنانا۔
STM32CubeWBA ریلیز اپ ڈیٹس حاصل کرنا
تازہ ترین STM32CubeWBA MCU پیکیج ریلیز اور پیچ STM32WBA سیریز سے دستیاب ہیں۔ انہیں STM32CubeMX میں چیک فار اپ ڈیٹ بٹن سے بازیافت کیا جا سکتا ہے۔ مزید تفصیلات کے لیے، STM3 کنفیگریشن اور انیشیلائزیشن C کوڈ جنریشن (UM32) کے لیے صارف دستی STM32CubeMX کے سیکشن 1718 سے رجوع کریں۔
اکثر پوچھے گئے سوالات
- مجھے LL ڈرائیوروں کی بجائے HAL کب استعمال کرنا چاہیے؟
- HAL ڈرائیور اعلی سطحی اور فنکشن پر مبنی APIs پیش کرتے ہیں، جس میں اعلی درجے کی پورٹیبلٹی ہے۔ مصنوعات یا پردیی پیچیدگی اختتامی صارفین کے لیے پوشیدہ ہے۔
- ایل ایل ڈرائیور کم پرت والے رجسٹر لیول APIs پیش کرتے ہیں، بہتر اصلاح کے ساتھ لیکن کم پورٹیبل۔ انہیں پروڈکٹ یا آئی پی تصریحات کے بارے میں گہرائی سے علم کی ضرورت ہوتی ہے۔
- کیا میں HAL اور LL ڈرائیور ایک ساتھ استعمال کر سکتا ہوں؟ اگر میں کر سکتا ہوں تو کیا رکاوٹیں ہیں؟
- HAL اور LL دونوں ڈرائیوروں کو استعمال کرنا ممکن ہے۔ IP ابتدائی مرحلے کے لیے HAL استعمال کریں اور پھر LL ڈرائیوروں کے ساتھ I/O آپریشنز کا نظم کریں۔
- HAL اور LL کے درمیان بڑا فرق یہ ہے کہ HAL ڈرائیوروں کو آپریشن کے انتظام کے لیے ہینڈل بنانے اور استعمال کرنے کی ضرورت ہوتی ہے جبکہ LL ڈرائیور براہ راست پیریفرل رجسٹر پر کام کرتے ہیں۔ سابقamples_MIX سابقample وضاحت کرتا ہے کہ HAL اور LL کو کیسے ملایا جائے۔
- ایل ایل انیشیلائزیشن APIs کو کیسے فعال کیا جاتا ہے؟
- LL انیشیلائزیشن APIs اور متعلقہ وسائل (سٹرکچرز، لٹریلز، اور پروٹو ٹائپس) کی تعریف USE_FULL_LL_DRIVER کمپائلیشن سوئچ کے ذریعے مشروط ہے۔
- LL ابتدائیہ APIs استعمال کرنے کے قابل ہونے کے لیے، اس سوئچ کو ٹول چین کمپائلر پری پروسیسر میں شامل کریں۔
- STM32CubeMX ایمبیڈڈ سافٹ ویئر کی بنیاد پر کوڈ کیسے بنا سکتا ہے؟
STM32CubeMX کے پاس STM32 مائیکرو کنٹرولرز کے بارے میں بلٹ ان علم ہے، بشمول ان کے پیری فیرلز اور سافٹ ویئر جو صارف کو گرافیکل نمائندگی فراہم کرنے اور *.h یا *.c بنانے کی اجازت دیتا ہے۔ files صارف کی ترتیب پر مبنی ہے۔
اہم نوٹس - غور سے پڑھیں
- STMicroelectronics NV اور اس کے ذیلی ادارے ("ST") بغیر اطلاع کے کسی بھی وقت ST مصنوعات اور/یا اس دستاویز میں تبدیلیاں، تصحیحات، اضافہ، ترمیمات اور بہتری کا حق محفوظ رکھتے ہیں۔ خریداروں کو آرڈر دینے سے پہلے ST مصنوعات کے بارے میں تازہ ترین متعلقہ معلومات حاصل کرنی چاہیے۔ ST پروڈکٹس کو آرڈر کی منظوری کے وقت ST کی فروخت کی شرائط و ضوابط کے مطابق فروخت کیا جاتا ہے۔
- خریدار ST مصنوعات کے انتخاب، انتخاب اور استعمال کے لیے مکمل طور پر ذمہ دار ہیں اور ST درخواست کی مدد یا خریداروں کی مصنوعات کے ڈیزائن کے لیے کوئی ذمہ داری قبول نہیں کرتا ہے۔
- یہاں ST کے ذریعہ کسی بھی دانشورانہ املاک کے حق کو کوئی لائسنس، ایکسپریس یا مضمر نہیں دیا گیا ہے۔
- یہاں بیان کردہ معلومات سے مختلف دفعات کے ساتھ ST مصنوعات کی دوبارہ فروخت ایسی مصنوعات کے لیے ST کی طرف سے دی گئی کسی بھی وارنٹی کو کالعدم قرار دے گی۔
- ST اور ST لوگو ST کے ٹریڈ مارک ہیں۔ ST ٹریڈ مارکس کے بارے میں اضافی معلومات کے لیے www.st.com/trademarks سے رجوع کریں۔ دیگر تمام پروڈکٹ یا سروس کے نام ان کے متعلقہ مالکان کی ملکیت ہیں۔
- اس دستاویز میں موجود معلومات اس دستاویز کے کسی بھی سابقہ ورژن میں پہلے سے فراہم کردہ معلومات کی جگہ لے لیتی ہے۔
- © 2023 STMicroelectronics – جملہ حقوق محفوظ ہیں۔
دستاویزات / وسائل
![]() |
STMicroelectronics STM32WBA سیریز شروع ہو رہی ہے۔ [پی ڈی ایف] یوزر مینوئل STM32WBA سیریز شروع کرنا، شروع کرنا، شروع کرنا |