STM32F103C8T6 बोर्ड से कैसे शुरू करें?


10

मैं कुछ वर्षों से छात्रों के साथ लाइन-फॉलोवर रोबोट बनाने के लिए 8-बिट AVR MCU का उपयोग कर रहा हूं। अब मैं एआरएम कॉर्टेक्स-एम 3 तक कदम रखना चाहूंगा क्योंकि मैं ओडोमेट्री और सेंसर फ्यूजन जैसी कुछ और सीपीयू-गहन सुविधाओं को जोड़ना चाहूंगा।

आवश्यकताएं हैं:

  • 8 अनुरूप इनपुट,
  • 4 PWM आउटपुट,
  • मैं 2 सी,
  • 2 चतुर्भुज एनकोडर इनपुट,
  • सीरियल I / O,
  • रोबोट के लिए भौतिक पहुँच के बिना स्व-प्रोग्रामिंग वायरलेस तरीके से।
  • मल्टीप्लायर टूलकिन + आईडीई (ओएस एक्स, लिनक्स, विंडोज)।

मैंने अब तक जो कदम उठाए हैं, वे हैं:

मैं इस STM32F103C8 आधारित बोर्ड का उपयोग कर रहा हूं। मेरा मानना ​​है कि इस MCU में मुझे 2 x QEI सहित सभी आवश्यक चीजें हैं, जिन्हें मैंने सॉफ्टवेयर में लागू करने की योजना बनाई है, लेकिन ऐसा हार्डवेयर में होता है, इसलिए यह बहुत अच्छा होता है:

मैंने अपना टूलकिन + IDE सेट करने के लिए इसका अनुसरण किया है:

मैंने पाया है कि इस चिप के लिए प्रलेखन कई PDF में बिखरा हुआ है, जिसे मैंने डाउनलोड किया है:

मैंने STM32F10x मानक परिधीय पुस्तकालय भी डाउनलोड किया, लेकिन इसके बदले में मुझे नया STM32CubeF1 प्राप्त करने की सिफारिश की गई, जिसके बारे में मेरा मानना ​​है कि यह उपरोक्त में से केवल एक विपणन नाम है, इसलिए मुझे दोनों मिल गए:

अंत में, मुझे जोसेफ यियू द्वारा "द डेफिनिटिव गाइड टू द एआरएम कॉर्टेक्स-एम 3" भी मिला है, जिसे मैं पढ़ रहा हूं क्योंकि मैं बोर्ड आने का इंतजार करता हूं।

मेरे प्रश्न हैं:

  1. मैं प्रलेखन से अभिभूत हूँ, कम से कम कहने के लिए, और मुझे यकीन भी नहीं है कि मुझे यह सब मिला है। उदाहरण के लिए, डेटशीट और संदर्भ पुस्तिका बताती है कि चिप में 3 बार क्वाडरेचर एन्कोडेड इनपुट करने में सक्षम है। लेकिन, मैं रजिस्टरों का दस्तावेज़ीकरण नहीं पा सकता हूं जो ऊपर दिए गए पीडीएफ में कहीं भी टाइमर को नियंत्रित करते हैं। मैं क्या खो रहा हूँ?

  2. क्या मुझे (पुरानी?) स्टैंडर्ड पेरिफेरल लाइब्रेरी, या (नई?) क्यूब चीज़ का उपयोग करना चाहिए? क्या फर्क पड़ता है? मैं समझता हूं कि दोनों पुस्तकालय मुझे सीधे रजिस्टर में हेरफेर करने से बचाते हैं और जाने के लिए अनुशंसित तरीका है। क्या मैं सही हू?

  3. पुस्तकालयों के लिए दस्तावेज़ीकरण कहां है (एम्बेडेड डॉक्सीजन टिप्पणियों के अलावा, जो अच्छे और सभी हैं, लेकिन मेरे पास एक खोज योग्य HTML / पीडीएफ है)?

  4. मैंने एक्लिप्स + जीसीसी एआरएम + ओपनओसीडी को अपने टूलचिन के रूप में चुना क्योंकि मुझे लगता है कि यह एकमात्र विकल्प है जो कोड आकार या अन्य सीमाओं के बिना 3 मुख्य ओएस पर चलेगा। क्या कोई और विकल्प हैं?


2
संदर्भ मैनुअल के पेज 324 में TIM1 और TIM8 का उपयोग कर एनकोडर इंटरफेस का विवरण है।
लियोन हेलर

1
क्या मैं एंबेडेड सिस्टम सुझाता हूं - शेप द वर्ल्ड ARM-Cortex-M3, लेकिन यह TI से है। इसके अलावा, मैं ubuntu के लिए ग्रहण + जीसीसी एआरएम + ओपनओसीडी को कॉन्फ़िगर करने में सक्षम था, बल्कि यह थकाऊ था, और कम से कम मुझे विश्वसनीय नहीं था।
महेंद्र गनवार्डन

1
एआरएम-जीसीसी समाधान सामान्य रूप से काफी स्थिर हैं, और वहां से सबसे पोर्टेबल विकल्प के बारे में हैं। जोर एक Makefile या निर्माण स्वचालन द्वारा संचालित बनाता है की ओर अधिक तैयार हो जाता है, इसलिए मौजूदा संगठनात्मक सॉफ्टवेयर विकास प्रथाओं के साथ एकीकरण उत्कृष्ट है। क्या IDE (यदि कोई हो) प्रायोगिक बिल्ड को संपादित करने और ड्राइव करने के लिए एक बहुत अधिक व्यक्तिगत निर्णय हो जाता है, और एक जो आवश्यक रूप से ज्यादा टूल-डेवलपमेंट प्रयास को इसकी ओर नहीं देखता है। व्यक्तिगत रूप से, आखिरी चीज जिसे मैं निपटाना चाहता हूं वह एक लक्ष्य / टूलकिन है जो मानता है कि मैं आईडीई को केवल इसके साथ काम करने के लिए बदल दूंगा।
क्रिस स्ट्रैटन

जवाबों:


6
  1. जैसा कि यह डेटशीट की बात आती है कि वे वास्तव में विभाजित हैं। "संदर्भ मैनुअल" चीजों, कॉन्फ़िगरेशन और पूरे एमसीयू के बारे में विस्तृत विचार करने का जटिल विवरण है। "डेटाशीट" दूसरी ओर केवल MCU सुविधाओं, पिनआउट्स, पैकेजों आदि का एक संक्षिप्त विवरण है। हर STM32 लाइन (F1,2 ... 7) के लिए बहुत उपयोगी दस्तावेज भी है। STM32F7xxxx MCU हार्डवेयर विकास के साथ शुरुआत करना यदि आप एक कस्टम बोर्ड डिजाइन करना चाहते हैं तो कई informations प्रदान करता है। AVRs की तुलना में, रजिस्टरों का विवरण कभी-कभी विशेष अध्याय के मुख्य विवरण से थोड़ा अलग रखा जाता है।

  2. STM32CubeMX एक पुस्तकालय नहीं है, एसटी से सिर्फ एक उपयोगी कार्यक्रम है, जो आपको पिनआउट्स, इसके कॉन्फ़िगरेशन, सेट सिस्टम घड़ियों आदि को सेट करने में सक्षम बनाता है और फिर, अंत में, एक कोड और पूरी परियोजना उत्पन्न करता है। परियोजना विशेष रूप से ग्रहण (एसटीएम 32 के लिए सिस्टम कार्यक्षेत्र) के लिए उत्पन्न की जा सकती है जिसमें आप इस परियोजना को आयात करते हैं और आप जाने के लिए तैयार हैं। नई लाइब्रेरी एचएएल ("हार्डवेयर एब्स्ट्रक्शन लेयर") है और इसका उपयोग करने का प्रयास करें। यह नई बात है और कभी-कभी इंटरनेट पर उदाहरण ढूंढना कठिन होता है लेकिन अपने छात्रों को पुरानी तकनीकों को न सिखाएं। एचएएल का उपयोग करना सुविधाजनक है और इसके पास प्रलेखन है, इसलिए मुझे लगता है कि यह बेहतर विकल्प है।

  3. कौन सी लाइब्रेरी? वैसे भी यह उन्हें गूगल करने के लिए एक समस्या नहीं होनी चाहिए, मुझे लगता है।

  4. यहां तक ​​कि अगर आप केवल एक ओएस (जैसे विंडोज) का उपयोग करना चाहते हैं, तो ग्रहण (AC6 = STM32 के लिए सिस्टम कार्यक्षेत्र) है - मुझे लगता है - सबसे अच्छा विकल्प। उदाहरण के लिए केइल का uVision 5 है - लेकिन यह वास्तव में भयानक आईडीई है - इसमें अधिकांश विशेषताओं का अभाव है जिनकी आईडीई को पेशकश करना चाहिए (अपवर्जन, क्लिक-एंड-सर्च, उचित त्रुटि जांच, संदर्भ ढूंढना और कई, बहुत अधिक)। इसलिए, सभी में, ग्रहण STM32 के लिए IDE के लिए एकमात्र उचित विकल्प है।


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