विषयसूची:

STM32 "ब्लू पिल" Arduino IDE और USB के माध्यम से प्रोग्रामिंग: 8 कदम
STM32 "ब्लू पिल" Arduino IDE और USB के माध्यम से प्रोग्रामिंग: 8 कदम

वीडियो: STM32 "ब्लू पिल" Arduino IDE और USB के माध्यम से प्रोग्रामिंग: 8 कदम

वीडियो: STM32
वीडियो: Easy & Powerful Arduino Alternative? STM32 Beginner's Guide 2024, नवंबर
Anonim
एसटीएम32
एसटीएम32

STM32F जेनेरिक प्रोटोटाइप बोर्ड (यानी ब्लू पिल) की तुलना इसके काउंटर पार्ट Arduino से करना यह देखना आसान है कि उसके पास कितने अधिक संसाधन हैं, जो IOT परियोजनाओं के लिए बहुत सारे नए अवसर खोलते हैं।

विपक्ष इसके समर्थन की कमी है। वास्तव में समर्थन की कमी नहीं है, लेकिन यह कई मंचों, ब्लॉगों और अन्य पृष्ठों के समूह में बहुत फैला हुआ है। कई पुराने हो चुके हैं।

मैं उन बोर्डों को प्राप्त करने के लिए अपने अनुभवों का वर्णन करूंगा जो न केवल Arduino IDE द्वारा कॉन्फ़िगर किए गए हैं, बल्कि इसके माध्यम से USB कनेक्टर में निर्मित हैं।

मैं यह भी दिखाऊंगा कि कैसे ST-Link V2 का उपयोग करके बूटलोडर अपलोड करें।

चरण 1: भाग:

भाग
भाग
भाग
भाग

आपको कुछ भागों की आवश्यकता होगी:

  1. पहली चीज जो आपको चाहिए होगी, निश्चित रूप से, एक ST32F103 प्रोटोटाइप बोर्ड। "ब्लू पिल" यह है कि इसे कैसे जाना जाता है, और आप इसे कई ईकामर्स स्टोर में सस्ती कीमत पर खरीद सकते हैं।
  2. एक एसटी-लिंक वी२ मॉड्यूल
  3. ब्रेड बोर्ड और जंप केबल

चरण 2: सॉफ्टवेयर जिसकी आपको आवश्यकता होगी:

सॉफ्टवेयर जिसकी आपको आवश्यकता होगी
सॉफ्टवेयर जिसकी आपको आवश्यकता होगी
सॉफ्टवेयर जिसकी आपको आवश्यकता होगी
सॉफ्टवेयर जिसकी आपको आवश्यकता होगी
सॉफ्टवेयर जिसकी आपको आवश्यकता होगी
सॉफ्टवेयर जिसकी आपको आवश्यकता होगी
  1. सबसे पहले, Arduino IDE। यदि आपने इसे अभी तक डाउनलोड नहीं किया है, तो यह लिंक है: https://www.arduino.cc/en/Main/Software। मैं संस्करण 1.8.11, 1.8.12 और ऐप संस्करण के साथ इस निर्देश का परीक्षण करता हूं, जो केवल विंडोज 8 और 10 के लिए काम करता है। मैं इस सॉफ़्टवेयर इंस्टॉलेशन को कवर नहीं करूंगा, एक बार इसे कैसे करना है, इसके बारे में कई जानकारी हैं।
  2. एसटीएम साइट से आपको नीचे सॉफ्टवेयर की आवश्यकता होगी। अकाउंट बनाना है जरूरी:

    1. एसटी-लिंक वी२ विंडोज़ ड्राइवर:
    2. STM32-लिंक उपयोगिता (https://my.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html)
  3. फिर बूट लोडर डाउनलोड करने का समय आ गया है। यह वही है जो ब्लू पिल को कंप्यूटर यूएसबी से कनेक्ट करने की अनुमति देगा। इसका लिंक यह है:

ध्यान दें कि आपको Arduino IDE में बोर्ड जोड़ने की भी आवश्यकता होगी। मैं विस्तार से बताऊंगा कि यह कैसे करना है।

चरण 3: STM32F103 जेनेरिक प्रोटोटाइप बोर्ड, ब्लू पिल

STM32F103 जेनेरिक प्रोटोटाइप बोर्ड, ब्लू पिल
STM32F103 जेनेरिक प्रोटोटाइप बोर्ड, ब्लू पिल
STM32F103 जेनेरिक प्रोटोटाइप बोर्ड, ब्लू पिल
STM32F103 जेनेरिक प्रोटोटाइप बोर्ड, ब्लू पिल
STM32F103 जेनेरिक प्रोटोटाइप बोर्ड, ब्लू पिल
STM32F103 जेनेरिक प्रोटोटाइप बोर्ड, ब्लू पिल

अब STM32F103 प्रोटोटाइप बोर्ड के बारे में एक संक्षिप्त विवरण, "ब्लू पिल" द्वारा जानें।

यह ओपन सोर्स हार्डवेयर है, अरुडिनो नैनो (लगभग समान आकार) जैसा दिखता है। आपको कई अलग-अलग निर्माण मिल सकते हैं, लेकिन वे योजनाबद्ध बहुत करीब, यहां तक कि मुद्दों का भी पालन करते हैं।

आप पूछ सकते हैं: यदि यह Arduino नैनो जैसा दिखता है, तो मुझे एक अलग हार्डवेयर में क्यों जाना चाहिए?

उत्तर सरल है। जैसा कि मैंने पहले ही बताया, यदि आपके प्रोजेक्ट को अधिक GPIO (कुल 33), अधिक और/या सटीक ADC इनपुट (10 इनपुट x 12 बिट्स रिज़ॉल्यूशन), अधिक एनालॉग आउटपुट (15), अधिक संचार इंटरफेस, आदि के साथ तेज़ माइक्रो नियंत्रक की आवश्यकता है।; यह वह माइक्रो कंट्रोलर है जिसकी आपको आवश्यकता हो सकती है।

ऊपर पिन आउट और योजनाबद्ध आरेख है।

अब, कुछ सलाह देते हैं:

  1. यह 3V3 माइक्रो कंट्रोलर है। कुछ पिन 5V लचीला होने के बावजूद, मेरा सुझाव है कि 3V3 में एक्सेसरीज़ का स्तर ऊंचा रखें, अन्यथा आप ब्लू पिल को फ्राई कर सकते हैं।
  2. पिन के PA11 और PA12 उपलब्ध नहीं हैं, एक बार जब वे USB संचार के लिए जिम्मेदार होते हैं।
  3. यूएसबी के बारे में बात करते हुए, आपको कई साइटें और ब्लॉग मिल जाएंगे जो सूचित करते हैं कि ब्लू पिल के बंदरगाहों में एक गलत पुल अप प्रतिरोधी मूल्य है। तब के अनुसार, वे सामान्य रूप से 4, 7KΩ के बजाय 10KΩ होते हैं। इससे USB कनेक्शन की समस्या हो सकती है। ईमानदारी से कहूं तो, मेरे पास 3 बोर्ड हैं और मुझे किसी भी लैपटॉप में किसी को भी कनेक्ट करने में कभी समस्या नहीं हुई। इसलिए, मैं अनुशंसा करता हूं कि यदि आप वास्तव में USB को अपने कंप्यूटर से कनेक्ट करने में समस्याएँ प्राप्त करते हैं तो इस पर काम करें। देर से मुझे एक सर्किट ड्रॉ मिला, क्या यह प्रतिरोधक मान वास्तव में 10KΩ था। गो फिगर…।समाधान पिन PA12 और 5V vcc के बीच एक 1.5KΩ या 1.8KΩ रोकनेवाला मिलाप है।
  4. आरेख पर एक नज़दीकी नज़र यह भी देखना संभव है कि 5V बिजली आपूर्ति लाइनों और USB 5V के बीच कोई सुरक्षा नहीं है। सावधान रहें या बस कई बिजली आपूर्ति स्रोतों का उपयोग करने से बचें। आप अपने कंप्यूटर के यूएसबी पोर्ट को फ्राई कर सकते हैं, यदि आप बोर्ड के यूएसबी से कनेक्ट होने के दौरान बाहरी 5वी बिजली आपूर्ति माध्य का उपयोग करते हैं।

चरण 4: ST लिंक V2 USB अडैप्टर

एसटी लिंक वी२ यूएसबी एडाप्टर
एसटी लिंक वी२ यूएसबी एडाप्टर
एसटी लिंक वी२ यूएसबी एडाप्टर
एसटी लिंक वी२ यूएसबी एडाप्टर
एसटी लिंक वी२ यूएसबी एडाप्टर
एसटी लिंक वी२ यूएसबी एडाप्टर
एसटी लिंक वी२ यूएसबी एडाप्टर
एसटी लिंक वी२ यूएसबी एडाप्टर

ST LINK V2 एक USB से SWD एडेप्टर है, जिसे डिबग और प्रोग्रामिंग कार्यों के लिए डिज़ाइन किया गया है।

यदि आप STM32 चिप के साथ गंभीरता से काम करने का इरादा रखते हैं, तो आपको इस उपकरण की आवश्यकता होगी। यह आपको SWB हेड कनेक्टर के माध्यम से सीधे चिप से संचार करने की अनुमति देता है।

यूएसबी से टीटीएल एडेप्टर का उपयोग करने के निर्देशों के साथ बहुत सारे ब्लॉग और साइट हैं, लेकिन मुझे बूट लोडर लोड करने के लिए इस उपकरण का उपयोग करने वाला कोई भी नहीं मिला।

यह STM32Cube प्रोग्रामर सॉफ़्टवेयर का उपयोग करके मूल बूट लोडर के साथ ब्लू पिल को प्रोग्राम करने की अनुमति देता है (शायद मैं भविष्य में इसके लिए एक निर्देश योग्य बनाऊंगा)।

विंडोज ड्राइव को स्थापित करने के लिए इन चरणों का पालन करें:

  1. डाउनलोड की गई फ़ाइल को अनज़िप करें
  2. व्यवस्थापक के रूप में "stlink_winusb_install.bat चलाएँ"
  3. समाप्त होने के बाद कुंजी दबाएं।
  4. ST-Link V2 को किसी भी उपलब्ध कंप्यूटर USB से कनेक्ट करें।

याद रखें: यह एक यूएसबी डिवाइस स्थापित करेगा, एक कॉम पोर्ट नहीं।

चरण 5: वास्तविक कार्य शुरू करने का समय: STM32Duino बूट लोडर लोड हो रहा है

वास्तविक कार्य शुरू करने का समय: STM32Duino बूट लोडर लोड हो रहा है
वास्तविक कार्य शुरू करने का समय: STM32Duino बूट लोडर लोड हो रहा है
वास्तविक कार्य शुरू करने का समय: STM32Duino बूट लोडर लोड हो रहा है
वास्तविक कार्य शुरू करने का समय: STM32Duino बूट लोडर लोड हो रहा है

सबसे पहले चीज़ें: एसटी-लिंक को ब्लू पिल से कनेक्ट करें। यह बहुत आसान है, एक बार एसटी पिन आउट को इसके केस पर लेबल कर दिया जाता है।

एसटी-लिंक ब्लू पिल एसडब्ल्यूडी कनेक्टर

pin2- SWDIO pin2- SWIO (या कुछ बोर्डों में IO)

पिन3- जीएनडी पिन4-जीएनडी

pin6- SWCLKpin3- SWCLK (या सिर्फ CLK)

पिन7- 3.3V पिन1- 3V3

एसटी-लिंक वी२ पिन आउट इसके शरीर पर स्पष्ट लेबल है।

"STM32 ST-Link Utility" सॉफ़्टवेयर चलाएँ (हो सकता है कि आपने अपने कंप्यूटर में पहले ही इंस्टॉल कर लिया हो)।

जैसे ही सॉफ्टवेयर लोड होता है, यह बूट0 मेमोरी में सभी डेटा को पुनः प्राप्त कर लेगा। यदि नहीं, तो बोल्ट आइकन के साथ आउटलेट प्लग "डिवाइस से कनेक्ट करें" में क्लिक करें। यह बहुत सी STM32 चिप जानकारी को भी पुनः प्राप्त करेगा।

लोड बाइनरी फ़ाइल बहुत सरल है:

  1. "बूट0" जम्पर को "1" स्थिति में ले जाएं
  2. "बाइनरी" में क्लिक करें
  3. बूटलोडर फ़ाइल (.bin) का चयन करें
  4. मेनू में, "लक्ष्य" और "कार्यक्रम" में क्लिक करें।

यह बूट 0 को नए बूटलोडर के साथ लोड करने की अनुमति देगा।

  1. "बूट0" जम्पर को "0" स्थिति में लौटाएं
  2. रीसेट बटन दबाएं।

ध्यान दें: Arduino IDE में बनाए गए प्रोग्राम को लोड करने के लिए आपको अब Boot0 जम्पर को "1" स्थिति में ले जाने की आवश्यकता नहीं होगी।

चरण 6: Arduino IDE से निपटने का समय

Arduino IDE से निपटने का समय
Arduino IDE से निपटने का समय

आपने देखा होगा कि "generic_boot20_pc13.bin" लोड करने के बाद आपका ब्लू पिल यूएसबी पोर्ट कंप्यूटर डिवाइस मैनेजर द्वारा "मेपल सीरियल (COMx)" के रूप में पहचाना जाएगा।

STM32 से निपटने के लिए आपको Arduino IDE तैयार करने के लिए, नीचे दिए गए चरणों का पालन करें:

चरण 7: Arduino IDE से निपटने का समय

Arduino IDE से निपटने का समय
Arduino IDE से निपटने का समय
Arduino IDE से निपटने का समय
Arduino IDE से निपटने का समय
Arduino IDE से निपटने का समय
Arduino IDE से निपटने का समय

अब आपने देखा होगा, यूएसबी पोर्ट को अपने कंप्यूटर से जोड़ने पर, इसे "मेपल सीरियल (COMx)" के रूप में पहचाना जाएगा।

अब, STM32 प्रोग्रामिंग के लिए Arduino IDE तैयार करते हैं। Arduino IDE खोलें, अगर इसे अभी तक नहीं खोला है:

  1. फ़ाइल मेनू पर जाएँ और "प्राथमिकताएँ" चुनें। इससे प्रेफरेंस विंडो खुल जाएगी।
  2. "अतिरिक्त बोर्ड प्रबंधक यूआरएल" टेक्स्ट बॉक्स के करीब डबल स्क्वायर आइकन पर क्लिक करें।
  3. टेक्स्ट बॉक्स के अंदर, नीचे दिए गए लिंक को कॉपी और पेस्ट करें, प्रत्येक पंक्ति में एक: https://dan.drown.org/stm32duino/package_STM32duino_index.json उन लिंक में दोनों बोर्ड सेट करने की आवश्यकता है।
  4. अब "टूल्स" मेनू पर जाएं और "बोर्ड मैनेजर" चुनें। यह "बोर्ड मैनेजर" विंडो खोलेगा।
  5. सुनिश्चित करें कि "सभी" "टाइप" और टेक्स्ट बॉक्स टाइप "एसटीएम 32 एफ 1" में चुना गया है
  6. इंस्टॉल करें दोनों विकल्प दिखाई दें।

चरण 8: "ग्रैन फिनाले"

NS
NS

अब, आप अपना कोड टाइप कर सकते हैं और इसे संकलित कर सकते हैं।

अपने "ब्लू पिल" को कनेक्ट करें और कॉन्फ़िगरेशन सेट करें जैसा कि चित्र में है। सही पोर्ट का चयन करना सुनिश्चित करें।

तो, अब यह "ब्लू पिल" पर कोड अपलोड करने के लिए तैयार है।

मुझे आशा है कि यह आपकी मदद करेगा!

सिफारिश की: