एआरएम माइक्रोकंट्रोलर पर प्रोग्रामिंग शुरू करने का सबसे सस्ता (आसान) तरीका [बंद]


18

मैं एआरएम प्रोसेसर का उपयोग करना शुरू करना चाहता हूं, पीआईसी से पलायन करना जो मैं बहुत लंबे समय से उपयोग कर रहा हूं। 8 बिट मॉडल $ 1 के तहत उपलब्ध थे, प्रोग्रामर $ 10 से कम के लिए, और मुझे शुरू करने की आसानी और कम लागत से खराब हो गई है। लेकिन यह देखते हुए कि उनकी शक्ति समान कीमत पर कुछ एआरएम चिप्स द्वारा बौनी है, और बंद-स्रोत सॉफ़्टवेयर से तंग आकर, मैं स्विच बनाना चाहता हूं।

मैं इसके बजाय किसी भी विकास बोर्डों को प्राप्त करने से बचना चाहूंगा, और इसके बजाय एक सस्ते जेनेरिक ब्रेक-आउट पीसीबी ($ 1) के साथ सीधे इसमें मिल जाऊंगा, और एक ब्रेडबोर्ड पर जो भी बाहरी घटकों को प्राप्त करने के लिए आवश्यक है, का उपयोग करके।

इस तरह से एआरएम चिप्स प्रोग्रामिंग के लिए मेरे विकल्प क्या हैं? क्या PICKit2 जैसे प्रोग्रामर हैं जो एक पीसी से कनेक्ट करने के लिए USB का उपयोग करते हैं, चिप के साथ एक साधारण सीरियल कनेक्शन (जैसे ICSP) के माध्यम से प्रोग्रामिंग करते हैं? अलग-अलग एआरएम कॉलोनियों, एआरएम संस्करणों और व्यक्तिगत चिप्स के लिए सेटअप में कितना अंतर है? (अनुसूचित जनजाति, Atmel ...) जैसे प्रत्येक निर्माता को अपने स्वयं के कंपाइलर, प्रोग्रामर, आईडीई आदि की आवश्यकता होती है? या सभी के लिए सामान्य उपकरण हैं?

संपादित करें: ठीक है, इसलिए अधिक शोध के बाद, मेरा मानना ​​है कि मैं अपेक्षाकृत सस्ते समाधान के साथ आया हूं, एक stm32 देव बोर्ड को DAPLINK फर्मवेयर के साथ फ्लैश किया जा सकता है, लेकिन मुझे विश्वास नहीं है कि आधिकारिक गितुब फर्मवेयर मूल रूप से काम करेगा (यह सब तब तक अटकलें हैं जब तक कि मैं नहीं करूंगा। मेल में मेरे stm32 देव बोर्ड मिल)। लेकिन मैंने पाया कि रीडबियर mk20 के साथ शामिल daplink_usb बोर्ड एक stm32 चिप चल रहा है, उन्होंने फर्मवेयर जारी किया है, जिसे 8mhz क्रिस्टल के साथ संगत बनाने के लिए एक पंक्ति को बदलने की आवश्यकता है (नीचे लिंक किए गए फोरम पोस्ट में विस्तृत)। अन्यथा एक 16 मेगाहर्ट्ज के साथ क्रिस्टल को बदल दें। एक बार जब मैंने अपने देव किट के आने की पुष्टि कर ली है, तो बीमार अपडेट।

GITHUB REPO

अच्छा फोरम संसाधन यहाँ

Redbear Github कांटा


4
यह महसूस करना अच्छा है कि $ 5 आपको रास्पबेरी पाई जीरो मिलता है, जो कि पूरी तरह से सामान्य (और!) जीसीसी द्वारा समर्थित है। और यदि आप केवल इस झटके पर पहुंच गए कि एआरएम माइक्रोकंट्रोलर कितनी तेजी से हैं, तो आरपीआई आपको फिर से चौंका देगा। मुख्य समस्या आईएमओ है कि कोई भी एआरएम निर्माता आरपीआई के नीचे के संदेश को नहीं समझता है। अब आप ARM माइक्रोकंट्रोलर्स पर ज्यादा कमाने वाले नहीं हैं, लेकिन रेडी-टू-यूज़ CPU मॉड्यूल्स की आपूर्ति करके बहुत कुछ किया जा सकता है।
MSalters

