Arduino पर एक अलग फर्मवेयर स्थापित करना


12

क्या फर्मवेयर को एक Arduino पर अपग्रेड करना संभव है ताकि यह अधिक प्रसंस्करण शक्ति प्रदान करने के लिए अंडरवोलटिंग / ओवरवॉल्टिंग जैसे परिवर्तन कर सके। ऐसा करने के लिए आपको सबसे पहले चिप को फिर से फ्लैश करना होगा, इसलिए इसे कैसे पूरा किया जाएगा?


2
अधिकांश नई कार्यक्षमता पुस्तकालयों और प्रोग्रामिंग द्वारा प्रदान की जाती है। आप किस तरह की "अधिक चीजों" के बारे में बात कर रहे हैं?
TheDoctor

TheDoctor ने क्या कहा, आपको और चीजों से क्या मतलब है? इसके अलावा, आप "फर्मवेयर" से क्या जिक्र कर रहे हैं? सॉफ्टवेयर / ओएस के जहाज पर?
hichris123

क्या मुझे सिर्फ सवाल हटाना चाहिए
JVarhol

@ जेरहोल यदि आप इसे साफ कर सकते हैं, तो इसे रख लें। बस हमें समझाएं कि आप वास्तव में क्या सोच रहे हैं ...
hichris123

मुझे पता है कि आप USB- सीरियल चिप पर नया फर्मवेयर स्थापित कर सकते हैं ताकि यह एक कीबोर्ड का अनुकरण कर सके
TheDoctor

जवाबों:


7

अधिकांश Arduino बोर्डों में प्रयुक्त ATmega328p MCU पर "फर्मवेयर" के बारे में आपके प्रश्न के पहलू का उत्तर देने के लिए:

बूटलोडर से अलग ATmega पर कोई फर्मवेयर नहीं है। आपके द्वारा लिखे गए प्रोग्राम सीधे हार्डवेयर पर चल रहे हैं ।

कुछ "फ्यूज" सेटिंग्स हैं जो आईएसपी प्रोग्रामर के साथ सेट की गई हैं । हालांकि, उनमें से केवल 24 (तीन बाइट्स) हैं, और वे काफी हद तक निम्न-स्तरीय कॉन्फ़िगरेशन से संबंधित हैं, और वे नहीं हैं जो मुझे लगता है कि मैं पूछ रहा हूं:
यहाँ छवि विवरण दर्ज करें

इसमें बूटलोडर भी है , जो एक छोटा प्रोग्राम है जो MCU के प्रोग्राम मेमोरी के एक अलग सेगमेंट में बैठता है और इसे स्टार्टअप पर खुद को अपडेट करने की अनुमति देता है (जो कि सभी arduinos को प्रोग्राम किया जाता है)। हालांकि, यह केवल स्टार्टअप पर थोड़े समय के लिए चलता है, और MCU के मुख्य कार्यक्रम में कूदने के बाद इसे पूरी तरह से मेमोरी से हटा दिया जाता है।

अंत में, USB-सीरियल इंटरफेस के रूप में उपयोग किए जाने वाले अधिकांश arduino बोर्डों पर सहायक MCU (ATmega16U2 / 8U2) हैं, जिन्हें अलग-अलग व्यवहार करने के लिए अपडेट किया जा सकता है (जैसे कीबोर्ड / माउस का अनुकरण करना), लेकिन फिर, यह वास्तव में बदलाव नहीं है। कोर प्रोसेसर के लिए, तो क्या यह "एक अलग फर्मवेयर स्थापित करने" के रूप में गिना जाता है, यह इस बात पर निर्भर करता है कि आप कैसे arduino को परिभाषित करते हैं।

वास्तव में, मैं दृढ़ता से ATmega328P डेटाशीट पढ़ना चाहूंगा । यह MCU के लिए प्रलेखन है जो मूल रूप से "Arduino" बनाता है। यह पता होना चाहिए कि गलत धारणाएं क्या हैं।


5

नीचे दिए गए चार्ट पर ध्यान दें, विभिन्न F_CPU के लिए डिवाइस को अपने अंडर / ओवर वोल्टिंग के संबंध में संकेत देता है। नतीजतन आप 5V पर सबसे Arduino के रन और 16MHz की घड़ी दर पाते हैं। जबकि कुछ 3.3V वेरिएंट हैं जो 8MHz पर चलते हैं।

फ्रीक बनाम वीसीसी

हालाँकि, IDE के साथ प्रदान की जाने वाली मुख्य लाइब्रेरी में आमतौर पर # 8 और 16 MHz F_CPU गति दोनों के लिए विशिष्ट # होता है, न कि अधिकांश स्थानों पर एक सूत्र का उपयोग करने के लिए।

इसलिए यह संभव है कि आप क्या पूछें। हालाँकि, आपको मुख्य पुस्तकालय सीमाएँ प्रभावित होंगी। बहुत ही अभिप्राय से लागत बनाम लाभ अनुपात को टिप करना। और फिर संभावना है कि स्टॉक आईडीई और कोर लाइब्रेरी को अधिक मेकफाइल विधि से छोड़ दिया जाएगा।


जाहिर तौर पर इसे 20 मेगाहर्ट्ज पर ओवरक्लॉक किया जा सकता है
TheDoctor

@ TheDoctor - यह ओवरक्लॉकिंग नहीं है। ATmega328p को 20 Mhz का दर्जा दिया गया है। Arduinos वास्तव में कर रहे हैं underclocked 16 मेगाहर्टज के लिए।
कॉनर वुल्फ

@ FakeName हाँ, मेरा मतलब है कि आप एक Arduino बोर्ड को संशोधित कर सकते हैं ताकि 20 मेगाहर्ट्ज पर ट्यून करने के लिए
नेस्सेरी

ओह, एक और साइड-नोट। आप आम तौर पर प्रमुख मुद्दों के बिना सुरक्षित-ऑपरेटिंग-क्षेत्र को पार कर सकते हैं। मेरे पास कई बोर्ड हैं जो बिना मुद्दों के 3.3V रेल के साथ 16 मेगाहर्ट्ज पर चल रहे हैं। उनके पास अत्यधिक तापमान पर स्थिरता के मुद्दे हो सकते हैं, लेकिन यह कमरे के तापमान पर ज्यादातर ठीक काम करता है।
कॉनर वुल्फ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.