ATmega32 (ATmega AVR श्रृंखला) के साथ एम्बेडेड सी के साथ शुरू करें


9

मेरे पास एक ATmega32 बोर्ड है जो चारों ओर बिछा रहा है और मुझे लगता है कि यह माइक्रोकंट्रोलर्स के साथ शुरू करना सही होगा। मैंने एक बार एम्बेडेड सी में कुछ बड़बड़ाया था (जब मुझे यह बोर्ड मिला था) लेकिन कुछ चीजों के कारण प्रवाह रोक दिया गया था। अब मेरे दो सवाल हैं:

  1. एवीआर श्रृंखला के लिए सी के साथ शुरू करने के लिए सबसे अच्छा मुफ्त संसाधन क्या है। मुझे AVR-GCC का पता है, लेकिन मुझे शुरू करने के लिए कुछ ट्यूटोरियल या मुफ्त पुस्तकों की तलाश थी।

  2. क्या मुझे सीधे सी पर कूदना चाहिए या पहले एएसएम के माध्यम से जाना चाहिए? मैं देख रहा हूँ कि आसमां के आसपास कई किताबें हैं। तो एक बेहतर विकल्प क्या है?

इंटरनेट पर खोज करते हुए, मुझे यहाँ ATmega32 के लिए Arduino बूटलोडर मिला http://retrointerfacing.com/?p=30 लेकिन समस्या यह है कि मैं फ्यूज़ बिट्स और सभी के साथ कुछ छेड़छाड़ करने में संकोच करता हूं। क्या ऐसा करना सुरक्षित है?

जवाबों:



6

AVR-libc प्रलेखन एक महान AVRs पर सी के लिए जानकारी का स्रोत है। यहाँ एक और है

व्यक्तिगत रूप से, मैं सी में काम करना पसंद करता हूं। एवीआर-एफएआरसी का उपयोग करना आपको एवीआर परिवार के भीतर अच्छा कोड पोर्टेबिलिटी देता है। हालाँकि, यदि आप कुछ भी समय महत्वपूर्ण कर रहे हैं, तो आपको ASM का सहारा लेना पड़ सकता है।

यदि आपके पास एक समानांतर या "उच्च वोल्टेज" एवीआर प्रोग्रामर है, तो आप हमेशा फ्यूज बिट्स को फिर से शुरू कर सकते हैं। यदि आप सीरियल (इन-सिस्टम-प्रोग्रामिंग, आईएसपी) का उपयोग कर रहे हैं, तो सावधान रहें कि स्पैन या रिसेटेबल बिट्स को निष्क्रिय न करें क्योंकि ये आपको रीप्रोग्राम करने से रोकेंगे।

एक Arduino HV प्रोग्रामिंग शील्ड उपलब्ध है।


4

मैं सी के साथ शुरू करूँगा। आपको एएसएम की एक सामयिक स्निपेट की आवश्यकता हो सकती है लेकिन अधिकांश अनुप्रयोगों के लिए जो इसके बारे में होंगे। यदि आप अपना स्वयं का रोल करने का निर्णय लेते हैं तो अपवाद एक बूटलोडर होगा।

डेव मेलिस ने एमआईटी एचएलटी विकी पर एक एवीआर ट्यूटोरियल डाला। वह ATmega328 के लिए उपकरण स्थापित करने पर चर्चा करता है लेकिन यह आपको विभिन्न उपकरणों के साथ मदद करने के लिए पर्याप्त सामान्य लगता है। देख

http://hlt.media.mit.edu/wiki/index.php/AVR_Programming

Atmel साइट पर पुस्तकालय और उदाहरण अच्छे लगते हैं। मैंने उनके ऐप-नोट्स से कई स्निपेट्स का इस्तेमाल किया है। मेरे RTC कोड में I2C (TWI) लाइब्रेरी का उपयोग मैं Atmel साइट से करता हूं।


3

मैं पहले Arduino के साथ जाऊंगा। पुस्तकों, ट्यूटोरियल और उदाहरण कोड के बहुत सारे। और एक महान और अच्छा समुदाय। फिर यदि आप Arduino से परिचित हैं, तो AVR-GCC के साथ C आज़माएं।

मैं इन दिनों ASM की सिफारिश नहीं कर सकता। हो सकता है कि कुछ कोने जहाँ आपको ASM का उपयोग करना पड़ सकता है, लेकिन अधिकांश चीजें सादे सी के साथ हल की जा सकती हैं। ASM से आप कुछ बहुत अधिक जानकारी प्राप्त कर सकते हैं कि कैसे एक माइक्रोकंट्रोलर काम कर रहा है, लेकिन अगर आप चीजों को तेजी से बनाना चाहते हैं, तो मैं आपसे चिपक जाऊंगा। C या C ++।


समस्या यह है कि मैं कहाँ रहता हूँ एक अर्दीनो प्राप्त करना बहुत कठिन है। मैं अपने लिए एक बनाने की योजना बना रहा हूं लेकिन वह भी काम नहीं कर रहा है (पढ़ें समय नहीं है)।
रिक_2047

यदि आपके पास चिप को प्रोग्राम करने की क्षमता है, तो आप उस पर Arduino फर्मवेयर लोड कर सकते हैं, फिर बाद के काम के लिए सीरियल लिंक + बूटलोडर का उपयोग कर सकते हैं।
गैलमिना

0

आप जो Pardue द्वारा माइक्रोकंट्रोलर्स के लिए C प्रोग्रामिंग से शुरू कर सकते हैं। AVRStudio5 का उपयोग करें और http://avrfreaks.net से चिपके रहें , आप यहां बहुत सारे शांत और सहायक लोग प्राप्त कर सकते हैं।

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