विषयसूची:

लिनक्स पर AVR प्रोग्रामिंग वातावरण कैसे सेटअप करें: 5 कदम
लिनक्स पर AVR प्रोग्रामिंग वातावरण कैसे सेटअप करें: 5 कदम

वीडियो: लिनक्स पर AVR प्रोग्रामिंग वातावरण कैसे सेटअप करें: 5 कदम

वीडियो: लिनक्स पर AVR प्रोग्रामिंग वातावरण कैसे सेटअप करें: 5 कदम
वीडियो: What is Linux With Full Information? – [Hindi] – Quick Support 2024, नवंबर
Anonim
लिनक्स पर AVR प्रोग्रामिंग वातावरण कैसे सेटअप करें
लिनक्स पर AVR प्रोग्रामिंग वातावरण कैसे सेटअप करें

यदि आप विंडोज़ पर एवीआर माइक्रोकंट्रोलर प्रोग्राम करना चाहते हैं तो आपके पास स्टूडियो है लेकिन लिनक्स पर हमारे पास एक दोस्त है।

AVRDUDE AVR चिप्स को प्रोग्राम करने के लिए कमांड लाइन इंटरफ़ेस है, इसे पहले सेटअप करना थोड़ा मुश्किल हो सकता है। इस निर्देश में, मैं AVRDUDE की स्थापना करूँगा और लिनक्स टर्मिनल के लिए AVR प्रोग्रामिंग वातावरण भी बनाऊँगा।

पहले मैं सभी AVRDUDE और सभी आवश्यक निर्भरताएँ स्थापित करूँगा फिर मैं एक BASH स्क्रिप्ट तैयार करूँगा जो प्रोग्रामिंग में मदद करेगी

चरण 1: अपना कंपाइलर और अन्य उपकरण प्राप्त करना

AVR चिप्स को प्रोग्राम करने के लिए आपको एक विशेष कंपाइलर की आवश्यकता होती है जिसे gcc-avr के रूप में जाना जाता है और अन्य उपकरण जैसे binutils-avr, avr-libc, gdb-avr last लेकिन कम से कम avrdude नहीं।

sudo apt-gcc-avr binutils-avr avr-libc gdb-avr avrdude इंस्टॉल करें

चरण 2: एक टेम्पलेट बनाना।

एक टेम्पलेट बनाना।
एक टेम्पलेट बनाना।

यदि आप arduino में एक नया स्केच खोलते हैं तो आपको एक कोड टेम्प्लेट मिलता है जिसमें दो फ़ंक्शन होते हैं, इससे आपका बहुत समय बचता है।

AVRDUDE C का उपयोग करता है और हर बार जब आप कोड करना चाहते हैं तो हमेशा एक मुख्य विधि बनाना थोड़ा कष्टप्रद हो सकता है, इसलिए मैं एक AVR टेम्पलेट बनाऊंगा।

स्पर्श करें ~/टेम्पलेट्स/AVR.c

टेम्प्लेट फ़ोल्डर में एक खाली फ़ाइल बनाने के लिए टच कमांड का उपयोग करें।

vi ~/टेम्पलेट्स/AVR.c

अपने पसंदीदा टेक्स्ट एडिटर के साथ फाइल खोलें, मैं vi का उपयोग कर रहा हूं।

#F_CPU 16000000L परिभाषित करें

#include #include int main(){ जबकि(){ } रिटर्न 0; }

ऊपर दिए गए कोड को टाइप करें और फाइल को सेव करें। यह कोड हमारे टेम्पलेट के रूप में काम करेगा।

नोट: मैंने अपनी घड़ी की आवृत्ति 16000000 के रूप में सेट की है, आप अपनी किसी अन्य आवृत्ति के रूप में सेट कर सकते हैं शायद 8000000।

चरण 3: एक नई फ़ाइल बनाएँ।

अब हमारे पास हमारे एवीआर कोड के लिए एक टेम्प्लेट है, हमें बस एक नई फाइल बनाने की जरूरत है। मैं एक बैश कमांड बनाउंगा जो एक तर्क (फ़ाइल नाम) में ले जाएगा और फिर उस फ़ाइल को एवीआर टेम्पलेट वाला बना देगा।

चलो "बनाएँ" नामक एक खाली फ़ाइल बनाते हैं

टच क्रिएट

फ़ाइल अनुमति बदलें क्योंकि यह एक BASH स्क्रिप्ट होगी

chmod 755 क्रिएट

