- ST-LINK V2
- STM32 کیوب ایم ایکس
- ضروری سامان
- سرکٹ ڈایاگرام اور رابطے
- کییل یوویژن اور ایس ٹی لنک کا استعمال کرکے ایس ٹی ایم 32 میں پروگرام بنانا اور جلانا
- کیل پروگرامڈ ایس ٹی ایم 32 بورڈ کا آؤٹ پٹ
- پروگرام
ایس ٹی ایم 32 مائکروکونٹرولرز جو اے آر ایم کارٹیکس ایم فن تعمیر کا استعمال کرتے ہیں وہ اب مشہور ہورہا ہے اور اس کی خصوصیت ، قیمت اور کارکردگی کی وجہ سے بہت سے ایپلی کیشنز میں استعمال ہوتا ہے۔ ہم نے اپنے گذشتہ سبق میں ارڈینو آئی ڈی ای کا استعمال کرتے ہوئے STM32F103C8 کا پروگرام بنایا ہے۔ ارڈوینو آئی ڈی ای کے ساتھ ایس ٹی ایم 32 کو پروگرام کرنا آسان ہے ، کیوں کہ کسی بھی کام کو انجام دینے کے ل various بہت ساری لائبریریاں دستیاب ہیں ، ہمیں صرف ان لائبریریوں کو پروگرام میں شامل کرنے کی ضرورت ہے۔ یہ ایک آسان طریقہ کار ہے اور ہوسکتا ہے کہ آپ ARM پروسیسروں کے بارے میں گہری تعلیم حاصل نہ کریں۔ لہذا اب ہم پروگرامنگ کے اگلے درجے میں جا رہے ہیں جسے اے آر ایم پروگرامنگ کہتے ہیں۔ اس کے ذریعے ہم نہ صرف اپنے ضابطہ اخلاق کو بہتر بنا سکتے ہیں بلکہ غیر ضروری لائبریریوں کا استعمال نہ کرکے میموری کی جگہ بھی بچاسکتے ہیں۔
STMicroelectronics STM32Cube MX نامی ایک آلہ متعارف کرایا peripherals اور منتخب کردہ STM32 بورڈ کے مطابق بنیادی کوڈ پیدا، جس. لہذا ہمیں بنیادی ڈرائیوروں اور آلات کے لئے کوڈنگ کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔ مزید یہ پیدا شدہ کوڈ ضرورت کے مطابق ترمیم کرنے کے لئے کیل یوویژن میں استعمال کیا جاسکتا ہے۔ اور آخر کار STMicroelectronics سے ST-Link پروگرامر کا استعمال کرتے ہوئے STM32 میں کوڈ جلا دیا گیا ہے۔
اس ٹیوٹوریل میں ہم سیکھیں گے کہ کس طرح STM32F103C8 کیل یوویژن & STM32 کیوب ایم ایکس کا استعمال کرتے ہوئے پروگرام کو کس طرح دبائیں بٹن کو مداخلت کرنے کا ایک آسان پروجیکٹ کرکے STM32F103C8 بلیو گولی بورڈ کے ساتھ ایل ای ڈی بنایا جائے ۔ ہم ایس ٹی ایم 32 کیوب ایم ایکس کا استعمال کرتے ہوئے کوڈ بنائیں گے تب کیل یوویژن کا استعمال کرکے کوڈ کو ایس ٹی ایم 32 ایف 103 سی 8 میں ترمیم کریں اور اپ لوڈ کریں۔ تفصیل میں جانے سے پہلے ، ہم سب سے پہلے ایس ٹی لنک پروگرامر اور ایس ٹی ایم 32 کیوب ایم ایکس سافٹ ویئر ٹول کے بارے میں سیکھیں گے ۔
ST-LINK V2
ST-LINK / V2 ایک میں سرکٹ ٹھیک کرنے والا کھولتا اور پروگرامر ہے STM8 اور STM32 microcontroller کی خاندانوں کے لئے. ہم STM32F103C8 اور دیگر STM8 اور STM32 مائکروکنوترولروں کو اس ST-LINK کا استعمال کرتے ہوئے کوڈ اپ لوڈ کرسکتے ہیں۔ سنگل تار انٹرفیس ماڈیول (SWIM) اور JTAG / سیریل وائر ڈیبگنگ (SWD) انٹرفیس کسی بھی ایس ٹی ایم 8 یا ایس ٹی ایم 32 مائکروقابو کنٹرولر کے ساتھ مواصلت کرنے کے لئے استعمال ہوتے ہیں جو کسی ایپلی کیشن بورڈ میں واقع ہے۔ چونکہ ایس ٹی ایم 32 ایپلی کیشنز اٹولک ، آئی اے آر ، کییل یا ٹاسکنگ مربوط ترقیاتی ماحول کے ساتھ بات چیت کے ل the یو ایس بی فل اسپیڈ انٹرفیس کا استعمال کرتے ہیں ، لہذا ہم اس ہارڈ ویئر کو ایس ٹی ایم 8 اور ایس ٹی ایم 32 مائکروکانٹرولرز کو پروگرام کرنے کے لئے استعمال کرسکتے ہیں۔
اوپر ایسٹی میٹرک الیکٹرانکس کی طرف سے ایس ٹی لنک وی 2 ڈونگل کی تصویر ہے جو STM32 SWD ڈیبگنگ انٹرفیس ، ایک سادہ 4 تار انٹرفیس (بجلی سمیت) ، تیز اور مستحکم کی مکمل رینج کی حمایت کرتا ہے۔ یہ مختلف رنگوں میں دستیاب ہے۔ جسم ایلومینیم کھوٹ سے بنا ہے۔ اس میں نیلے رنگ کا ایل ای ڈی اشارہ ہے کیونکہ اس کا استعمال ایس ٹی لنک کی عملی حالت کا مشاہدہ کرنے کے لئے کیا جاتا ہے۔ پن کے نام شیل پر واضح طور پر نشان زد ہیں جیسے ہم مذکورہ بالا تصویر میں دیکھ سکتے ہیں۔ اس کو کییل سافٹ ویئر کے ساتھ انٹرفیس کیا جاسکتا ہے جہاں پروگرام کو ایس ٹی ایم 32 مائکروقانٹرولرز پر چمکادیا جاسکتا ہے۔ تو آئیے اس ٹیوٹوریل میں دیکھتے ہیں کہ یہ ST-LINK پروگرامر STM32 مائکروکانٹرولر پروگرام کرنے کے لئے کس طرح استعمال کیا جاسکتا ہے ۔ تصویر کے نیچے ST-LINK V2 ماڈیول کے پنوں کو دکھاتا ہے۔
نوٹ: جب پہلی بار ایس ٹی لنک کو کمپیوٹر سے مربوط کررہا ہو ۔ہمیں ڈیوائس ڈرائیور انسٹال کرنے کی ضرورت ہے۔ آپ کے آپریٹنگ سسٹم کے مطابق اس لینک میں ڈیوائس ڈرائیورز مل سکتے ہیں۔
STM32 کیوب ایم ایکس
STM32CubeMX ٹول STMicroelectronics STMCube کا حصہ ہے.یہ سافٹ ویئر ٹول ترقی کی کوششوں ، وقت اور قیمت کو کم کرکے ترقی کو آسان بنا دیتا ہے۔ STM32 کیوب میں STM32CubeMX شامل ہے جو ایک گرافیکل سوفٹویئر تشکیل کا ٹول ہے جو گرافیکل وزرڈز کا استعمال کرتے ہوئے سی ابتدا کوڈ تیار کرنے کی اجازت دیتا ہے۔ اس کوڈ کو مختلف ترقیاتی ماحول میں استعمال کیا جاسکتا ہے جیسے کیل یوویژن ، جی سی سی ، آئی اے آر وغیرہ۔ آپ اس آلے کو مندرجہ ذیل لنک سے ڈاؤن لوڈ کرسکتے ہیں۔
STM32CubeMX کی مندرجہ ذیل خصوصیات ہیں
- تنازعہ حل کرنے والا حل کرنا
- ایک گھڑی کے درخت کی ترتیب مددگار
- بجلی کی کھپت کا کیلکولیٹر
- جی سی آئی او پنوں ، یو ایس آر ٹی وغیرہ جیسے ایم سی یو پردیی ترتیب پرفارم کرنے والی افادیت
- ایک افادیت جس میں یو ایس بی ، ٹی سی پی / آئی پی وغیرہ جیسے مڈل ویئر اسٹیکس کے لئے MCU پردیی کنفگریشن کی کارکردگی کا مظاہرہ کیا گیا ہے
ضروری سامان
ہارڈ ویئر
- STM32F103C8 بلیو گولی بورڈ
- ST-LINK V2
- دبانے والا بٹن
- ایل. ای. ڈی
- بریڈ بورڈ
- جمپر تاروں
سافٹ ویئر
- STM32CubeMX کوڈ جنریشن ٹول (لنک)
- کییل یوویژن 5 (لنک)
- ایس ٹی لنک وی 2 کے ل Dri ڈرائیور (لنک)
سرکٹ ڈایاگرام اور رابطے
ذیل میں ایک پش بٹن کا استعمال کرتے ہوئے STM32 بورڈ کے ساتھ کسی ایل ای ڈی سے منسلک کرنے کے لئے سرکٹ ڈایاگرام ہے ۔
ST-LINK V2 اور STM32F103C8 کے درمیان رابطہ
یہاں STM32 بلیو گولی بورڈ ST-LINK سے چلتا ہے جو کمپیوٹر کے USB پورٹ سے جڑا ہوا ہے۔ لہذا ہمیں STM32 کو الگ سے پاور کرنے کی ضرورت نہیں ہے۔ ذیل میں جدول ST-Link اور بلیو گولی بورڈ کے مابین رابطے کو ظاہر کرتا ہے۔
STM32F103C8 |
ST-Link V2 |
GND |
GND |
ایس ڈبلیو سی ایل |
ایس ڈبلیو سی ایل |
SWDIO |
SWDIO |
3 وی 3 |
3.3V |
ایل ای ڈی اور پش بٹن
ایل ای ڈی کا استعمال بلیو گولی بورڈ سے آؤٹ پٹ کی نشاندہی کرنے کے لئے کیا جاتا ہے جب پش بٹن دب جاتا ہے۔ ایل ای ڈی کا انوڈ بلیو گولی بورڈ کے پن پی سی 13 سے منسلک ہے اور کیتھڈ گراؤنڈ ہے۔
بلیو گولی بورڈ کے پن PA1 کو ان پٹ فراہم کرنے کے لئے ایک پش بٹن منسلک ہے۔ ہمیں 10k ویلیو کا پل اپ ریزٹر بھی استعمال کرنا چاہئے کیونکہ جب بٹن ریلیز ہوتا ہے تو پن کو کسی ان پٹ کے بغیر تیرنا پڑتا ہے۔ پش بٹن کا ایک سرا ground گراؤنڈ اور دوسرے سرے سے پی اے 1 کو پن سے منسلک کیا گیا ہے اور 10 ک کا پل اپ ریزسٹر بھی بلیو گولی بورڈ کے 3.3V سے منسلک ہے۔
کییل یوویژن اور ایس ٹی لنک کا استعمال کرکے ایس ٹی ایم 32 میں پروگرام بنانا اور جلانا
مرحلہ 1: - پہلے ST-LINK V2 ، سافٹ ویئر ٹولز STM32 کیوب MX اور کییل یوویژن کے لئے تمام ڈیوائس ڈرائیورز انسٹال کریں اور STM32F103C8 کیلئے ضروری پیکیج انسٹال کریں۔
مرحلہ 2: - دوسرا مرحلہ کھلا ہے >> STM32 مکعب MX
مرحلہ 3: - پھر نیا پروجیکٹ پر کلک کریں
مرحلہ 4: - اس کے بعد تلاش کریں اور ہمارے مائکروکونٹرولر STM32F103C8 کو منتخب کریں
مرحلہ 5: - اب STM32F103C8 کا پن آؤٹ خاکہ ظاہر ہوگا ، یہاں ہم پن کی تشکیلات ترتیب دے سکتے ہیں۔ ہم اپنے پروجیکٹ کے مطابق پیری فیرلز سیکشن میں اپنے پنوں کو بھی منتخب کرسکتے ہیں۔
مرحلہ 6: - آپ براہ راست پن پر بھی کلیک کرسکتے ہیں اور ایک فہرست ظاہر ہوتی ہے ، اب مطلوبہ پن کی تشکیل کو منتخب کریں۔
مرحلہ 7: - ہمارے پروجیکٹ کے لئے ہم نے PI1 کو GPIO INPUT کے طور پر ، PC13 GPIO آؤٹ پٹ اور SYS ڈیبگ کو بطور سیرئیل وائر منتخب کیا ہے ، یہاں صرف ہم ST-LINK SWCLK & SWDIO پنوں کو جوڑتے ہیں۔ منتخب اور تشکیل شدہ پن سبز رنگ میں دکھائے جاتے ہیں ۔ آپ نیچے کی تصویر میں نوٹ کرسکتے ہیں۔
مرحلہ 8: - تشکیل ٹیب کے تحت اگلے ، ہم نے منتخب کردہ پنوں کے لئے GPIO پن کنفیگریشن ترتیب دینے کے لئے GPIO منتخب کریں۔
مرحلہ 9: - اس پن کنفیگریشن باکس میں اگلے ہم جن پنوں کو ہم استعمال کررہے ہیں اس کے لئے صارف لیبل تشکیل کرسکتے ہیں ، وہ صارف کے بیان کردہ پن کے نام ہیں۔
مرحلہ 10: - اس کے بعد پروجیکٹ >> جنیٹ کوڈ پر کلک کریں ۔
مرحلہ 11: - اب پروجیکٹ کی ترتیبات کا ڈائیلاگ باکس ظاہر ہوگا۔ اس باکس میں اپنے پروجیکٹ کا نام اور مقام منتخب کریں اور ترقیاتی ماحول منتخب کریں.ہم کیل استعمال کررہے ہیں لہذا MDK-ARMv5 کو IDE کے بطور منتخب کریں ۔
مرحلہ 12: - تحت اگلا کوڈ جنریٹر ٹیب ، منتخب کاپی صرف ضروری لائبریری فائلوں اور پھر ٹھیک ہے پر کلک کریں.
مرحلہ 13: - اب کوڈ جنریشن کا ڈائیلاگ باکس ظاہر ہوگا۔ پروجیکٹ کو کویل یوویژن میں خود بخود تیار شدہ کوڈ کو کھولنے کے لئے اوپن پروجیکٹ کو منتخب کریں ۔
مرحلہ 14: - اب کییل یوویژن کا آلہ STM32CubeMx میں ہمارے تیار کردہ کوڈ کے ساتھ اسی پروجیکٹ کے نام کے ساتھ کھلتا ہے جس میں ضروری لائبریری اور کوڈز ہیں جن کو ہم نے منتخب کردہ پنوں کے لئے تشکیل کیا ہے۔
مرحلہ 15: - اب جب ہمیں GPIO ان پٹ (پن PA1) پر بٹن دبائے اور جاری کیا جاتا ہے تو آؤٹ پٹ ایل ای ڈی (پن PC13) میں کچھ کارروائی کرنے کے لئے ہمیں صرف اس منطق کو شامل کرنے کی ضرورت ہے۔ تو کچھ کوڈ شامل کرنے کے لئے ہمارے مین سی پروگرام کو منتخب کریں ۔
مرحلہ 16: - اب جبکہ (1) لوپ میں کوڈ شامل کریں ، ذیل کی شبیہہ دیکھیں جہاں میں نے اس سیکشن کو روشنی ڈالی ہے تاکہ کوڈ کو چلانے کے ل run۔
جبکہ (1) {اگر (HAL_GPIO_ReadPin (BUTN_GPIO_Port، BUTN_Pin) == 0) // => ڈیٹیکس بٹن دبائے ہوئے ہیں {HAL_GPIO_WritePin (LEDOUT_GPIO_Port، LEDOUT_Pin، 1)؛ // آؤٹ پٹ کو اعلی بنانے کے ل button جب بٹن دب جائے }}} HAL_GPIO_WritePin (LEDOUT_GPIO_Port ، LEDOUT_Pin ، 0)؛ // آؤٹ پٹ کم کرنے کے ل button جب بٹن ڈی کو دبائیں}}
مرحلہ 17: - کوڈ میں ترمیم کرنے کے بعد ، ڈیبگ ٹیب کے تحت ہدف کے آئکن کے اختیارات پر کلک کریں ایس ٹی لنک ڈیبگر کو منتخب کریں۔
نیز ، ترتیبات کے بٹن پر اور پھر فلیش ڈاؤن لوڈ کے ٹیب کے تحت ری سیٹ اور رن چیک باکس کو نشان زد کریں اور 'ٹھیک ہے' پر کلک کریں۔
مرحلہ 18: - اب تمام ٹارگٹ فائلوں کو دوبارہ بنانے کے لئے دوبارہ بنانے والے آئیکون پر کلک کریں ۔
مرحلہ 19: - اب آپ سرکٹ کنیکشنس کے ساتھ کمپیوٹر میں ایس ٹی لنک میں پلگ ان کرسکتے ہیں اور ڈاؤن لوڈ آئیکن پر کلیک کرسکتے ہیں یا اپنے تیار کردہ اور ترمیم کردہ کوڈ سے STM32F103C8 کو فلیش کرنے کے لئے F8 دبائیں ۔
مرحلہ 20: - آپ کیل یوویژن ونڈو کے نچلے حصے میں چمکتا ہوا اشارہ دیکھ سکتے ہیں۔
کیل پروگرامڈ ایس ٹی ایم 32 بورڈ کا آؤٹ پٹ
اب جب ہم پش بٹن دبائیں ، ایل ای ڈی آن کریں اور جب ہم اسے جاری کریں تو ایل ای ڈی آف ہوجاتا ہے۔
پروگرام
ہم نے تیار کردہ پروگرام میں جو بنیادی حصہ شامل کیا ہے وہ نیچے دکھایا گیا ہے۔ اس کوڈ کو ذیل میں شامل کرنے کی ضرورت ہے جبکہ STM32CubeMX کے ذریعہ تیار کردہ main.c پروگرام کا (1 ) آپ جان سکتے ہیں کہ اس کو کس طرح मेन سی ۔
جبکہ (1) {اگر (HAL_GPIO_ReadPin (BUTN_GPIO_Port، BUTN_Pin) == 0) // => ڈیٹیکس بٹن دبائے ہوئے ہیں {HAL_GPIO_WritePin (LEDOUT_GPIO_Port، LEDOUT_Pin، 1)؛ // آؤٹ پٹ کو اعلی بنانے کے ل button جب بٹن دب جائے }}} HAL_GPIO_WritePin (LEDOUT_GPIO_Port ، LEDOUT_Pin ، 0)؛ // آؤٹ پٹ کم کرنے کے ل button جب بٹن ڈی کو دبائیں}}
آخر میں دیئے گئے ویڈیو میں STM32 بورڈ میں پروجیکٹ بنانے اور اپ لوڈ کرنے کے مکمل عمل کی بھی وضاحت کی گئی ہے ۔ نیز مین سی ۔ک فائل کا مکمل کوڈ ذیل میں دیا گیا کوڈ سمیت نیچے دیا گیا ہے۔
مزید یہ کہ آپ ہمارے یہاں STM32 پروجیکٹس کا مکمل سیٹ پا سکتے ہیں۔