विषयसूची:

Atmega328P-PU बूटलोडर (Optiboot) बर्निंग गाइड: 12 कदम
Atmega328P-PU बूटलोडर (Optiboot) बर्निंग गाइड: 12 कदम

वीडियो: Atmega328P-PU बूटलोडर (Optiboot) बर्निंग गाइड: 12 कदम

वीडियो: Atmega328P-PU बूटलोडर (Optiboot) बर्निंग गाइड: 12 कदम
वीडियो: How To Run Atmega 328,168,88,8 without XTAL, How to Burn bootloader on Atmega without crystal, xtal 2024, जुलाई
Anonim
Atmega328P-PU बूटलोडर (Optiboot) बर्निंग गाइड
Atmega328P-PU बूटलोडर (Optiboot) बर्निंग गाइड

फिर भी एक और Atmega बूटलोडर बर्निंग गिउड। लेकिन इस बार मैं शर्त लगाता हूँ कि पहले प्रयास में आप सफल होंगे !!

यह Arduino बोर्डों के लिए निक गैमन्स बूटलोडर बर्निंग ट्यूटोरियल है।

चरण 1: कुछ शब्द

कुछेक शब्द
कुछेक शब्द

Atmega328P-PU माइक्रोकंट्रोलर सबसे लोकप्रिय Arduino चिप्स में से एक है जो पूरी दुनिया में एक विस्तृत श्रृंखला में उपयोग किया जाता है। लेकिन सबसे महत्वपूर्ण बात यह है कि नंगी हड्डियां Atmega अभी भी वही करती हैं जो मानक Uno R3 कर सकता है। मुझे इस माइक्रोकंट्रोलर से प्यार करने का मुख्य कारण "लो पावर" मोड है। मैंने कुछ सेंसर के लिए कुछ नए स्केच लिखे हैं और मैं अभी कुछ समय के लिए उनका परीक्षण कर रहा हूं।

कुछ सालों में जब मैंने Arduino के साथ खेलना शुरू किया तो मेरा पहला ऑर्डर Atmega328P माइक्रोकंट्रोलर था। बाद में मुझे एहसास हुआ कि जिन्हें मैंने Aliexpress से मंगवाया है, वे खाली चिप्स हैं। अली पर चिप्स बहुत सस्ते हैं, आप उन्हें 1.40 डॉलर से खरीद सकते हैं। लेकिन उनमें Uno Bootloader (Optiboot) शामिल नहीं है और इसके बिना मैं कोई भी स्केच अपलोड नहीं कर सकता था। कठिन ब्रेक हा ??!! यह मेरे लिए वास्तव में एक ठंडा स्नान था ……। इसलिए मैं बूटलोडर को चिप्स में जलाने का तरीका खोज रहा था। मैंने 5 या 6 तरीके आजमाए हैं, लेकिन कोई किस्मत नहीं। एक हफ्ते के बाद मुझे एक वेबसाइट फोरम पर एक विषय मिला जिसमें निक गैमन के बूटलोडर बर्निंग ट्यूटोरियल का उल्लेख किया गया था। पहला प्रयास और सफलता !!:D अब मैं आपको दिखाऊंगा कि कैसे Arduino IDE में सामान को खराब किए बिना बूटलोडर को खाली Atmega328P-PU चिप्स में आसानी से जलाया जाए।

चरण 2: बूटलोडर क्या है? (ऑप्टिबूट)

बूटलोडर एक छोटा प्रोग्राम (HEX फ़ाइल, 0.5Kbyte) है जो आपको Arduino IDE से सीधे फ्लैश मेमोरी में स्केच अपलोड करने की अनुमति देता है। HEX फ़ाइल हमेशा मुख्य प्रोग्राम से पहले चलती है और इसलिए इसकी आवश्यकता होती है।

बूटलोडर के बिना:

-माइक्रोकंट्रोलर को अभी भी प्रोग्राम किया जा सकता है!(हाँ, यह संभव है), लेकिन ऐसा करने के लिए आपको एक समर्पित AVR प्रोग्रामर की आवश्यकता होगी। और यह सस्ता नहीं है!

- इसे Arduino IDE के माध्यम से प्रोग्राम नहीं किया जा सकता है।

इस विधि के समर्थित बूटलोडर:

एटमेगा8 (1024 बाइट्स)