अपने टेक्स्ट एडिटर के साथ "क्रिएट" खोलें। अब "क्रिएट" को एडिट करते हैं, निम्न कमांड लाइन को लाइन से जोड़ते हैं।

#!/बिन/बैश

यह "बनाने" के लिए दुभाषिया का मार्ग है जो बैश है।

cp ~/टेम्पलेट्स/AVR.c /home/$USER

यह हमारी टेम्पलेट फ़ाइल को उपयोक्ता होम निर्देशिका में कॉपी करता है।

एमवी ~/एवीआर.सी $1

याद रखें कि मैंने कहा था कि "बनाएं" एक तर्क में लेता है, $ 1 का अर्थ है हमारे आदेश का पहला तर्क यह तर्क इच्छित फ़ाइल नाम है, आखिरी चीज जो हम चाहते हैं वह एक ही फ़ाइल नाम वाली कई फाइलें हैं। आदेश फ़ाइल नाम को हमारे तर्क में बदल देता है।

vi $1

यह वैकल्पिक है लेकिन हमारी फ़ाइल बनाने के तुरंत बाद इसे खोलना अच्छा होगा।

हम संपादन बनाने, इसे सहेजने और इसे बंद करने के साथ कर रहे हैं।

यहाँ क्रिया में बनाएँ का एक उदाहरण दिया गया है।

./blink.c. बनाएं

यह एक फ़ाइल बनाता है जिसे blink.c कहा जाता है, इस फ़ाइल में AVR.c का टेम्प्लेट होना चाहिए।

चरण 4: चलो भागो

हमें एक और बैश स्क्रिप्ट बनानी होगी जिसे "रन" के रूप में जाना जाता है, यह स्क्रिप्ट 3 तर्क (एवीआर माइक्रोकंट्रोलर जिसका हम उपयोग कर रहे हैं, फ़ाइल नाम और प्रोग्रामर) लेगी।

आइए इसे लाइन दर लाइन लेते हैं।

#!/बिन/बैश

हमारा शेबंग

avr-gcc -वॉल -g -0s -mmcu=$1 -o $2.bin $2.c

उपरोक्त आदेश हमारे कोड को संकलित करता है, '$1' हमारा पहला तर्क है जो कि माइक्रोकंट्रोलर है जिसे हम प्रोग्रामिंग कर रहे हैं। $2 हमारा दूसरा तर्क है जो फ़ाइल नाम है।

avr-objcopy -j.text -j.data -O ihex $2.bin $2.hex

यह हमारी अनुपालन फ़ाइल को हेक्स में परिवर्तित करता है।

avrdude -p $1 -c $3 -U Flash:w:$2.hex -P usb

अब avrdude कोड को AVR चिप में बर्न करता है। $3 हमारा तीसरा तर्क है जो प्रोग्रामर है जिसका हम उपयोग कर रहे हैं।

फ़ाइल "रन" सहेजें

इसे निष्पादित करने की अनुमति दें

चामोद 755 रन

आइए अब इसका परीक्षण करें। मान लीजिए कि हम blink.c अपलोड करना चाहते हैं और हम सीधे एक arduino बोर्ड का उपयोग कर रहे हैं, हम एक usbasp प्रोग्रामर का भी उपयोग कर रहे हैं। इस प्रकार हम "रन" स्क्रिप्ट का उपयोग करते हैं।

./run atmega328p ब्लिंक USBasp

Arduino बोर्ड में atmega328p चिप है, आप अपनी पसंद के किसी भी AVR माइक्रोकंट्रोलर का उपयोग कर सकते हैं।

दूसरा तर्क आपका फ़ाइल नाम है, लेकिन इस बार उस फ़ाइल एक्सटेंशन को न जोड़ें जिसे स्क्रिप्ट संभालती है।

फिर हमारे पास तीसरा तर्क है जो प्रोग्रामर आप उपयोग कर रहे हैं, मैं एक यूएसबीएएसपी प्रोग्रामर का उपयोग कर रहा हूं।

चरण 5: निष्कर्ष

यह आपके एवीआर प्रोग्रामिंग अनुभव को स्वचालित करने का एक शानदार तरीका है, आप बैश फाइलों को "क्रिएट" और "रन" को "~/.लोकल/बिन" में स्थानांतरित कर सकते हैं ताकि आप अपनी पसंद की किसी भी फाइल डायरेक्टरी से स्क्रिप्ट का उपयोग कर सकें।

सिफारिश की: