मैं कुछ वर्षों से छात्रों के साथ लाइन-फॉलोवर रोबोट बनाने के लिए 8-बिट AVR MCU का उपयोग कर रहा हूं। अब मैं एआरएम कॉर्टेक्स-एम 3 तक कदम रखना चाहूंगा क्योंकि मैं ओडोमेट्री और सेंसर फ्यूजन जैसी कुछ और सीपीयू-गहन सुविधाओं को जोड़ना चाहूंगा।
आवश्यकताएं हैं:
- 8 अनुरूप इनपुट,
- 4 PWM आउटपुट,
- मैं 2 सी,
- 2 चतुर्भुज एनकोडर इनपुट,
- सीरियल I / O,
- रोबोट के लिए भौतिक पहुँच के बिना स्व-प्रोग्रामिंग वायरलेस तरीके से।
- मल्टीप्लायर टूलकिन + आईडीई (ओएस एक्स, लिनक्स, विंडोज)।
मैंने अब तक जो कदम उठाए हैं, वे हैं:
मैं इस STM32F103C8 आधारित बोर्ड का उपयोग कर रहा हूं। मेरा मानना है कि इस MCU में मुझे 2 x QEI सहित सभी आवश्यक चीजें हैं, जिन्हें मैंने सॉफ्टवेयर में लागू करने की योजना बनाई है, लेकिन ऐसा हार्डवेयर में होता है, इसलिए यह बहुत अच्छा होता है:
- बोर्ड http://eud.dx.com/product/high-quality-cortex-m3-stm32-stm32f103c8t6-development-board-w-swd-interface-844380789
- प्रोग्रामर http://eud.dx.com/product/st-link-v2-programmer-emulator-mini-stlink-downloader-for-stm8-stm32-mcu-development-board-844480733
मैंने अपना टूलकिन + IDE सेट करने के लिए इसका अनुसरण किया है:
मैंने पाया है कि इस चिप के लिए प्रलेखन कई PDF में बिखरा हुआ है, जिसे मैंने डाउनलोड किया है:
- STM32F103x8 डेटाशीट http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00161566.pdf
- संदर्भ मैनुअल http://www.st.com/st-web-ui/static/active/en/resource/technical/document/reference_manual/CD00171190.pdf
- AN2606 (मेमोरी बूट मोड), PM0075 (फ्लैश प्रोग्रामिंग मैनुअल) और AN3155 (सीरियल बूटलोडर प्रोटोकॉल) जैसे कुछ अन्य दस्तावेज, जिनकी मुझे भविष्य में आवश्यकता होगी।
मैंने STM32F10x मानक परिधीय पुस्तकालय भी डाउनलोड किया, लेकिन इसके बदले में मुझे नया STM32CubeF1 प्राप्त करने की सिफारिश की गई, जिसके बारे में मेरा मानना है कि यह उपरोक्त में से केवल एक विपणन नाम है, इसलिए मुझे दोनों मिल गए:
- http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/LN1939/PF257890
- http://www.st.com/web/en/catalog/tools/PF260820
अंत में, मुझे जोसेफ यियू द्वारा "द डेफिनिटिव गाइड टू द एआरएम कॉर्टेक्स-एम 3" भी मिला है, जिसे मैं पढ़ रहा हूं क्योंकि मैं बोर्ड आने का इंतजार करता हूं।
मेरे प्रश्न हैं:
मैं प्रलेखन से अभिभूत हूँ, कम से कम कहने के लिए, और मुझे यकीन भी नहीं है कि मुझे यह सब मिला है। उदाहरण के लिए, डेटशीट और संदर्भ पुस्तिका बताती है कि चिप में 3 बार क्वाडरेचर एन्कोडेड इनपुट करने में सक्षम है। लेकिन, मैं रजिस्टरों का दस्तावेज़ीकरण नहीं पा सकता हूं जो ऊपर दिए गए पीडीएफ में कहीं भी टाइमर को नियंत्रित करते हैं। मैं क्या खो रहा हूँ?
क्या मुझे (पुरानी?) स्टैंडर्ड पेरिफेरल लाइब्रेरी, या (नई?) क्यूब चीज़ का उपयोग करना चाहिए? क्या फर्क पड़ता है? मैं समझता हूं कि दोनों पुस्तकालय मुझे सीधे रजिस्टर में हेरफेर करने से बचाते हैं और जाने के लिए अनुशंसित तरीका है। क्या मैं सही हू?
पुस्तकालयों के लिए दस्तावेज़ीकरण कहां है (एम्बेडेड डॉक्सीजन टिप्पणियों के अलावा, जो अच्छे और सभी हैं, लेकिन मेरे पास एक खोज योग्य HTML / पीडीएफ है)?
मैंने एक्लिप्स + जीसीसी एआरएम + ओपनओसीडी को अपने टूलचिन के रूप में चुना क्योंकि मुझे लगता है कि यह एकमात्र विकल्प है जो कोड आकार या अन्य सीमाओं के बिना 3 मुख्य ओएस पर चलेगा। क्या कोई और विकल्प हैं?