4
कभी-कभी एक एम्बेडेड एप्लिकेशन में रेडी-टू-यूज़ सीपीयू मॉड्यूल का उपयोग करना ओवरकिल होता है।
बेंस कौलिक्स

3
@MSalters, RPI भारी है ... मुझे इसके साथ आने वाले एक्स्ट्रा की जरूरत नहीं है। मुझे तेजी से वास्तविक समय प्रसंस्करण के लिए बहुत कॉम्पैक्ट जगह में नंगे-हड्डियों के सामान की आवश्यकता होती है। इसके अलावा, आरपीआई एक बहुत अधिक बिजली खपत करता है जो स्वीकार्य होगा।
CL22

3
ज़रूर, लेकिन अधिकांश देव बोर्ड इस तरह से होंगे। लेकिन MCU विकास के बारे में एक बड़ी बात यह है कि हार्डवेयर और सॉफ्टवेयर विकास को एक बिंदु तक अलग किया जा सकता है।
इग्नासियो वाज़क्वेज़-अब्राम्स

2
कम लागत वाले देव बोर्ड प्राप्त करने पर विचार करें जो एक एकीकृत यूएसबी-एसडीडी पुल के साथ आता है। यह आपको डीबग सुविधाओं के साथ-साथ कोड डाउनलोड करने की सुविधा प्रदान करेगा। जब यह आपको सूट करता है तो आप SWD एक्सेस को किसी अन्य लक्ष्य से अलग कर सकते हैं।
सीन होउलहेन

जवाबों:


14

Stm32F0 और stm32L0 लाइन में डिस्कवरी बोर्ड $ 10 चल रहे हैं, और केइल इस लाइन के लिए शून्य फ़ंक्शन पर एक पूर्ण फ़ंक्शन IDE प्रदान करेगा।

केइल फ्री प्रो एमडीके इंस्ट्रक्शंस यहां हैं

साथ ही, ARM में PIC से Cortex M3 की ओर पलायन पर एक सफेद चादर है जो आपको मददगार लग सकती है


7
+1 लेकिन यह भी ध्यान देने योग्य है कि डिस्कवरी बोर्डों के अधिकांश (सभी) में एक अंतर्निहित STLINK होता है जिसका उपयोग जम्पर्स को कॉन्फ़िगर करके स्टैंडअलोन उपकरणों को प्रोग्राम करने के लिए भी किया जा सकता है।
रोजर रोलैंड

@RogerRowland - महान बिंदु। मैंने पहले अपने स्वयं के बोर्ड के लिए बोर्ड प्रोग्रामर का उपयोग किया है। सामान्य तौर पर डिस्कवरी एक बेहतरीन लाइन है। काश उनके पास बढ़ते छेद होते!
स्कॉट सीडमैन

क्या आप न्यूक्लियो या डिस्कवरी की सिफारिश करेंगे? वे एक ही कीमत के लगते हैं और दोनों में ST-LINK की सुविधा होती है।
डेविड

@ डेविड, नाभिक का उपयोग नहीं किया है, लेकिन मैं कह सकता हूं कि खोजों ने मुझे अच्छी सेवा दी है। उस मूल्य बिंदु पर, प्रत्येक में से एक प्राप्त करें (हालांकि मैं दो खोजों के साथ जाऊंगा!)
स्कॉट सीडमैन

डेव जोन्स ने हाल ही में एक ARME कम बिजली MCU के लिए एक देव बोर्ड के बारे में एक EEVblog वीडियो बनाया । शायद प्रासंगिक है।
लोरेंजो डोनाटी मोनिका

7

सबसे आसान तरीका- शैल आउट> $ 10K USD एक पूर्ण-कार्य वाले Keil प्रो संकलक के लिए, उनके JLINK डीबगर (एक और $ 1K शायद- कुछ सीमाओं के साथ सस्ते होते हैं) खरीदें। IAR एक और महंगी संभावना है (उदाहरण STM32F7 कोर्टेक्स M7 प्रोसेसर के लिए प्रदान किए जाते हैं जो 30-दिन के IAR स्टॉक पर काम करते हैं)

सबसे सस्ता तरीका- JLINK डीबगर प्लगइन्स के साथ (मुफ्त) GCC-ARM + ग्रहण टूलचैन डाउनलोड और इंस्टॉल करें। $ 20 या तो के लिए एक JLINK क्लोन प्राप्त करें, जो मुझे लगता है कि ठीक काम करेगा- डिबगिंग के लिए अभी तक परीक्षण नहीं किया गया है।

नेट पर उत्तरार्द्ध के लिए विस्तृत निर्देश हैं, हालांकि वे कुछ धारणाएं बनाते हैं। एक दिन या उससे अधिक खर्च करने की अपेक्षा करें, विशेषकर विंडोज के तहत। बिना किसी काम के अन्य आईडीई के लिए प्रदान किए गए कई उदाहरणों का उपयोग करने में सक्षम होने की उम्मीद न करें। प्रभावशाली रूप से, मुफ्त टूलचैन 'पैक' ('प्रयोगात्मक' अभी) का उपयोग कर सकते हैं।

राउली क्रॉसवर्ड (जैसे कि जीसीसी का उपयोग करता है, मुझे विश्वास है) जैसे अन्य सिस्टम हैं जो आर्थिक रूप से कम दर्दनाक हैं। Atmel स्टूडियो एक और है, लेकिन मुझे इसके बारे में मेरे बहुत अनुभवी फ़र्मवेयर डेवलपर से कड़वी शिकायतें हैं (केवल संक्षेप में इसके साथ ही खेला है)।

यदि आपकी कोड की जरूरतें 32K से कम हैं, तो आप उसी केइल प्रणाली का उपयोग मुफ्त (कोड सीमित संस्करण) के लिए कर सकते हैं, लेकिन ध्यान रखें कि अपग्रेड पथ आसान है, बल्कि महंगा है। उदाहरण के लिए, यह SAME70 के लिए सरल ईथरनेट उदाहरणों को संकलित नहीं करेगा। यदि आप लो-एंड ARMs के साथ PIC या AVR की जगह ले रहे हैं तो ठीक है, लेकिन अगर आप ARM जा रहे हैं तो इतना बढ़िया नहीं है क्योंकि आपको वास्तव में LCD डिस्प्ले से बात करने और जटिल संचार प्रोटोकॉल चलाने की आवश्यकता है (संभवतः पूर्व-संकलित मॉड्यूल को प्रभावित किए बिना शामिल किया जा सकता है 32K सीमा, मैंने उस विशेष कोण की जांच नहीं की है)।


7

यहाँ मेरा उपयोग है:

  • STM32F103 "न्यूनतम सिस्टम बोर्ड" (उदाहरण के लिए यहां देखें , कॉर्टेक्स-एम 3 कोर ), किसी भी बाहरी घटकों के बिना 3.3V या यूएसबी पावर पर चलता है, क्लोन यूएस $ 3 प्रत्येक के लिए आते हैं। यह "सस्ते जेनरिक ब्रेक-आउट पीसीबी के साथ सीधे और ब्रेडबोर्ड पर" प्राप्त करने के आपके अनुरोध को अच्छी तरह से फिट करता है।
  • ST-Link V2 USB प्रोग्रामर क्लोन ( यह एक जैसा दिखता है ), यूएस $ 2 से शुरू होता है और ऑन-चिप डीबगिंग अस्वेल का समर्थन करता है।
  • EmBitz (पूर्व एम :: ब्लॉक) के रूप में आईडीई के साथ जीसीसी टूलकिन, यूएस $ 0
  • STM के CubeMX को नई परियोजनाओं के साथ शुरू करने में मदद करने के लिए, US $ 0

5

सबसे आसान शुरुआत शायद तीसरे पक्ष के क्लोन बोर्डों में से एक है। एसटी से यादृच्छिक उदाहरण । इसके लिए 'SWD' प्रोटोकॉल का उपयोग करके प्रोग्रामर की आवश्यकता होती है। ST 'ST-LINK' ब्रांडेड बनाए, मुझे यकीन नहीं है कि आपको ST उपकरणों के साथ ST-LINK का उपयोग करना है या यदि यह वास्तव में सामान्य है।

SWD और JTAG का कुछ संयोजन ARM सिस्टम पर ICSP की भूमिका निभाता है, जो आपको प्रोग्रामिंग और डीबग क्षमता प्रदान करता है।

सॉफ्टवेयर-वार, आमतौर पर अधिकांश चिप्स पर जीसीसी और ओपनओसीडी के साथ काम करना संभव है। विवरण प्रत्येक डिवाइस के लिए थोड़ा अलग है। पेशेवर अक्सर केइल टूलकिन का उपयोग करते हैं, जो काफी महंगा है।

कुछ डिवाइस (जैसे किनेटिस श्रृंखला) में यूएसबी बूटलोडर्स होते हैं: डिवाइस एक मास स्टोरेज डिवाइस के रूप में प्रकट होता है, आप उस पर एक बिन फ़ाइल डाउनलोड करते हैं और एक बटन दबाते हैं। सबसे आसान संभव समाधान, कोई प्रोग्रामर की आवश्यकता नहीं है। Atmel AT91 में एक USB बूटलोडर है जो SAM-BA नामक एक मालिकाना प्रोटोकॉल के साथ काम करता है।


सेंट डिस्कवरी और न्यूक्लिओ बोर्ड में उन पर स्टिंकल होता है और स्टैंडअलोन स्टिंकल डोंगल की तुलना में 30% कम खर्च होता है। साथ ही आपको खेलने के लिए कम से कम एक एमसीयू मिलता है। स्टिंकल प्राप्त करना अभी भी अच्छा है और आप इसे ओपनकाड के साथ स्वैड के माध्यम से अन्य सेंट या नॉन-सेंट कॉर्टेक्स-एम चिप्स से कनेक्ट करने के लिए उपयोग कर सकते हैं।
ओल्ड_टाइमर

1
दिलचस्प केनेटिसिस चिप मैंने कोशिश की, मैंने कैंट उपयोग (अभी तक) नहीं किया है क्योंकि इसमें कोई बूटलोडर नहीं है केवल swd है और एक स्टिंक का उपयोग करके कनेक्ट नहीं होगा, एक सेमी-डैप माना जाता है। इसी तरह samd21 अब बूटलोडर नहीं रखता है, आप एक जोड़ सकते हैं लेकिन यह अनिवार्य रूप से एप्लिकेशन फ्लैश स्पेस में है और गलती से मिटाने के लिए काफी तुच्छ है। stm32s में अभी भी एक बूटलोडर है जैसा कि nxp है, शायद वह भी दूर जा रहा है ...
old_timer

3

आईडीई के मोर्चे पर, सिलिकॉन लैब्स सादगी स्टूडियो प्रदान करता है , जो ग्रहण पर आधारित है । यह जीसीसी के साथ मानक के रूप में आता है।

उन सभी स्टार्टर किटों के लिए अंतर्निहित समर्थन है, जो अपेक्षाकृत दर्द रहित शुरू हो रहे हैं।

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