Atmega168 ऑप्टिबूट (512 बाइट्स)

Atmega328 Optiboot (16 MHz पर Uno आदि के लिए) (512 बाइट्स)

लिलिपैड आदि के लिए Atmega328 (8 मेगाहर्ट्ज) (2048 बाइट्स)

लियोनार्डो के लिए Atmega32U4 (4096 बाइट्स) Atmega1280 ऑप्टिबूट (1024 बाइट्स)

Atmega1284 ऑप्टिबूट (1024 बाइट्स)

Atmega2560 वॉचडॉग टाइमर समस्या के समाधान के साथ (8192 बाइट्स)

Atmega16U2 - Uno. के USB इंटरफ़ेस चिप पर बूटलोडर

Atmega256RFR2 - Pinoccio स्काउट बोर्ड पर बूटलोडर

निम्नलिखित बूटलोडर्स के लिए कोड स्केच में शामिल किया गया है, और डाउनलोड किया जाएगा जिसके आधार पर हस्ताक्षर का पता चला है।

इसलिए हमारे पास वह सब कुछ है जो हमें चाहिए।

चरण 3: Arduino स्केच मास्टर

Arduino स्केच मास्टर
Arduino स्केच मास्टर
Arduino स्केच मास्टर
Arduino स्केच मास्टर
Arduino स्केच मास्टर
Arduino स्केच मास्टर

सबसे पहले आपको arduino लाइब्रेरी की आवश्यकता है।

इसे यहाँ से डाउनलोड करें:

या इसे यहाँ से डाउनलोड करें।

आपके द्वारा डाउनलोड करने के बाद इसे Arduino पुस्तकालयों के लिए निकालें और बोर्ड प्रोग्रामर की तलाश करें। इसे खोलें और बोर्ड Programmer.ino चलाएँ।

चरण 4: हार्डवेयर सेटअप

हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप

प्रोग्रामिंग से पहले वायर अप करने के 3 तरीके हैं:

- एवीआर आईएसपी शील्ड का प्रयोग करें

- अरुडिनो ए से अरुडिनो बी

- और ब्रेडबोर्ड विधि

तस्वीर पर आप देख सकते हैं कि कैसे तार लगाना है। ब्रेडबोर्ड पर सिरेमिक कैपेसिटर की वास्तव में आवश्यकता नहीं होती है, लेकिन 16Mhz क्रिस्टल को जोड़ा जाना चाहिए।

मैं इस बार अपने AVR ISP शील्ड का उपयोग कर रहा हूं।

इस पद्धति का लक्ष्य यह है कि प्रोग्राम सीरियल मॉनिटर का उपयोग करके फ्लैश मेमोरी तक पहुंचने के लिए ऑप्टिबूट (बूटलोडर) लिखने के लिए उपयोग कर रहा है।

चरण 5: प्रोग्रामिंग

प्रोग्रामिंग!
प्रोग्रामिंग!
प्रोग्रामिंग!
प्रोग्रामिंग!

हार्डवेयर सेटअप पूर्ण होने के बाद बोर्ड Programmer.ino चलाएँ!

संकलित करें और अपने Arduino पर अपलोड करें, लेकिन विंडो बंद न करें !! आपको इसकी आवश्यकता होगी:)

अपलोड में कुछ सेकंड लगेंगे।

चरण 6: डिस्कनेक्ट करें

स्केच अपलोड करने के बाद अपने पीसी से Arduino को नापसंद करें और यदि आप ब्रेडबोर्ड पर ऐसा करने की योजना बना रहे हैं तो सब कुछ वायर कर दें।

यदि आप AVR शील्ड का उपयोग करते हैं तो Atmega चिप को ZIF सॉकेट में रखें और इसे "लॉक" करें।

बहुत महत्वपूर्ण: जब तक हार्डवेयर सेट नहीं किया जाता है, तब तक प्रोसेसर को VCC नहीं मिलना चाहिए !! इस तरह आपको नुकसान होने का खतरा है !!

चरण 7: कनेक्ट करें

जुडिये!
जुडिये!

ठीक! हार्डवेयर सेट हो गया है और सब कुछ ठीक है, हम Arduino को PC से कनेक्ट करते हैं।

इसके बाद सीरियल मॉनिटर खोलें और बॉड रेट 115200 सेट करें और आप इसे देखेंगे।

सीरियल मॉनिटर में आप देख सकते हैं कि Arduino प्रोग्रामिंग मोड में प्रवेश कर गया है। ठंडा!!:)

चूंकि हम Uno (Atmega328P) को प्रोग्राम करना चाहते हैं, इसलिए मैसेज प्रॉम्प्ट में "U" टाइप करें और एंटर दबाएं।

चरण 8: प्रोग्रामिंग राज्य

प्रोग्रामिंग राज्य!
प्रोग्रामिंग राज्य!

अगली विंडो में आप इसे देखेंगे।

हम बाहर नहीं जाएंगे या सत्यापित नहीं करेंगे, G टाइप करें और एंटर दबाएं!

चरण 9: मज़ा शुरू होता है!:)

मज़ा शुरू होता है!:)
मज़ा शुरू होता है!:)

एंटर दबाने के बाद आप इसे देखेंगे:

चिप मिटाया जा रहा है…बूटलोडरलिखा जा रहा है…

कमिटिंग पेज 0x7E00 से शुरू हो रहा है कमिटिंग पेज 0x7E80 से शुरू हो रहा है

कमिटिंग पेज 0x7F00 से शुरू हो रहा है

कमिटिंग पेज 0x7F80 से शुरू हो रहा है

लिखा है।सत्यापित किया जा रहा है …

कोई त्रुटि नहीं मिली।

फ़्यूज़ लिखना …LFuse = 0xFF

एचएफयूज = 0xDE

ईफ्यूज = 0xFD

लॉक बाइट = 0xEF क्लॉक कैलिब्रेशन = 0x9E

किया हुआ।

प्रोग्रामिंग मोड बंद है। किसी अन्य चिप के साथ जारी रखने के लिए तैयार होने पर 'सी' टाइप करें …

और शुभ दिन !!:D आपका Atmega328P चिप अब स्केच अपलोड करने के लिए तैयार है!

यह आसान था ना?:)

चरण 10: एक नई चिप

यदि आप अपने पीसी से Arduino को डिस्कनेक्ट करने के लिए एक और चिप प्रोग्राम करना चाहते हैं, तो चिप को एक खाली के साथ बदलें। Arduino को फिर से कनेक्ट करें और चरणों को फिर से करें।

यदि Arduino को फिर से जोड़ने के बाद सीरियल मॉनिटर प्रतिक्रिया नहीं देता है, तो घबराएं नहीं, इसे बंद करें और एक नया खोलें।

चरण 11: अस्वीकरण

मैं इन में किसी का भी मालिक नहीं हूँ!! सारा श्रेय निक गैमन को जाता है !!

मैंने इस निर्देश को अभी इस निर्देश में दिखाया है।

आशा है आपको यह उपयोगी लगेगा।

आपका दिन शुभ हो।

चरण 12: जब अजीब चीजें होती हैं

जब अजीब चीजें होती हैं
जब अजीब चीजें होती हैं
जब अजीब चीजें होती हैं
जब अजीब चीजें होती हैं

हाल ही में मुझे यह Arduino Nano Atmega328P-MU प्रोसेसर के साथ मिला है।

इसलिए मैंने इसमें एक स्केच अपलोड करने की कोशिश की है, लेकिन मैं नहीं कर सका। प्रोसेसर ने Atmega328 विकल्पों के साथ कुछ भी प्रतिक्रिया नहीं दी।

ठीक है! तो हो सकता है कि बूटलोडर दूषित हो और उसे फिर से लिखने की आवश्यकता हो। मैंने इसे एक और आर्डिनो के साथ तार-तार कर दिया और बूटलोडर को जलाने का काम किया। अब तक कुछ भी नहीं……!!!!

ठीक है तो, मुझे एक ब्रेक (कॉफी और एक सिगरेट) चाहिए !! आखिरी मौके के रूप में मैंने Arduino Uno को फिर से एक लक्ष्य के रूप में चुना। पूरा अपलोड करें:D

इस समय मेरे पास एक नैनो है जो Arduino Uno की तरह काम करती है। मुझे नहीं पता कि ऐसा क्यों हुआ लेकिन मुझे लगता है कि यह प्रोसेसर के हस्ताक्षर के कारण है। वैसे भी इसने वास्तव में मेरा दिन बना दिया और यह थोड़ा मज़ेदार है:)

सिफारिश की: