कंप्यूटर के बिना ISP के रूप में Arduino


12

क्या किसी ने (कंप्यूटर या जो भी हो) प्रीलोड करने की एक विधि के बारे में देखा है या एक फर्मवेयर के रूप में जाना जाता है, जो कि एक arpino पर डेटा को एक isp के रूप में संचालित करने के लिए सेट किया जाता है और फिर उस arduino का उपयोग करते हुए दूसरे में isp इंटरफ़ेस प्लग और फर्मवेयर अपलोड करें।

स्पष्ट होने के लिए - मैं एक पूर्ण विकसित कंप्यूटर के लिए सीधा कनेक्शन के बिना Arduino स्केच को अपलोड करने का एक तरीका ढूंढ रहा हूं।

आदर्श रूप से इसमें शामिल कदम होंगे:

  1. नया स्केच / फर्मवेयर लिखें
  2. कम्पाइलर फर्मवेयर
  3. डेटा के रूप में Arduino A पर कॉपी फर्मवेयर लिखें (ISP के रूप में काम करने के लिए Arduino A सेट किया गया है)
  4. कंप्यूटर से Arduino A को अलग करें
  5. अलग स्थान में ISP हेडर का उपयोग करके Arduino A को Arduino B में संलग्न करें
  6. Arduino B पर प्रीलोड किए गए फ़र्मवेयर को अपलोड करने के लिए कुछ विधि (शायद एक पुशबटन) का उपयोग करके Arduino A को ट्रिगर करें।

मैं यह मान रहा हूं कि सैद्धांतिक रूप से यह काम कर सकता है क्योंकि फर्मवेयर अपलोड करना एसपीआई इंटरफ़ेस के पार बाइट्स का एक आदान-प्रदान है, लेकिन मुझे वास्तविकता के बारे में निश्चित नहीं है।

जिस परिदृश्य पर मैं विचार कर रहा हूं वह यह है कि क्या मैं अपने कंप्यूटर से दूरस्थ स्थान पर एक अर्दुइनो (स्थायी रूप से) स्थापित करने वाला था (मेरे पास लैपटॉप नहीं है और न ही मैं एक प्राप्त करना चाहता हूं) यह फटकार के लिए परेशानी होगी यह।

दूसरी विधि जिसे मैंने माना है वह डीआईएल पैक एटीएमएगा का उपयोग कर रहा है जिसे मैं कंप्यूटर पर बोर्ड और प्रोग्राम से हटा सकता हूं और बोर्ड में वापस आ सकता हूं - हालांकि मैं बहुत अधिक पिन के झुकने का जोखिम नहीं उठाना पसंद करूंगा और हटाने की परेशानी जब भी मैं फटकार लगाना चाहता हूं, हर बार चिप लगाएं।


इसका परिणाम यह होगा कि आप प्रोग्रामर (Arduino A) में लोड किए गए सटीक स्केच / फर्मवेयर के साथ केवल अन्य Arduinos प्रोग्राम कर पाएंगे। तो यह केवल उत्पादन लाइन के रूप में प्रतियां बनाने के लिए उपयोगी होगा, क्या यह है? यदि आपको स्केच पर कुछ भी बदलने की आवश्यकता है तो आपको इसे फिर से संशोधित करने और लोड करने के लिए कंप्यूटर पर वापस जाने की आवश्यकता होगी। क्या मुझे यह अधिकार मिला?
रिकार्डो

1
क्या "फ़्लैश इमेज" को दूसरे सपोर्ट (जैसे एसडी कार्ड) पर टारगेट में कॉपी करना संभव नहीं है?
19.114

हाँ। मुझे लगता है कि यह एक प्रोडक्शन लाइन के लिए भी अच्छा होगा। मेरी स्थिति यह है कि मेरे पास एक बाड़े में बसा एक आर्दीनो है जिसे हिलाना मुश्किल है और यह मेरे कंप्यूटर के लिए एक अलग कमरे में है (स्थानांतरित करने के लिए भी मुश्किल है)। इसलिए मुझे हर बार Arduino A पर स्केच लोड करने में खुशी होगी, मैं इसे बदलना चाहता था।
m3z

2
यह एक बूटलोडर प्रोग्रामिंग के सीमित उद्देश्य के लिए किया गया है - github.com/WestfW/OptiLoader - लेकिन उपलब्ध फ़्लैश माइनस टूल के आकार से छोटे किसी भी पेलोड के लिए काम करना चाहिए। एक बड़े पेलोड फर्मवेयर के लिए, एक बाहरी भंडारण उपकरण (या बस एक Arduino मेगा?) काम करना चाहिए।
क्रिस स्ट्रैटन

@ChrisStratton जो मेरे अनुकूल होने के लिए एकदम सही है। धन्यवाद
m3z

जवाबों:


5

मुझे लगता है कि thinkप्रोग - छोटे, तेज, पोर्टेबल AVR प्रोग्रामर के साथ SD वह करता है जो आप चाहते हैं। आप एसडी कार्ड (हेक्स, ईप आदि) में कई फाइलों को स्टोर कर सकते हैं और डिवाइस मेनू से चुन सकते हैं जो एक पीसी की आवश्यकता के बिना लक्ष्य MCU को लिखने के लिए है।
सबसे अच्छी बात यह है कि यह मुफ्त में उपलब्ध है (पीसीबी, योजनाबद्ध, फर्मवेयर आदि)।

एक तरह का, पोर्टेबल AVR प्रोग्रामर! जहां भी आपको डिवाइस फर्मवेयर को अपडेट करने की आवश्यकता होती है, जहां टार्गेट डिवाइस हार्ड-टू-पहुंच स्थान पर है और आप अपने लैपटॉप को अपने साथ तारों का एक गुच्छा नहीं ला सकते हैं (या नहीं करना चाहते) को अपडेट करने में मदद करता है। सामान्य रूप से उपयोग करने में आसान, सुपर सस्ता बनाने के लिए, सुपर छोटा, सुपर फास्ट, एसडी कार्ड का उपयोग करता है…

विशेषताएं:

  • सुपर छोटे - आयाम 44 x 39 x 5,5 मिमी
  • सुपर फास्ट - 12,5kB / s तक लिखें, 14,5kB / s तक पढ़ें
  • सस्ते भंडारण माध्यम का उपयोग करता है - छोटे माइक्रो एसडी कार्ड
  • FAT16 और FAT32 फ़ाइल सिस्टम का समर्थन करता है
  • पढ़ सकते हैं, लिख सकते हैं, फ्लैश और इप्रोम मेमोरी को सत्यापित कर सकते हैं
  • फ्यूसेबिट्स और लॉकबिट्स को पढ़, लिख, सत्यापित कर सकते हैं
  • BIN, HEX, और TXT फ़ाइलों को लिखें और पढ़ें
  • फ़्यूज़बिट के डिफ़ॉल्ट मान सेट कर सकते हैं, यादें मिटा सकते हैं
  • सस्ते, प्राप्त करने में आसान, LPH7779 ग्राफिक डिस्प्ले
  • हर ऑपरेशन के बाद मजेदार एनिमेशन दिखाता है
  • मानक प्रोग्रामिंग हेडर - Atmel 6-PIN ISP
  • ऑटो फर्मवेयर (एसडी से) अपने स्वयं के अद्यतन का एक समारोह है
  • उपयोग करने के लिए बहुत आसान है, 4 बटन नेविगेशन
  • उपयोगकर्ता-सेटिंग मेनू
  • प्रोग्रामिंग गति ऑटो-चयन (4MHz तक)
  • 3V में कार्य करता है, प्रोग्राम चिप्स 3V से 5V तक आपूर्ति की जाती है

समर्थित चिप सूची

यहाँ छवि विवरण दर्ज करें


अछा लगता है। वीकेंड पर जांच करेंगे।
m3z

मुझे नहीं पता कि मैंने दूसरे दिन इस सवाल को कैसे याद किया। मैं केवल इस सटीक प्रोजेक्ट को बनाने के बारे में एक मित्र से बात कर रहा हूं। और फिर मैं आपका जवाब देखता हूं।
मडीवाड

4

आप जो चाहते हैं, उसके लिए मेरे पास कोई सीधा समाधान नहीं है, लेकिन हां यह करना संभव है। आप एक बूटलोडर फर्मवेयर को हैक कर सकते हैं ताकि यह फर्मवेयर फ्लैश कोड को पढ़े और इसे आईएसपी पर अपलोड करें।

हालाँकि, आप स्पष्ट रूप से 32k फर्मवेयर को लक्ष्य AVR पर अपलोड नहीं कर सकते हैं, यदि दोनों arduinos के पास अपने MCUs में कुल फ़्लैश का केवल 32k है, तो आपको ऐसा करने के लिए फ्लैशर के पास लक्ष्य से अधिक फ़्लैश होना आवश्यक है यदि आप ऐसा करना चाहते हैं (1284p) या 2560 मेगा काफी दूर होगा, या एक 328 / 32u4 एक 168 या एक अटारी फ्लैश करने के लिए cood होगा। एकमात्र अपवाद यह होगा कि फर्मवेयर को कुल मेमोरी (जैसे पलक स्केच के लिए) की तुलना में छोटा फ्लैश किया जाए।

अंत में, यह आसान नहीं होगा, यह 100% शुद्ध AVR कोड है, लेकिन आप इसे कर सकते हैं। अच्छी तरह से देखिए:

जिस तरह से मैं लागू करूंगा कि या तो सब कुछ फ्लैशर डिवाइस के बूटलोडर में फिट हो जाएगा, इसलिए यह फर्मवेयर (सब कुछ 0x00 से बूटलोडर स्टार्ट एड्रेस तक) को पढ़ता है और इसे आईएसपी के माध्यम से एवीआरआईएसआई को ऑप्टिबूट के साथ विलय कर देता है।

वैसे भी, यह बूटलोडर्स और AVRs के बारे में एक कार्यशाला के लिए एक दिलचस्प परियोजना है जो मैं अपने स्थानीय हैकर्सस्पेस में सुझा सकता हूं! ;-)

HTH


धन्यवाद, AVRISP स्रोत कोड उतना जटिल नहीं दिखता जितना मुझे उम्मीद थी। मैं सप्ताहांत में इस पर थोड़ा गहराई से
देखूंगा

आपका स्थानीय हैकर्सस्पेस कहाँ है? :)
मदिवाड

यह फ्रांस में है लूप
zmo

कोई समस्या नहीं है, कि मतदान के लिए क्या है ;-)
zmo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.