Atmel में उनका स्टूडियो है जो Visual Studio IDE पर आधारित है और किसी भी Atmel डीबगर्स से कनेक्ट हो सकता है। यह भी जीसीसी के साथ जहाज।

दोनों विक्रेताओं के पास अपने उपकरणों को चलाने के लिए कई (बहुत सारे) उदाहरण हैं।

मैंने दोनों का उपयोग किया है और यद्यपि दस्तावेज सही नहीं है (यह कभी नहीं है), यह निश्चित रूप से मुझे अपेक्षाकृत दर्द रहित रूप से प्राप्त करने के लिए पर्याप्त था।

अनुसूचित जनजाति किट (और अन्य) से कई कर रहे हैं Mbed सक्षम होना चाहिए।


2

सरू PSIP-4200-आधारित (ARM Cortex M0) ब्रेकआउट बोर्ड को DIP-40 फॉर्म फैक्टर के साथ बनाता है जिसमें ब्रेक-ऑफ भाग में USB- आधारित प्रोग्रामिंग अडैप्टर शामिल होता है। ब्रेकआउट बोर्ड और संलग्न (वियोज्य) प्रोग्रामिंग एडेप्टर के लिए डिजी-की से $ 3.99 की कीमत है।


1

मैं CooCox की सिफारिश करूंगा - यह समान जीसीसी + ग्रहण संयोजन है, लेकिन टूलकिन को मैन्युअल रूप से कॉन्फ़िगर करने की आवश्यकता नहीं है, बस इसे स्थापित करें और कोडिंग शुरू करें।


अच्छा लग रहा है, मुझे लगता है कि Atmel समर्थित नहीं है। क्या एसटी एम 7 कोर समर्थित है?
Spehro Pefhany

लगता है Atmel समर्थित नहीं है, घटकों में STM32F7 श्रृंखला के लिए कुछ पुस्तकालय हैं। कहना है कि CoIDE का भविष्य स्पष्ट नहीं है - वेब साइट गड़बड़ है, अपडेट अब दुर्लभ हैं, लेकिन एआरएम प्रोग्रामिंग (विशेष रूप से एसटीएम 32 के साथ) शुरू करने के लिए अभी भी बहुत अच्छा विकल्प है।
फ्लेंकर

1

मेरे विचार में TI, NXP (NXP + Freescale से मिलकर) और ST कोर्टेक्स एम दुनिया में प्रमुख भूमिका निभा रहे हैं, विशेष रूप से ST और NXP नए लोगों के लिए वास्तव में प्रतिस्पर्धी उपकरण प्रदान करते हैं, एक और महत्वपूर्ण पैरामीटर खुले समुदाय में लोकप्रियता है जो राशि का कारण बनता है ट्यूटोरियल, लाइब्रेरी, डिवाइस ड्राइवर, टूल और आदि।

फिर :

  1. ऑनलाइन संकलक + एक mbed बोर्ड
  2. एक STM32 डिस्कवरी बोर्ड (STM32F407discovery की तरह) + में बनाया गया, जो एस-लिंक डीबगर + एसपीएल या एचएएल (एसटीएम क्यूबीई) फ्रेमवर्क + फ्री लाइसेंस कील आईडीई है।
  3. एक LPC डिस्कवरी बोर्ड + LPC- लिंक 2 डिबगर + LPCOPEN फ्रेमवर्क + LPCXPRESSO मुक्त लाइसेंस IDE।

नंबर 2 और 3 शौक से ऊपरी स्तर के लिए बेहतर विकल्प हैं। IAR, Keil या यहां तक ​​कि LPCXPRESSO जैसे पेशेवर उपकरणों के मुफ्त लाइसेंस का उपयोग करने के साथ याद रखें कि पेशेवर क्षेत्र में जाने के दौरान आपको कम दर्द होता है।


1
ARM के mcu लाइब्रेरी और टूलचैन हैं mbed- देखें [ developer.mbed.org] [developer.mbed.org]
सीन होउलहेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.