यह कमांड avrdude है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
avrdude — ``सिंपल'' एटमेल एवीआर एमसीयू प्रोग्रामर के लिए ड्राइवर प्रोग्राम
SYNOPSIS
avrdude -p पार्टनो [-b बॉड दर] [-B बिटक्लॉक] [-c प्रोग्रामर-आईडी] [-C config फ़ाइल] [-D] [-e]
[-E निकास विशिष्टता[,निकास विशिष्टता]] [-F] [-i देरी] [-n -बोटा दस्तावेज] [-n] [-O] [-P बंदरगाह] [-q] [-s]
[-t] [-u] [-U memtype:op:filename:filefmt] [-v] [-x विस्तारित_परम] [-V]
वर्णन
Avrdude एटमेल एवीआर माइक्रोकंट्रोलर्स पर कोड और डेटा डाउनलोड करने का एक प्रोग्राम है। Avrdude
Atmel के STK500 प्रोग्रामर, Atmel के AVRISP और AVRISP mkII डिवाइस, Atmel के STK600 को सपोर्ट करता है।
Atmel का JTAG ICE (mkI, mkII और 3, बाद वाले दो भी ISP मोड में हैं), प्रोग्रामर इसका अनुपालन करते हैं
AppNote AVR910 और AVR109 (तितली सहित), साथ ही एक सरल हार्ड-वायर्ड
प्रोग्रामर सीधे ए से जुड़ा हुआ है पीपीआई(4) या पारपोर्ट(4) समानांतर बंदरगाह, या एक मानक के लिए
आनुक्रमिक द्वार। सबसे सरल मामले में, हार्डवेयर में केवल कनेक्ट करने वाली एक केबल होती है
समानांतर पोर्ट से संबंधित AVR सिग्नल लाइनें।
MCU को प्रोग्राम किया गया है धारावाहिक प्रोग्रामिंग मोड, तो, के लिए पीपीआई(4) आधारित प्रोग्रामर,
MCU सिग्नल '/RESET', 'SCK', 'MISO' और 'MOSI' को समानांतर पोर्ट से कनेक्ट करने की आवश्यकता है।
वैकल्पिक रूप से, समानांतर पोर्ट के कुछ अन्यथा अप्रयुक्त आउटपुट पिन का उपयोग आपूर्ति के लिए किया जा सकता है
एमसीयू भाग के लिए शक्ति, इसलिए एक निष्क्रिय स्टैंड-अलोन का निर्माण भी संभव है
प्रोग्रामिंग डिवाइस. कुछ स्थिति एलईडी वर्तमान परिचालन स्थिति का संकेत देती हैं
प्रोग्रामर को कनेक्ट किया जा सकता है, और बफर/ड्राइवर IC 74LS367 को नियंत्रित करने के लिए एक सिग्नल उपलब्ध है
(या 74एचसीटी367)। बाद वाला एमसीयू से समानांतर पोर्ट को अलग करने के लिए उपयोगी हो सकता है जब-
सिस्टम प्रोग्रामिंग का उपयोग किया जाता है।
समान रूप से कई सरल बिट-बैंग प्रोग्रामिंग एडेप्टर जो सीरियल पोर्ट से कनेक्ट होते हैं
लोकप्रिय पोनीप्रोग सीरियल एडॉप्टर, और डीएएसए और डीएएसए3 भी समर्थित हैं
एडेप्टर जिनका समर्थन किया जाता था यूआईएसपी(1). ध्यान दें कि ये एडेप्टर होने के लिए हैं
एक भौतिक सीरियल पोर्ट से जुड़ा हुआ। USB के शीर्ष पर बने सीरियल पोर्ट से कनेक्ट करना है
संभवतः बिल्कुल भी काम नहीं करेगा, या बेहद धीमी गति से काम करेगा।
यदि आपके पास लिनक्स सिस्टम है जिसमें कम से कम 4 हार्डवेयर GPIO उपलब्ध हैं (जैसे लगभग)।
सभी एम्बेडेड लिनक्स बोर्ड) आप बिना किसी अतिरिक्त हार्डवेयर के कर सकते हैं - बस उन्हें कनेक्ट करें
AVR पर MOSI, MISO, RESET और SCK पिन और linuxgpio प्रोग्रामर प्रकार का उपयोग करें। यह
Linux sysfs GPIO इंटरफ़ेस का उपयोग करके लाइनों को बिटबैंग करता है। निःसंदेह, सावधानी बरतनी चाहिए
वोल्टेज स्तर अनुकूलता के बारे में। इसके अलावा, हालांकि इसकी सख्ती से आवश्यकता नहीं है, फिर भी यह दृढ़ता से आवश्यक है
सलाह दी जाती है कि किसी तरह से GPIO पिन को अतिवर्तमान स्थितियों से बचाया जाए। सबसे आसान
बस कुछ प्रतिरोधों को श्रृंखला में रखना होगा या बेहतर होगा कि 3-स्टेट बफर ड्राइवर का उपयोग करें
74HC244. क नज़र तो डालो http://kolev.info/avrdude-linuxgpio अधिक विस्तृत ट्यूटोरियल के लिए
इस प्रोग्रामर प्रकार का उपयोग करने के बारे में।
Atmel का STK500 प्रोग्रामर भी समर्थित है और एक सीरियल पोर्ट से जुड़ता है। दोनों, फर्मवेयर
संस्करण 1.x और 2.x को संभाला जा सकता है, लेकिन इसके लिए एक अलग प्रोग्रामर प्रकार के विनिर्देश की आवश्यकता होती है
(अब तक)। फ़र्मवेयर संस्करण 2 का उपयोग करते हुए, हाई-वोल्टेज प्रोग्रामिंग भी समर्थित है
समानांतर और धारावाहिक (प्रोग्रामर प्रकार stk500pp और stk500hvsp)।
वायरिंग बोर्ड STK500 V2.x प्रोटोकॉल का उपयोग करके समर्थित हैं, लेकिन एक सरल DTR/RTS टॉगल है
बोर्डों को प्रोग्रामिंग मोड में सेट करने के लिए उपयोग किया जाता है। प्रोग्रामर प्रकार ``वायरिंग'' है।
Arduino (जो STK500 1.x के समान है) अपने स्वयं के प्रोग्रामर के माध्यम से समर्थित है
प्रकार विशिष्टता ``arduino''।
BusPirate एक बहुमुखी उपकरण है जिसका उपयोग AVR प्रोग्रामर के रूप में भी किया जा सकता है। एक भी
BusPirate को अधिकतम 3 स्वतंत्र AVRs से जोड़ा जा सकता है। पर अनुभाग देखें विस्तृत
पैरामीटर विवरण के लिए नीचे।
Atmel का STK600 प्रोग्रामर ISP और हाई-वोल्टेज प्रोग्रामिंग मोड में समर्थित है, और
USB के माध्यम से कनेक्ट होता है. ATxmega उपकरणों के लिए, STK600 PDI मोड में समर्थित है। के लिए
ATtiny4/5/9/10 डिवाइस, STK600 और AVRISP mkII TPI मोड में समर्थित हैं।
एटमेल के एप्लिकेशन नोट AVR910 में वर्णित सरल सीरियल प्रोग्रामर, और
बूटलोडर का वर्णन Atmel के एप्लिकेशन नोट AVR109 में किया गया है (जिसका उपयोग AVR द्वारा भी किया जाता है
बटरफ्लाई मूल्यांकन बोर्ड), एक सीरियल पोर्ट पर समर्थित हैं।
Atmel का JTAG ICE (mkI, mkII, और 3) मेमोरी क्षेत्रों को अप या डाउनलोड करने के लिए भी समर्थित है
AVR लक्ष्य से/तक (ऑन-चिप डिबगिंग के लिए कोई समर्थन नहीं)। JTAG ICE mkII, JTAG के लिए,
डिबगवायर और आईएसपी मोड समर्थित हैं, बशर्ते इसमें कम से कम 4.14 का फर्मवेयर संशोधन हो
(दशमलव)। JTAGICE3 सभी JTAG, डिबगवायर और ISP मोड का भी समर्थन करता है। के लिए नीचे देखें
डिबगवायर की सीमाएँ। ATxmega उपकरणों के लिए, JTAG ICE mkII PDI मोड में समर्थित है,
बशर्ते इसमें कम से कम 1 (दशमलव) का रिविज़न 5.37 हार्डवेयर और फ़र्मवेयर संस्करण हो। के लिए
ATxmega डिवाइस, JTAGICE3 PDI मोड में समर्थित है।
एटमेल-आईसीई (एआरएम/एवीआर) सभी मोड (जेटीएजी, एक्समेगा के लिए पीडीआई, डिबगवायर, आईएसपी) में समर्थित है।
EDBG प्रोटोकॉल (CMSIS-DAP संगत) का उपयोग करते हुए Atmel के XplainedPro बोर्ड समर्थित हैं
"jtag3" प्रोग्रामर प्रकार का उपयोग करना।
AVR ड्रैगन सभी मोड (ISP, JTAG, HVSP, PP, डिबगवायर) में समर्थित है। जब उपयोग किया जाता है
JTAG और डिबगवायर मोड, AVR ड्रैगन JTAG ICE mkII के समान व्यवहार करता है, इसलिए सभी डिवाइस-
उस डिवाइस के लिए विशिष्ट टिप्पणियाँ भी लागू होंगी। जब आईएसपी मोड में उपयोग किया जाता है, तो एवीआर ड्रैगन
AVRISP mkII (या ISP मोड में JTAG ICE mkII) के समान व्यवहार करता है, इसलिए सभी डिवाइस-विशिष्ट
टिप्पणियाँ वहां लागू होंगी. विशेष रूप से, ड्रैगन अपेक्षाकृत तेज़ आईएसपी के साथ शुरू होता है
घड़ी की आवृत्ति, इसलिए -B बिटक्लॉक स्थिर आईएसपी प्राप्त करने के लिए विकल्प की आवश्यकता हो सकती है
संचार। ATxmega उपकरणों के लिए, AVR ड्रैगन PDI मोड में समर्थित है, बशर्ते यह उपलब्ध हो
इसका फ़र्मवेयर संस्करण कम से कम 6.11 (दशमलव) है।
avrftdi, USBasp ISP और USBtinyISP एडाप्टर भी समर्थित हैं avrdude है
libusb समर्थन के साथ संकलित किया गया है। USBasp ISP और USBtinyISP दोनों में सरल फर्मवेयर की सुविधा है-
केवल USB कार्यान्वयन, क्रमशः ATmega8 (या ATmega88), या ATtiny2313 पर चल रहा है।
यदि libftdi को संकलित किया गया है avrdudeavrftdi डिवाइस कई लोगों के लिए समर्थन जोड़ता है
MPSSE मोड में चलने वाले FTDI के 2232C/D/H और 4232H भागों का उपयोग करने वाले प्रोग्रामर, जो हार्ड-कोड करते हैं
(चिप में) SCK से बिट 1, MOSI से बिट 2, और MISO से बिट 3। रीसेट आमतौर पर बिट 4 होता है।
Atmel DFU बूटलोडर FLIP प्रोटोकॉल संस्करण 1 (AT90USB* और) दोनों में समर्थित है
ATmega*U* डिवाइस), साथ ही संस्करण 2 (Xmega डिवाइस)। इसके बारे में कुछ संकेतों के लिए नीचे देखें
FLIP संस्करण 1 प्रोटोकॉल व्यवहार।
इनपुट फ़ाइलें प्रदान की जा सकती हैं, और आउटपुट फ़ाइलें विभिन्न फ़ाइल स्वरूपों में लिखी जा सकती हैं, जैसे
चिप, इंटेल हेक्स प्रारूप, या में डाउनलोड करने के लिए डेटा युक्त कच्ची बाइनरी फ़ाइलों के रूप में
मोटोरोला एस-रिकॉर्ड प्रारूप। उन फ़ाइलों को तैयार करने के लिए कई उपकरण उपलब्ध हैं,
पसंद एएसएल(1) एक स्टैंडअलोन असेंबलर के रूप में, या avr-objcopy(1) जीएनयू के अंतिम चरण के लिए
AVR माइक्रोकंट्रोलर के लिए टूलचेन।
बशर्ते परिवाद(3) संकलन करते समय उपस्थित था avrdude, इनपुट फ़ाइल अंतिम भी हो सकती है
लिंकर द्वारा निर्मित ईएलएफ फ़ाइल। उपयुक्त ईएलएफ अनुभाग की जांच की जाएगी,
लिखने के लिए स्मृति क्षेत्र के अनुसार।
Avrdude समर्थित AVR भागों के EEPROM और फ़्लैश ROM मेमोरी सेल को प्रोग्राम कर सकता है। कहाँ
सीरियल इंस्ट्रक्शन सेट द्वारा समर्थित, फ़्यूज़ बिट्स और लॉक बिट्स को भी प्रोग्राम किया जा सकता है।
इन्हें भीतर क्रियान्वित किया जाता है avrdude अलग मेमोरी प्रकार के रूप में और इसका उपयोग करके प्रोग्राम किया जा सकता है
किसी फ़ाइल से डेटा (देखें -m विकल्प) या टर्मिनल मोड से (देखें)। फेंकना और लिखना
आदेश)। चिप को पढ़ना भी संभव है (बशर्ते इसे कोड-संरक्षित न किया गया हो)।
पहले, निश्चित रूप से) और डेटा को एक फ़ाइल में संग्रहीत करें। अंततः, एक ``टर्मिनल'' मोड है
उपलब्ध है जो किसी को एमसीयू के साथ अंतःक्रियात्मक रूप से संचार करने और प्रदर्शित करने की अनुमति देता है
व्यक्तिगत मेमोरी कोशिकाओं को प्रोग्राम करें। STK500 और STK600 प्रोग्रामर पर, कई कार्यशील
मापदंडों (लक्ष्य आपूर्ति वोल्टेज, लक्ष्य Aref वोल्टेज, मास्टर घड़ी) की जांच की जा सकती है और
टर्मिनल मोड के भीतर से भी बदला गया।
ऑप्शंस
सभी विभिन्न ऑपरेशन मोदी को नियंत्रित करने के लिए, कई विकल्पों की आवश्यकता है
को निर्दिष्ट किया avrdude.
-p पार्टनो
यह एकमात्र विकल्प है जो प्रत्येक मंगलाचरण के लिए अनिवार्य है avrdude. यह
प्रोग्रामर से जुड़े MCU के प्रकार को निर्दिष्ट करता है। ये पढ़े जाते हैं
कॉन्फ़िग फ़ाइल से। वर्तमान में समर्थित MCU प्रकारों के लिए उपयोग करें? पार्टनो के रूप में, यह
टर्मिनल पर पार्टनो आईडी और आधिकारिक पार्ट नामों की एक सूची प्रिंट करेगा। (दोनों
-p विकल्प के साथ उपयोग किया जा सकता है।)
निम्नलिखित भागों पर विशेष ध्यान देने की आवश्यकता है:
AT90S1200 AT90S1200 का ISP प्रोग्रामिंग प्रोटोकॉल सूक्ष्म रूप से भिन्न है
अन्य एवीआर से अलग। इस प्रकार, सभी प्रोग्रामर समर्थन नहीं करते हैं
यह डिवाइस। सभी प्रत्यक्ष बिटबैंग प्रोग्रामर काम करने के लिए जाने जाते हैं,
और सभी प्रोग्रामर STK500v2 प्रोटोकॉल पर बात कर रहे हैं।
AT90S2343 AT90S2323 और ATtiny22 समान एल्गोरिदम का उपयोग करते हैं।
एटीमेगा2560, एटीमेगा2561
128 केबी से ऊपर की फ्लैश एड्रेसिंग सभी प्रोग्रामिंग द्वारा समर्थित नहीं है
हार्डवेयर. काम करने के लिए जाने जाते हैं jtag2, stk500v2, और बिट-बैंग
प्रोग्रामर।
ATtiny11 ATtiny11 को केवल हाई-वोल्टेज सीरियल मोड में प्रोग्राम किया जा सकता है।
-b बॉड दर
संबंधित में निर्दिष्ट आरएस-232 कनेक्शन बॉड दर को ओवरराइड करें
प्रोग्रामर की कॉन्फ़िगरेशन फ़ाइल की प्रविष्टि।
-B बिटक्लॉक
JTAG इंटरफ़ेस या ISP क्लॉक (JTAG ICE) के लिए बिट क्लॉक अवधि निर्दिष्ट करें
केवल)। मान माइक्रोसेकंड में एक फ़्लोटिंग-पॉइंट संख्या है। वैकल्पिक रूप से,
निर्दिष्ट करने के लिए मान को "Hz", "kHz", या "MHz" के साथ जोड़ा जा सकता है
अवधि के बजाय बिट घड़ी की आवृत्ति। JTAG का डिफ़ॉल्ट मान
ICE का परिणाम लगभग 1 माइक्रोसेकंड बिट क्लॉक अवधि में होता है, जो लक्ष्य MCU के लिए उपयुक्त है
4 मेगाहर्ट्ज क्लॉक और उससे ऊपर पर चल रहा है। STK500 में कुछ मापदंडों के विपरीत,
प्रोग्रामिंग करते समय JTAG ICE अपने सभी मापदंडों को डिफ़ॉल्ट मानों पर रीसेट कर देता है
सॉफ्टवेयर आईसीई से साइन ऑफ करता है, इसलिए कम क्लॉक स्पीड पर चलने वाले एमसीयू के लिए,
यह पैरामीटर कमांड-लाइन पर निर्दिष्ट होना चाहिए। आप इसका उपयोग कर सकते हैं
आपके में 'डिफ़ॉल्ट_बिटक्लॉक' कीवर्ड ${HOME}/.avrduderc डिफ़ॉल्ट असाइन करने के लिए फ़ाइल
प्रत्येक आह्वान पर इस विकल्प को निर्दिष्ट करने से बचने के लिए मूल्य।
-c प्रोग्रामर-आईडी
तर्क द्वारा निर्दिष्ट प्रोग्रामर का उपयोग करें। प्रोग्रामर और उनके पिन
कॉन्फ़िगरेशन को कॉन्फ़िगरेशन फ़ाइल से पढ़ा जाता है (देखें -C विकल्प)। नया पिन
कॉन्फ़िगरेशन के उपयोग के माध्यम से कॉन्फ़िगरेशन को आसानी से जोड़ा या संशोधित किया जा सकता है
फ़ाइल बनाना है avrdude प्रोग्रामर के रूप में लंबे समय तक विभिन्न प्रोग्रामर के साथ काम करें
एटमेल एवीआर सीरियल प्रोग्राम पद्धति का समर्थन करता है। आप इसका उपयोग कर सकते हैं
आपके में 'default_programmer' कीवर्ड ${HOME}/.avrduderc असाइन करने के लिए फ़ाइल
डिफ़ॉल्ट प्रोग्रामर को प्रत्येक पर इस विकल्प को निर्दिष्ट करने की आवश्यकता नहीं है
मंगलाचरण। सभी समर्थित प्रोग्रामर की एक पूरी सूची आउटपुट है
टर्मिनल का उपयोग करके ? प्रोग्रामर-आईडी के रूप में।
-C config फ़ाइल
कॉन्फ़िगरेशन डेटा लोड करने के लिए निर्दिष्ट कॉन्फ़िगरेशन फ़ाइल का उपयोग करें। इस फ़ाइल में शामिल है
सभी प्रोग्रामर और भाग परिभाषाएँ avrdude के बारे में जानता है. अगर आपके पास एक है
प्रोग्रामर या वह भाग avrdude के बारे में नहीं पता, आप इसे इसमें जोड़ सकते हैं
कॉन्फ़िग फ़ाइल (सुनिश्चित करें और लेखक को एक पैच वापस सबमिट करें ताकि यह हो सके
अगले संस्करण के लिए शामिल किया गया)। कॉन्फिग फ़ाइल देखें, जो यहां स्थित है
/etc/avrdude.conf, जिसमें प्रारूप का विवरण शामिल है।
If config फ़ाइल के रूप में लिखा है +फ़ाइलनाम फिर इस फाइल को सिस्टम के बाद पढ़ा जाता है
विस्तृत और उपयोगकर्ता कॉन्फ़िगरेशन फ़ाइलें। इसका उपयोग इसमें प्रविष्टियाँ जोड़ने के लिए किया जा सकता है
आपके सिस्टम वाइड कॉन्फ़िगरेशन फ़ाइल को पैच किए बिना कॉन्फ़िगरेशन। यह हो सकता है
कई बार उपयोग करने पर, फ़ाइलें उसी क्रम में पढ़ी जाती हैं, जिस क्रम में कमांड दिया गया है
लाइन.
-D फ़्लैश के लिए स्वतः मिटाना अक्षम करें. जब -U फ़्लैश मेमोरी वाला विकल्प है
निर्दिष्ट, avrdude इनमें से किसी को भी शुरू करने से पहले चिप को मिटा दिया जाएगा
प्रोग्रामिंग ऑपरेशन, क्योंकि आमतौर पर फ़्लैश को प्रोग्राम करना एक गलती है
पहले मिटाए बिना। यह विकल्प उसे अक्षम कर देता है. स्वतः मिटाना है
ATxmega उपकरणों के लिए उपयोग नहीं किया जाता है क्योंकि ये उपकरण पहले पृष्ठ मिटाने का उपयोग कर सकते हैं
प्रत्येक पृष्ठ को लिखना ताकि किसी स्पष्ट चिप मिटाने की आवश्यकता न हो। हालाँकि ध्यान दें कि
वर्तमान कार्रवाई से प्रभावित न होने वाला कोई भी पृष्ठ अपना पिछला पृष्ठ बनाए रखेगा
सामग्री।
-e चिप मिटाने को निष्पादित करने का कारण बनता है। इससे फ़्लैश की सामग्री रीसेट हो जाएगी
ROM और EEPROM को '0xff' मान पर सेट करें और सभी लॉक बिट्स साफ़ करें। के अलावा
ATxmega डिवाइस जो पृष्ठ मिटाने का उपयोग कर सकते हैं, यह मूल रूप से एक शर्त है
फ़्लैश ROM को दोबारा प्रोग्राम करने से पहले कमांड। एकमात्र अपवाद
ऐसा तब होगा जब नई सामग्री विशेष रूप से बिट्स को प्रोग्राम करने का कारण बनेगी
मान '1' से '0' तक. ध्यान दें कि EERPOM कोशिकाओं को पुन: प्रोग्राम करने के लिए, नहीं
स्पष्ट पूर्व चिप मिटाना आवश्यक है क्योंकि MCU एक ऑटो-मिटाने की सुविधा प्रदान करता है
उस स्थिति में सेल की प्रोग्रामिंग करने से पहले साइकिल चलाएं।
-E निकास विशिष्टता[,निकास विशिष्टता]
डिफ़ॉल्ट रूप से, avrdude समानांतर पोर्ट को निकास पर उसी स्थिति में छोड़ देता है
स्टार्टअप पर पाया गया है. यह विकल्प '/RESET' की स्थिति को संशोधित करता है
'Vcc' लाइनों के अनुसार, समानांतर पोर्ट को छोड़ दिया जाता है निकास विशिष्टता तर्क
प्रदान किया गया, इस प्रकार:
रीसेट करें प्रोग्राम से बाहर निकलने पर '/RESET' सिग्नल को सक्रिय छोड़ दिया जाएगा
यह आयोजित होगा कम, MCU को रीसेट स्थिति में रखने के लिए
उसके बाद। विशेष रूप से ध्यान दें कि प्रोग्रामिंग एल्गोरिदम के लिए
AT90S1200 डिवाइस अनिवार्य करता है कि '/RESET' सिग्नल सक्रिय है
से पहले एमसीयू को पावर देना, ताकि बाहरी बिजली की आपूर्ति हो
इस MCU प्रकार के लिए उपयोग किया जाता है, जिसका पिछला आह्वान avrdude इस के साथ
निर्दिष्ट विकल्प इसकी गारंटी देने के संभावित तरीकों में से एक है
शर्त।
noreset प्रोग्राम से बाहर निकलने पर '/RESET' लाइन निष्क्रिय हो जाएगी, जिससे अनुमति मिल जाएगी
प्रोग्रामिंग हार्डवेयर बने रहने तक एमसीयू लक्ष्य प्रोग्राम चलता रहेगा
जुड़े हुए।
VCC यह विकल्प उन समानांतर पोर्ट पिनों को सक्रिय छोड़ देगा (अर्थात् उच्च)
जिसका उपयोग एमसीयू को 'वीसीसी' बिजली की आपूर्ति के लिए किया जा सकता है।
novcc यह विकल्प समानांतर पोर्ट के 'Vcc' पिन को नीचे की ओर खींचेगा
कार्यक्रम से बाहर निकलें.
d_उच्च यह विकल्प समानांतर पोर्ट पर 8 डेटा पिन को सक्रिय छोड़ देगा।
(अर्थात उच्च)
d_कम यह विकल्प समानांतर पोर्ट पर 8 डेटा पिन को निष्क्रिय छोड़ देगा।
(अर्थात कम)
विभिन्न निकास विशिष्टता तर्कों को अल्पविराम से अलग किया जा सकता है।
-F सामान्य रूप से, avrdude यह सत्यापित करने का प्रयास करता है कि डिवाइस हस्ताक्षर भाग से पढ़ा गया है
जारी रखने से पहले उचित है। चूँकि समय-समय पर ऐसा हो सकता है कि ए
डिवाइस में टूटा हुआ (मिटा हुआ या अधिलेखित) डिवाइस हस्ताक्षर है, लेकिन अन्यथा है
सामान्य रूप से संचालन करते हुए, चेक को ओवरराइड करने के लिए यह विकल्प प्रदान किया जाता है। के लिए भी
प्रोग्रामर Atmel STK500 और STK600 को पसंद करते हैं जो पैरामीटर को स्थानीय रूप से समायोजित कर सकते हैं
प्रोग्रामिंग टूल से (किसी लक्ष्य से वास्तविक कनेक्शन से स्वतंत्र)।
नियंत्रक), इस विकल्प का उपयोग एक साथ किया जा सकता है -t टर्मिनल में जारी रखने के लिए
मोड।
-i देरी
बिटबैंग-प्रकार के प्रोग्रामर के लिए, लगभग विलंब देरी माइक्रोसेकंड
प्रत्येक बिट स्थिति परिवर्तन के बीच। यदि होस्ट सिस्टम बहुत तेज़ है, या लक्ष्य
धीमी गति से चलने वाली घड़ी (जैसे 32 kHz क्रिस्टल, या 128 kHz आंतरिक RC)।
ऑसिलेटर), आईएसपी की आवश्यकता को पूरा करने के लिए यह आवश्यक हो सकता है
घड़ी की आवृत्ति सीपीयू घड़ी की आवृत्ति के 1/4 से अधिक नहीं होनी चाहिए। यह
बहुत कम देरी के लिए भी अनुमति देने के लिए इसे स्पिन-लूप विलंब के रूप में लागू किया गया है। पर
यूनिक्स-शैली ऑपरेटिंग सिस्टम में, स्पिन लूप को प्रारंभ में a के विरुद्ध कैलिब्रेट किया जाता है
सिस्टम टाइमर, इसलिए माइक्रोसेकंड की संख्या यथार्थवादी हो सकती है,
जबकि एक स्थिर सिस्टम लोड मानते हुए avrdude चल रहा है। Win32 पर काम कर रहा है
सिस्टम में, प्रति माइक्रोसेकंड चक्रों की एक पूर्व-निर्धारित संख्या मानी जाती है
बहुत तेज़ या बहुत धीमी मशीनों के लिए यह थोड़ा बंद हो सकता है।
-l लॉग फ़ाइल
उपयोग लॉग फ़ाइल बजाय stderr डायग्नोस्टिक्स आउटपुट के लिए। ध्यान दें कि आरंभिक
डायग्नोस्टिक संदेश (विकल्प पार्सिंग के दौरान) अभी भी लिखे जाते हैं stderr
वैसे भी.
-n नो-राइट - वास्तव में एमसीयू में डेटा लिखने में अक्षम करता है (डीबगिंग के लिए उपयोगी)।
avrdude ).
-O एटमेल एप्लिकेशन के अनुसार आरसी ऑसिलेटर रन-टाइम कैलिब्रेशन करें
नोट AVR053. यह केवल STK500v2, AVRISP mkII और JTAG पर समर्थित है
ICE mkII हार्डवेयर। ध्यान दें कि परिणाम EEPROM सेल में संग्रहीत किया जाएगा
पता 0.
-P बंदरगाह
उपयोग बंदरगाह उस डिवाइस की पहचान करना जिससे प्रोग्रामर जुड़ा हुआ है। द्वारा
डिफ़ॉल्ट /dev/ppi0 पोर्ट का उपयोग किया जाता है, लेकिन यदि प्रोग्रामर सामान्य रूप से टाइप करता है
सीरियल पोर्ट से जुड़ता है /dev/cuaa0 पोर्ट डिफ़ॉल्ट है. अगर आपको चाहिये
किसी भिन्न समानांतर या सीरियल पोर्ट का उपयोग करने के लिए, निर्दिष्ट करने के लिए इस विकल्प का उपयोग करें
वैकल्पिक पोर्ट नाम.
Win32 ऑपरेटिंग सिस्टम पर, समानांतर पोर्ट को lpt1 के माध्यम से संदर्भित किया जाता है
lpt3, क्रमशः 0x378, 0x278, और 0x3BC पते का संदर्भ देता है। अगर
समानांतर पोर्ट को एक अलग पते, इस पते के माध्यम से पहुँचा जा सकता है
सामान्य सी भाषा संकेतन का उपयोग करके सीधे निर्दिष्ट किया जा सकता है (यानी,
हेक्साडेसिमल मानों के आगे '0x' लगा होता है)।
JTAG ICE mkII और JTAGICE3 के लिए, यदि avrdude libusb के साथ कॉन्फ़िगर किया गया है
समर्थन, बंदरगाह वैकल्पिक रूप से निर्दिष्ट किया जा सकता है USB के[:सीरीयल नम्बर]. यह करेगा
कारण avrdude USB पर प्रोग्रामर को खोजने के लिए। अगर सीरीयल नम्बर भी निर्दिष्ट है,
इसका मिलान किसी भी JTAG ICE mkII से पढ़े गए सीरियल नंबर से किया जाएगा
यूएसबी पर. दिए गए किसी भी मौजूदा कोलन को हटाने के बाद मिलान किया जाता है
क्रम संख्या, और दाएं से बाएं, इसलिए केवल सबसे कम महत्वपूर्ण बाइट्स
सीरियल नंबर देना होगा.
चूँकि AVRISP mkII डिवाइस से केवल USB पर ही बात की जा सकती है, ठीक उसी विधि से
वहां पोर्ट निर्दिष्ट करना आवश्यक है।
HID मोड में चलने वाले USB प्रोग्रामर "AVR-Doper" के लिए, पोर्ट होना चाहिए
के रूप में निर्दिष्ट avrdoper. यूनिक्स पर लिबसब समर्थन आवश्यक है लेकिन विंडोज़ पर नहीं।
एवीआर-डोपर के बारे में अधिक जानकारी के लिए देखें
http://www.obdev.at/avrusb/avrdoper.html.
USBtinyISP के लिए, जो एक सरल उपकरण है जो सीरियल लागू नहीं करता है
संख्याओं के आधार पर, कई उपकरणों को USB में उनके स्थान से पहचाना जा सकता है
पदानुक्रम। संबंधित देखें समस्या निवारण विस्तृत में प्रविष्टि
उदाहरण के लिए दस्तावेज़ीकरण.
प्रोग्रामर के लिए जो किसी प्रकार के उच्च स्तर का उपयोग करके सीरियल पोर्ट से जुड़ते हैं
प्रोटोकॉल (बिट-बैंग शैली प्रोग्रामर के विपरीत), बंदरगाह के रूप में निर्दिष्ट किया जा सकता है
जाल:मेजबान:बंदरगाह. इस मामले में, किसी स्थानीय डिवाइस को खोलने का प्रयास करने के बजाय, एक टी.सी.पी
(टीसीपी) से नेटवर्क कनेक्शन बंदरगाह on मेजबान स्थापित है. दूरस्थ समापन बिंदु
इसे एक टर्मिनल या कंसोल सर्वर माना जाता है जो नेटवर्क स्ट्रीम को जोड़ता है
एक स्थानीय सीरियल पोर्ट से जहां वास्तविक प्रोग्रामर जुड़ा हुआ है।
यह माना जाता है कि पोर्ट ठीक से कॉन्फ़िगर किया गया है, उदाहरण के लिए पारदर्शी का उपयोग करना
STK8 के लिए 115200 बॉड पर समता के बिना 500-बिट डेटा कनेक्शन।
-q पढ़ते या लिखते समय प्रगति पट्टी के आउटपुट को अक्षम (या दबाएँ) करें
उपकरण। और भी शांत संचालन के लिए इसे दूसरी बार निर्दिष्ट करें।
-s सेफमोड प्रॉम्प्टिंग अक्षम करें. जब सेफमोड को एक या अधिक फ़्यूज़ का पता चलता है
बिट्स अनजाने में बदल गए हैं, यह पुष्टि के लिए संकेत देगा
इसे फ़्यूज़ बिट को पुनर्प्राप्त करने का प्रयास करना चाहिए या नहीं। इसे निर्दिष्ट करना
फ़्लैग प्रॉम्प्ट को अक्षम कर देता है और मानता है कि फ़्यूज़ बिट को पुनर्प्राप्त किया जाना चाहिए
पहले पुष्टिकरण मांगे बिना।
-t बताता है avrdude अप-या के बजाय इंटरैक्टिव ``टर्मिनल'' मोड में प्रवेश करने के लिए
फ़ाइलें डाउनलोड करना. टर्मिनल मोड के विस्तृत विवरण के लिए नीचे देखें।
-u सेफमोड फ़्यूज़ बिट जाँच अक्षम करें। सेफमोड डिफ़ॉल्ट रूप से सक्षम है और है
इसका उद्देश्य अनजाने फ़्यूज़ बिट परिवर्तनों को रोकना है। सक्षम होने पर, सेफमोड
यदि प्रोग्राम में कोई फ़्यूज़ बिट्स भिन्न पाए जाते हैं तो चेतावनी जारी की जाएगी
जब वे थे तब से बाहर निकलें avrdude आह्वान किया गया. सेफमोड फ़्यूज़ बिट्स में परिवर्तन नहीं करेगा
स्वयं, बल्कि निर्देशों के लिए संकेत देगा, जब तक कि टर्मिनल गैर- न हो
इंटरएक्टिव, जिस स्थिति में सेफमोड अक्षम है। देखें -s अक्षम करने का विकल्प
सेफमोड प्रॉम्प्टिंग।
यदि किसी कॉन्फ़िगरेशन फ़ाइल में एक पंक्ति है
default_safemode = नहीं;
सेफमोड डिफ़ॉल्ट रूप से अक्षम है। -u उसमें विकल्प का प्रभाव नकार दिया जाता है
मामला, अर्थात् यह सक्षम बनाता है सुरक्षित मोड।
AVR32, Xmega और TPI उपकरणों के लिए सेफमोड हमेशा अक्षम रहता है।
-U मेमटाइप:ऑप:फ़ाइलनाम[:प्रारूप]
बताए अनुसार मेमोरी ऑपरेशन करें। memtype फ़ील्ड निर्दिष्ट करता है
संचालित करने के लिए मेमोरी प्रकार. उपलब्ध मेमोरी प्रकार डिवाइस-निर्भर हैं,
वास्तविक कॉन्फ़िगरेशन को इसके साथ देखा जा सकता है भाग टर्मिनल मोड में कमांड।
आमतौर पर, किसी डिवाइस की मेमोरी कॉन्फ़िगरेशन में कम से कम मेमोरी प्रकार होते हैं
फ़्लैश और ईप्रोम. वर्तमान में ज्ञात सभी मेमोरी प्रकार हैं:
अंशांकन आरसी ऑसिलेटर अंशांकन डेटा का एक या अधिक बाइट्स।
eeprom डिवाइस का EEPROM।
इफ्यूज़ विस्तारित फ़्यूज़ बाइट।
फ़्लैश डिवाइस का फ़्लैश ROM।
फ़्यूज़ उन उपकरणों में फ़्यूज़ बाइट जिनमें केवल एक फ़्यूज़ बाइट होती है।
hfuse उच्च फ्यूज बाइट।
एलफ्यूज कम फ्यूज बाइट।
लॉक लॉक बाइट.
हस्ताक्षर तीन डिवाइस हस्ताक्षर बाइट्स (डिवाइस आईडी)।
फ्यूजN ATxmega उपकरणों के फ़्यूज़ बाइट्स, N के लिए एक पूर्णांक संख्या है
प्रत्येक फ़्यूज़ डिवाइस द्वारा समर्थित है।
एप्लिकेशन ATxmega उपकरणों का एप्लिकेशन फ़्लैश क्षेत्र।
ऐपटेबल ATxmega डिवाइस का एप्लिकेशन टेबल फ़्लैश क्षेत्र।
बूट ATxmega डिवाइस का बूट फ़्लैश क्षेत्र।
prodsig ATxmega उपकरणों का उत्पादन हस्ताक्षर (अंशांकन) क्षेत्र।
यूजरसिग ATxmega उपकरणों का उपयोगकर्ता हस्ताक्षर क्षेत्र।
RSI op फ़ील्ड निर्दिष्ट करती है कि कौन सा ऑपरेशन करना है:
r डिवाइस मेमोरी पढ़ें और निर्दिष्ट फ़ाइल पर लिखें
w निर्दिष्ट फ़ाइल से डेटा पढ़ें और डिवाइस मेमोरी पर लिखें
v डिवाइस और निर्दिष्ट फ़ाइल दोनों से डेटा पढ़ें और कार्यान्वित करें
सत्यापित
RSI फ़ाइल का नाम फ़ील्ड पढ़ने या लिखने के लिए फ़ाइल का नाम इंगित करता है।
प्रारूप फ़ील्ड वैकल्पिक है और इसमें पढ़ने या लिखने के लिए फ़ाइल का प्रारूप शामिल है।
प्रारूप इनमें से एक हो सकता है:
i इंटेल हेक्स
s मोटोरोला एस-रिकॉर्ड
r कच्चा बाइनरी; फ्लैश रॉम डेटा के मामले में, लिटिल-एंडियन बाइट ऑर्डर
e ईएलएफ (निष्पादन योग्य और लिंक करने योग्य प्रारूप)
m तुरंत; कमांड लाइन पर निर्दिष्ट वास्तविक बाइट मान, द्वारा अलग किए गए
अल्पविराम या रिक्त स्थान. यह बिना फ़्यूज़ बाइट्स की प्रोग्रामिंग के लिए अच्छा है
एकल-बाइट फ़ाइल बनाने या टर्मिनल मोड में प्रवेश करने के लिए।
a ऑटो का पता लगाने; केवल इनपुट के लिए मान्य है, और केवल यदि इनपुट प्रदान नहीं किया गया है
at stdin.
d दशमलव; यह और निम्नलिखित प्रारूप केवल आउटपुट पर मान्य हैं। वे
संबंधित मेमोरी अनुभाग के लिए आउटपुट की एक पंक्ति उत्पन्न करें, जिससे a बनता है
मानों की अल्पविराम से अलग की गई सूची। यह विशेष रूप से उपयोगी हो सकता है
बाद की प्रोसेसिंग, जैसे फ़्यूज़ बिट सेटिंग्स के लिए।
h हेक्साडेसिमल; प्रत्येक मान को स्ट्रिंग मिलेगी 0x पहले से जोड़ा हुआ
o अष्टाधारी; प्रत्येक मान को एक मिलेगा 0 जब तक यह 8 इंच से कम न हो तब तक प्रीपेन्ड किया जाता है
किस स्थिति में इसे कोई उपसर्ग नहीं मिलता है।
b बाइनरी; प्रत्येक मान को स्ट्रिंग मिलेगी 0b पहले से जोड़ा हुआ
डिफ़ॉल्ट इनपुट फ़ाइलों और कच्चे बाइनरी प्रारूप के लिए ऑटो डिटेक्शन का उपयोग करना है
आउटपुट फ़ाइलों के लिए. ध्यान दें कि यदि फ़ाइल का नाम एक बृहदान्त्र शामिल है, प्रारूप फ़ील्ड है
अब यह वैकल्पिक नहीं है क्योंकि कोलन के बाद फ़ाइल नाम वाला भाग अन्यथा होगा
के रूप में गलत अर्थ निकाला जाए प्रारूप.
किसी भी प्रकार के फ़्लैश मेमोरी क्षेत्र (विभिन्न उप-क्षेत्रों सहित) को पढ़ते समय
Xmega डिवाइस), परिणामी आउटपुट फ़ाइल को शामिल न करने के लिए छोटा कर दिया जाएगा
अनुगामी 0xFF बाइट्स जो अनप्रोग्राम्ड (मिटाई गई) मेमोरी को इंगित करते हैं। इस प्रकार, यदि
संपूर्ण मेमोरी अनप्रोग्राम्ड है, इसके परिणामस्वरूप एक आउटपुट फ़ाइल बनेगी जिसमें कोई नहीं है
सामग्री बिल्कुल.
संक्षेप के रूप में, रूप -U फ़ाइल का नाम निर्दिष्ट करने के बराबर है -U
फ़्लैश:w:फ़ाइल नाम:एक। यह तभी काम करेगा जब फ़ाइल का नाम में कोलन नहीं है
यह।
-v वर्बोज़ आउटपुट सक्षम करें. अधिक -v विकल्प वाचालता स्तर को बढ़ाते हैं।
-V डेटा अपलोड करते समय स्वचालित सत्यापन जांच अक्षम करें।
-x विस्तारित_परम
पास विस्तारित_परम चयनित प्रोग्रामर कार्यान्वयन के लिए एक विस्तारित के रूप में
पैरामीटर. विस्तारित पैरामीटर की व्याख्या इस पर निर्भर करती है
प्रोग्रामर स्वयं. विस्तारित स्वीकार करने वाले प्रोग्रामर की सूची के लिए नीचे देखें
मापदंडों।
अंतिम मोड
इस मोड में, avrdude केवल MCU के साथ संचार प्रारंभ करता है, और फिर उपयोगकर्ता की प्रतीक्षा करता है
मानक इनपुट पर आदेश। कमांड और पैरामीटर को सबसे छोटा किया जा सकता है
असंदिग्ध रूप. टर्मिनल मोड का उपयोग करके एक कमांड इतिहास प्रदान करता है ReadLine(3), तो पहले
दर्ज की गई कमांड लाइनों को वापस बुलाया और संपादित किया जा सकता है। वर्तमान में निम्नलिखित आदेश हैं
कार्यान्वित:
फेंकना memtype addr nबाइट्स
पढ़ना nबाइट्स निर्दिष्ट मेमोरी क्षेत्र से बाइट्स, और उन्हें इसमें प्रदर्शित करें
सामान्य हेक्साडेसिमल और ASCII फॉर्म।
फेंकना स्मृति सामग्री को दूसरे के लिए डंप करना जारी रखें nबाइट्स जहां पिछला
फेंकना आदेश छोड़ दिया गया.
लिखना memtype addr बाइट1 ... बाइटएन
पते से प्रारंभ करते हुए, संबंधित मेमोरी सेल्स को मैन्युअल रूप से प्रोग्राम करें addr, का उपयोग करते हुए
मूल्य बाइट1 पूज्य गुरुदेव के मार्गदर्शन से संपन्न कर सकते हैं - बाइटएन. यह सुविधा बैंक के लिए लागू नहीं है-
एटीएमेगा उपकरणों की फ्लैश मेमोरी जैसी स्मृतियों को संबोधित किया।
मिटाना चिप मिटाएँ.
भेजें b1 b2 b3 b4
AVR डिवाइस पर कच्चे अनुदेश कोड भेजें। यदि आपको किसी सुविधा तक पहुंच की आवश्यकता है
एक AVR भाग का जो सीधे तौर पर समर्थित नहीं है avrdude, यह आदेश अनुमति देता है
हालाँकि, आपको इसका उपयोग करना होगा avrdude आदेश लागू नहीं करता. उपयोग करते समय
प्रत्यक्ष एसपीआई मोड, 3 बाइट्स तक छोड़ा जा सकता है।
हस्ताक्षर डिवाइस हस्ताक्षर बाइट्स प्रदर्शित करें।
एसपीआई प्रत्यक्ष SPI मोड दर्ज करें. pgmled पिन स्लेव चयन के रूप में कार्य करता है। केवल समर्थित
on समानांतर बिटबैंग प्रोग्रामर।
भाग वर्तमान भाग सेटिंग्स और पैरामीटर प्रदर्शित करें। चिप विशिष्ट शामिल है
डिवाइस द्वारा समर्थित सभी मेमोरी प्रकारों सहित जानकारी, पढ़ना/लिखना
समय, आदि
PGM प्रोग्रामिंग मोड पर लौटें (प्रत्यक्ष एसपीआई मोड से)।
vtarg वोल्टेज
लक्ष्य की आपूर्ति वोल्टेज को सेट करें वोल्टेज वोल्ट। केवल समर्थित on la
STK500 और STK600 प्रोग्रामर।
varef [चैनल] वोल्टेज
समायोज्य वोल्टेज स्रोत को इस पर सेट करें वोल्टेज वोल्ट. यह वोल्टेज सामान्यतः होता है
लक्ष्य को चलाने के लिए उपयोग किया जाता है आरिफ STK500 पर इनपुट. Atmel STK600 पर, दो
संदर्भ वोल्टेज उपलब्ध हैं, जिन्हें वैकल्पिक द्वारा चुना जा सकता है
चैनल तर्क (या तो 0 या 1)। केवल समर्थित on la STK500 और STK600
प्रोग्रामर।
एफओएससी फ्रीक[एम|के]
मास्टर ऑसिलेटर को इस पर सेट करें फ्रीक हर्ट्ज. एक वैकल्पिक पिछला पत्र M
1E6 से गुणा करें, एक पिछला अक्षर k 1E3 द्वारा. केवल समर्थित on la STK500
और STK600 प्रोग्रामर।
एफओएससी बंद
मास्टर ऑसिलेटर बंद करें. केवल समर्थित on la STK500 और STK600
प्रोग्रामर।
चूस लेना अवधि
STK500 और STK600 प्रोग्रामर केवल: SCK घड़ी अवधि को इस पर सेट करें अवधि
माइक्रोसेकंड.
JTAG बर्फ केवल: JTAG ICE बिट क्लॉक अवधि को इस पर सेट करें अवधि माइक्रोसेकंड. टिप्पणी
STK500 सेटिंग्स के विपरीत, यह सेटिंग अपने डिफ़ॉल्ट पर वापस आ जाएगी
प्रोग्रामिंग सॉफ़्टवेयर के बंद होने पर मान (लगभग 1 माइक्रोसेकंड)।
JTAG ICE से. इस पैरामीटर का उपयोग JTAG ICE mkII पर भी किया जा सकता है,
ICE संचालित करते समय ISP क्लॉक अवधि निर्दिष्ट करने के लिए JTAGICE3, और Atmel-ICE
आईएसपी मोड में.
परम STK500 और STK600 प्रोग्रामर केवल: वर्तमान वोल्टेज और मास्टर प्रदर्शित करें
थरथरानवाला पैरामीटर।
JTAG बर्फ केवल: वर्तमान लक्ष्य आपूर्ति वोल्टेज और JTAG बिट घड़ी प्रदर्शित करें
दर/अवधि.
वाचाल [स्तर]
बदलें (कब स्तर प्रदान किया गया है), या शब्दाडंबर स्तर प्रदर्शित करें। प्रारंभिक
वाचालता स्तर की संख्या द्वारा नियंत्रित किया जाता है -v पर विकल्प दिए गए हैं
कमांड लाइन।
?
मदद उपलब्ध आदेशों का संक्षिप्त ऑनलाइन सारांश दें।
छोड़ना टर्मिनल मोड छोड़ें और इस प्रकार avrdude.
चूक समानांतर बंदरगाह देवदार कनेक्शन
(इन्हें बदला जा सकता है, देखें -c विकल्प)
पिन संख्या समारोह
2-5 वीसीसी (एमसीयू को वैकल्पिक बिजली आपूर्ति)
7 /रीसेट (एमसीयू में)
8 एससीके (एमसीयू के लिए)
9 एमओएसआई (एमसीयू को)
10 एमआईएसओ (एमसीयू से)
18-25 जीएनडी
डीबगवायर सीमाओं
डिबगवायर प्रोटोकॉल एटमेल का मालिकाना वन-वायर (प्लस ग्राउंड) प्रोटोकॉल है जो अनुमति देता है
'/RESET' लाइन का उपयोग करके छोटे AVR उपकरणों का इन-सर्किट अनुकरण। डिबगवायर मोड है
'DWEN' फ़्यूज़ को सक्रिय करके और फिर लक्ष्य को पावर-साइक्लिंग करके शुरू किया गया। जबकि यह मोड
मुख्य रूप से डिबगिंग/अनुकरण के लिए अभिप्रेत है, यह सीमित प्रोग्रामिंग क्षमताएं भी प्रदान करता है।
प्रभावी रूप से, एकमात्र मेमोरी क्षेत्र जिसे इस मोड में पढ़ा या प्रोग्राम किया जा सकता है, वह फ्लैश रॉम है
और ईईपीरोम। हस्ताक्षर को पढ़कर सुनाना भी संभव है। अन्य सभी स्मृति क्षेत्र नहीं कर सकते
पहुँचा जा सके. कोई नहीं है टुकड़ा मिटाना डिबगवायर मोड में कार्यक्षमता; इसके बजाय, जबकि
फ़्लैश ROM को पुन: प्रोग्राम करने पर, प्रत्येक फ़्लैश ROM पेज को अपडेट करने से ठीक पहले मिटा दिया जाता है। यह
JTAG ICE mkII (या AVR ड्रैगन) द्वारा पारदर्शी रूप से किया जाता है। से वापसी का एकमात्र रास्ता
डिबगवायर मोड JTAG ICE mkII (या AVR) के लिए कमांड का एक विशेष अनुक्रम शुरू करना है
ड्रैगन), इसलिए डिबगवायर मोड अस्थायी रूप से अक्षम हो जाएगा, और लक्ष्य तक पहुंचा जा सकता है
सामान्य आईएसपी प्रोग्रामिंग का उपयोग करना। यह क्रम JTAG का उपयोग करके स्वचालित रूप से शुरू किया जाता है
ISP मोड में ICE mkII या AVR ड्रैगन, जब उन्हें पता चलता है कि ISP मोड में प्रवेश नहीं किया जा सकता है।
फ्लिप संस्करण 1 idiosyncrasies
FLIP प्रोटोकॉल संस्करण 1 का उपयोग करने वाले बूटलोडर कुछ बहुत विशिष्ट व्यवहार का अनुभव करते हैं।
इन बूटलोडर्स के पास फ़्लैश और EEPROM के अलावा मेमोरी क्षेत्रों तक पहुंचने का कोई विकल्प नहीं है।
जब बूटलोडर प्रारंभ किया जाता है, तो यह प्रवेश करता है सुरक्षा मोड जहां एकमात्र स्वीकार्य पहुंच है
डिवाइस कॉन्फ़िगरेशन पैरामीटर्स को क्वेरी करना है (जो AVR पर हस्ताक्षर के लिए उपयोग किया जाता है
उपकरण)। इस मोड को छोड़ने का एकमात्र तरीका है a टुकड़ा मिटाना. जैसे चिप का मिटना सामान्यतः होता है
द्वारा निहित है -U फ़्लैश को पुन: प्रोग्राम करते समय विकल्प, यह विशिष्टता बहुत अधिक नहीं हो सकती है
तुरंत स्पष्ट.
कभी-कभी, पहले से ही अक्षम सुरक्षा मोड वाला बूटलोडर अब प्रतिक्रिया नहीं देता है
समझदार कॉन्फ़िगरेशन डेटा, लेकिन सभी प्रश्नों के लिए केवल 0xFF। जैसा कि इन प्रश्नों का उपयोग किया जाता है
हस्ताक्षर के समतुल्य प्राप्त करें, avrdude केवल दबाव डालकर ही उस स्थिति में जारी रखा जा सकता है
हस्ताक्षर जांच को इसके साथ ओवरराइड किया जाएगा -F विकल्प.
A टुकड़ा मिटाना कम से कम बूटलोडर के कुछ संस्करणों पर, EEPROM को मिटाया नहीं जा सकता है।
प्रोग्रामर्स को स्वीकार विस्तृत पैरामीटर
JTAG बर्फ एमके II
JTAGICE3
एटमेल-आईसीई
AVR अजगर
JTAG मोड में JTAG ICE mkII, JTAGICE3, Atmel-ICE या AVR ड्रैगन का उपयोग करते समय,
निम्नलिखित विस्तारित पैरामीटर स्वीकार किया जाता है:
jtagchain=यूबी,यूए,बीबी,बीए
के लिए JTAG स्कैन श्रृंखला सेटअप करें UB पहले इकाइयाँ, UA इकाइयों के बाद,
BB बिट्स पहले, और BA क्रमशः लक्ष्य AVR के बाद बिट्स।
श्रृंखला के भीतर प्रत्येक AVR इकाई 4 बिट्स द्वारा स्थानांतरित होती है। अन्य जेटीएजी
इकाइयों को भिन्न बिट शिफ्ट गणना की आवश्यकता हो सकती है।
एवीआर910
डेवकोड = मान
का उपयोग करके डिवाइस कोड चयन को ओवरराइड करें मूल्य उपकरण के रूप में
कोड. समर्थित लोगों की सूची के लिए प्रोग्रामर से पूछताछ नहीं की जाती है
डिवाइस कोड, और निर्दिष्ट मूल्य सत्यापित नहीं है लेकिन उपयोग किया जाता है
सीधे प्रोग्रामर को भेजे गए 'टी' कमांड के भीतर। मूल्य
सी के पारंपरिक संख्या अंकन का उपयोग करके निर्दिष्ट किया जा सकता है
प्रोग्रामिंग भाषा।
no_blockmode
ब्लॉक स्थानांतरण क्षमता के लिए डिफ़ॉल्ट जाँच अक्षम करता है।
उपयोग no_blockmode केवल यदि आपका एवीआर910 प्रोग्रामर त्रुटियाँ उत्पन्न करता है
प्रारंभिक अनुक्रम के दौरान.
उच्छ्वास
रीसेट={cs,aux,aux2}
डिफ़ॉल्ट सेटअप BusPirate के CS आउटपुट पिन को मानता है
AVR साइड पर रीसेट पिन से जुड़ा है। हालाँकि यह संभव है
MISO, MOSI के साथ एक ही BP से कई AVR जुड़े होने के लिए
और SCK लाइनें उन सभी के लिए सामान्य हैं। ऐसे में एक ए.वी.आर
इसका RESET BusPirate से जुड़ा होना चाहिए CS पिन, दूसरा
AVR का रीसेट BusPirate से जुड़ा हुआ है AUX पिन करें और यदि आपका
BusPirate के पास एक है औक्स२ पिन (केवल BusPirate संस्करण पर उपलब्ध है
फर्मवेयर 1 या नए के साथ v3.0a) रीसेट को सक्रिय करने के लिए उसका उपयोग करें
तीसरा ए.वी.आर.
BusPirate और AVR को अलग करना एक अच्छा विचार हो सकता है
3-राज्य बस बफ़र का उपयोग करके SPI बसें एक दूसरे से। के लिए
उदाहरण 74HC125 या 74HC244 कुछ अच्छे उम्मीदवार हैं
उपयुक्त रीसेट पिन (सीएस, ऑक्स या ऑक्स2) द्वारा संचालित कुंडी।
अन्यथा एक सक्रिय सर्किट में एसपीआई ट्रैफ़िक हस्तक्षेप कर सकता है
अन्य डिज़ाइन में AVR प्रोग्रामिंग के साथ।
स्पिफ़्रेक=<0..7>
बस पाइरेट के बाइनरी एसपीआई मोड के लिए एसपीआई गति:
0 .. 30 किलोहर्ट्ज़ (डिफ़ॉल्ट)
1 .. 125 किलोहर्ट्ज़
2 .. 250 किलोहर्ट्ज़
3 .. 1 मेगाहर्ट्ज
4 .. 2 मेगाहर्ट्ज
5 .. 2.6 मेगाहर्ट्ज
6 .. 4 मेगाहर्ट्ज
7 .. 8 मेगाहर्ट्ज
रॉफ़्रेक=<0..3>
एसपीआई गति सेट करता है और बस पाइरेट के बाइनरी "रॉ-वायर" का उपयोग करता है
मोड:
0 .. 5 किलोहर्ट्ज़
1 .. 50 किलोहर्ट्ज़
2 .. 100 किलोहर्ट्ज़ (केवल फ़र्मवेयर v4.2+)
3 .. 400 किलोहर्ट्ज़ (v4.2+)
"रॉ-वायर" मोड का एकमात्र लाभ अलग एसपीआई है
आवृत्तियाँ उपलब्ध हैं. इसमें पृष्ठांकित लेखन क्रियान्वित नहीं किया जाता है
मोड।
ASCII फ़र्मवेयर समर्थन करने पर भी ASCII मोड का उपयोग करने का प्रयास करें
बिनमोड (बाइनरी मोड)। फर्मवेयर 2.7 और में बिनमोड समर्थित है
नए, पुराने परिवार कल्याण के पास या तो बिनमोड नहीं है या उनके पास बिनमोड है
छोटी गाड़ी. ASCII मोड धीमा है और उपरोक्त बनाता है रीसेट=, स्पिफ़्रेक=
और रॉफ़्रेक= पैरामीटर अनुपलब्ध. ध्यान रखें कि ASCII मोड है
नए फ़र्मवेयर संस्करणों के साथ काम करने की गारंटी नहीं है, और है
केवल पुराने फर्मवेयर के साथ अनुकूलता बनाए रखने के लिए इसे बरकरार रखा गया है
संस्करणों.
nopagedwrite
फ़र्मवेयर संस्करण 5.10 और नए बाइनरी मोड एसपीआई का समर्थन करते हैं
कमांड जो संपूर्ण पृष्ठों को AVR फ्लैश पर लिखने में सक्षम बनाता है
एक ही बार में मेमोरी, जिसके परिणामस्वरूप लिखने की गति में उल्लेखनीय वृद्धि हुई।
यदि किसी कारण से इस मोड का उपयोग वांछनीय नहीं है, तो यह
विकल्प इसे अक्षम कर देता है.
nopagedread
नए फर्मवेयर संस्करण बाइनरी मोड एसपीआई कमांड में कुछ का समर्थन करते हैं
एवीआर विस्तारित कमांड। "फ़्लैश से पढ़ी गई बल्क मेमोरी" का उपयोग करना
पढ़ने की गति में उल्लेखनीय वृद्धि होती है। यदि इसका उपयोग करें
किसी कारण से मोड वांछनीय नहीं है, यह विकल्प इसे अक्षम कर देता है।
cpufreq=<125..4000>
यह आवृत्ति आउटपुट के लिए AUX पिन सेट करता है n kHz. कनेक्ट
आपके MCU के XTAL1 पिन पर AUX पिन, आप इसे प्रदान कर सकते हैं
घड़ी, उदाहरण के लिए जब उसे बाहरी घड़ी की आवश्यकता होती है
गलत फ़्यूज़ सेटिंग्स. सुनिश्चित करें कि सीपीयू आवृत्ति कम से कम हो
एसपीआई आवृत्ति का चार गुना।
सीरियल_रेकव_टाइमआउट=<1...>
यह सीरियल प्राप्त टाइमआउट को दिए गए मान पर सेट करता है।
हर बार जब avrdude BusPirate का इंतज़ार करता है तो टाइमआउट हो जाता है
तत्पर। विशेष रूप से एएससीआईआई मोड में ऐसा अक्सर होता है, इसलिए
छोटा मान सेट करने से प्रोग्रामिंग में काफी तेजी आ सकती है।
डिफ़ॉल्ट मान 100ms है. अधिकांश मामलों में 10 एमएस का उपयोग काम कर सकता है।
तारों वायरिंग प्रोग्रामर प्रकार का उपयोग करते समय, निम्नलिखित वैकल्पिक विस्तारित होता है
पैरामीटर स्वीकार किया गया है:
झपकी लेना=<0..32767>
पोर्ट ओपन चरण निष्पादित करने के बाद, AVRDUDE प्रतीक्षा/स्नूज़ करेगा
एसटी दिन में झपकी लेना प्रोटोकॉल सिंक जारी रखने से पहले मिलीसेकंड
अवस्था। यदि डीटीआर/आरटीएस की कोई टॉगलिंग नहीं की जाती है दिन में झपकी लेना से बड़ा है
0 से।
PICkit2
PICkit2 प्रोग्रामर से कनेक्शन:
(एवीआर) (PICkit2)
आरएसटी - वीपीपी/एमसीएलआर (1)
वीडीडी - वीडीडी लक्ष्य (2) - यदि एवीआर स्वयं संचालित हो तो संभवतः वैकल्पिक
जीएनडी - जीएनडी (3)
मिसो - पीजीडी (4)
एससीएलके - पीडीसी (5)
मोसी - औक्स (6)
विस्तारित कमांडलाइन पैरामीटर:
क्लॉकरेट=
SPI क्लॉकिंग दर को Hz में सेट करता है (डिफ़ॉल्ट 100kHz है)।
वैकल्पिक रूप से -B या -i विकल्पों का उपयोग अवधि निर्धारित करने के लिए किया जा सकता है।
समयबाह्य=
USB पढ़ने और लिखने के लिए मिलीसेकंड में टाइमआउट सेट करता है
(डिफ़ॉल्ट 1500 एमएस है)।
onworks.net सेवाओं का उपयोग करके ऑनलाइन avrdude का उपयोग करें