एआरएम कॉर्टेक्स-एम 3 श्रृंखला पर लिनक्स


29

मैं एआरएम के लिए नया हूं और सभी अलग-अलग श्रृंखलाओं के साथ थोड़ा भ्रमित हूं।

मुझे कम पावर गेटवे (ईथरनेट, वाईफाई ...) बनाने की जरूरत है , इसलिए मुझे लगता है कि कोर्टेक्स-एम या कोर्टेक्स-आर अच्छा शुरुआती बिंदु होगा। लेकिन यह किसी भी देव बोर्ड के साथ एक कोर्टेक्स-एम 3 (जो कि काफी लोकप्रिय प्रतीत होता है) को लिनक्स का समर्थन करता है।

ऐसा लगता है कि linuxM3 संभव है , इसलिए मुझे आश्चर्य है कि उदाहरण के लिए एक mbed या LPCXpresso के आसपास कोई linux प्रोजेक्ट क्यों नहीं है ?

क्या कोई मुझे देव बोर्ड की ओर इशारा कर सकता है, या मुझे समझा सकता है कि "कोर्टेक्स एम" + लाइनक्स अधिक उत्तरों के साथ क्यों नहीं आता है?


NXP के पास अन्य प्रोसेसर के लिए कुछ लिनक्स समर्थन है जो उस विशिष्ट के बारे में निश्चित नहीं है।
केनी

2
कितनी कम शक्ति की आवश्यकता है? मैं Freescale iMX283 पर आधारित 1/2 वाट का पूर्ण लिनक्स सिस्टम बनाने में कामयाब रहा। सामान्य लोड डब्ल्यू / नो ईथरनेट के दौरान 1 / 2W, ईथरनेट के साथ 1W, <1.5W ईथरनेट पूरे लोड के साथ ... ईथरनेट PHY सामान्य लोड पर सिस्टम पावर का आधा है।
डे्रॉन

जवाबों:


18

एआरएम कोर्टेक्स-एम 3 के बारे में:

लिनक्स के लिए MMU (मेमोरी मैनेजमेंट यूनिट) की आवश्यकता होती है। एआरएम कोर्टेक्स-एम 3 में एक नहीं है। एआरएम कोर्टेक्स-एम 3 पर मेनलाइन लिनक्स कर्नेल को चलाना असंभव है।

हालाँकि, MMUless प्रोसेसर के लिए लिनक्स कर्नेल का एक प्रकार है जिसे uCLinux कहा जाता है ।

M3 गाइड पर लिनक्स

UCLinux पर ST का एप्लिकेशन नोट

हालांकि, जैसा कि अन्य ने नोट किया है, लिनक्स M3 पर व्यावहारिक होने की संभावना नहीं है। यह बाहरी रैम के बिना नहीं चलेगा। मेरा मानना ​​है कि यहां तक ​​कि सबसे बड़े कोर्टेक्स-एम 3 भागों में केवल 1 एमबी फ्लैश है, इसलिए आपको अतिरिक्त भंडारण की भी आवश्यकता होगी।


12

कोर्टेक्स-एम नौकरी तक नहीं है, आपको ARM926EJ-S की आवश्यकता है

"कॉर्टेक्स-एम + लिनक्स" की खोज बहुत सारे उत्तरों के साथ नहीं होती है क्योंकि कॉर्टेक्स-एम लिनक्स के लिए डिज़ाइन नहीं किया गया है। कम से कम शक्तिशाली एआरएम को आमतौर पर लिनक्स जैसे पूर्ण ओएस को चलाने में सक्षम माना जाता है, एआरएम 926 ईजे-एस श्रृंखला है , जो एआरएम 5 आर्किटेक्चर का उपयोग करता है। यह एक क्लासिक प्रोसेसर है, जिसमें व्यापक रूप से गोद लिया गया है (यह कई एनएएस बॉक्स, पुराने स्मार्टफोन और चुम्बी क्लासिक) और बहुत सारे समर्थन में पाया जाता है, लेकिन यह इसके उत्तराधिकारियों की तुलना में थोड़ा कम कुशल है। इसमें ARMv5 आर्किटेक्चर है, और कुछ सौ मेगाहर्ट्ज पर चलता है।

यह वही है जो आप वास्तव में चाहते हैं, लेकिन आपके पास यह नहीं हो सकता है

प्रोसेसर जो आप वास्तव में चाहते हैं, मुझे लगता है, कॉर्टेक्स-ए 5 है: एआरएम 11 को बदलने के लिए डिज़ाइन किया गया (और बस थोड़ा अधिक शक्तिशाली है), लेकिन बहुत अधिक शक्ति कुशल और अधिक आधुनिक प्रक्रिया पर। (नोट: एप्पल के ए 5 से कोई लेना देना नहीं है, यह एक विशेष कोर्टेक्स-ए 9 है) यह 2009 में घोषित किया गया था, और हम "अब किसी भी दिन" सिलिकॉन देखने का इंतजार कर रहे हैं। इस प्रोसेसर के लिए किसी ने अभी तक एक सामान्य-उद्देश्य वाले SoC का उत्पादन नहीं किया है, क्योंकि स्मार्टफ़ोन बाज़ार और बाज़ार को अधिक शक्तिशाली A9 और पुराने ARM11 के बीच बस मजबूर करते हैं। अधिक जानकारी के लिए इस चर्चा को देखें: http://forum.beyond3d.com/archive/index.php/t-60101.html

अधिक शक्तिशाली विकल्प

ARM11 में ARMv6 थोड़ा और अधिक कुशल है, लेकिन यह भी अधिक शक्तिशाली है (इसलिए आप अपने बिजली बजट में कोई बचत नहीं देख सकते हैं)। यह iPhone 3 जी, साथ ही साथ iPod टच, जलाने और Zune जैसे पुराने स्मार्टफोन को कम शक्ति देता है और 500-800 MHz पर चलता है। नवीनतम वास्तुकला, ARMv7, कॉर्टेक्स श्रृंखला है। Cortex-A8 और -A9 800MHz - 1.2GHz पर नवीनतम स्मार्टफोन और टैबलेट्स को पॉवर दे रहे हैं, यदि आप एक न्यूनतम डिज़ाइन के लिए लक्ष्य बना रहे हैं, तो आप छोटे, धीमे प्रोसेसर के साथ चिपकना चाहेंगे। इन प्रोसेसरों का प्रदर्शन-प्रति-वाट संख्या शानदार है, लेकिन यह केवल ARMv5 भागों का उपयोग करने के लिए सुरक्षित (और निश्चित रूप से कम जटिल होगा) हो सकता है।


2
नोट: Cortex-A5 अब शिपिंग है, और Atmel उनके संस्करण के लिए लिनक्स समर्थन प्रदान करने का दावा करता है: atmel.com/Microsite/sama5d3/…
pjc50

10

कृपया कुछ Cortex-M3 प्लेटफार्मों के लिए इस साइट की जाँच करें जो लिनक्स (uClinux) का समर्थन करते हैं:

http://www.emcraft.com/

हम निम्नलिखित कॉर्टेक्स-एम 3 एमसीयू पर सफलतापूर्वक यूक्लिनक्स चलाते हैं: एनएक्सपी के एलपीसी 1788, एसटीएमआरओ का एसटीएम 32 एफ 2, एक्टल का स्मार्टफ्यूजन, और एक जोड़े के लिए अधिक समर्थन जोड़ने की प्रक्रिया में हैं। फ्रास्सेले किनेटिस, एसटीएम 32 एफ 4 (ये दोनों कॉर्टेक्स-एम 4 के बजाय कोर्टेक्स-एम 4 हैं। ।

सही, लिनक्स (uClinux शामिल) को चलाने के लिए बाहरी रैम की आवश्यकता होती है - कॉर्टेक्स-एम का एकीकृत SRAM अल्ट्रा-छोटे लिनक्स कॉन्फ़िगरेशन के लिए भी लगभग पर्याप्त नहीं है; व्यावहारिक कॉन्फ़िगरेशन के लिए आपको कम से कम 4MB बाहरी RAM की आवश्यकता होती है। अधिक बेहतर, वास्तव में - यदि आपको एप्लिकेशन "सुविधाओं" की आवश्यकता है, तो लिनक्स में किसी भी चीज के लिए समर्थन है और आपको खेद नहीं होगा कि आपने कम के बजाय अधिक रैम जोड़ी है।

बाहरी रैम के लिए उपयोग करने के लिए विशेष उपकरणों के संबंध में, यह सभी एक विशेष एमसीयू द्वारा प्रदान की गई बाहरी मेमोरी इंटरफेस द्वारा परिभाषित किया गया है। STM32F और स्मार्टफ्यूजन केवल SRAM का समर्थन करते हैं; आप $ 6-7 के लिए 16MB 70ns PSRAM (तेज ऑपरेशन के लिए एक पेज मोड के साथ) प्राप्त करने में सक्षम होंगे; LPC1788 समर्थन तेजी से SDRAM यादें; काइनेटिस K70 DDR2 (64MB डिवाइस के लिए $ 5) का समर्थन करता है, आदि। वे सभी यादें स्थैतिक समय पर सिर्फ यूए स्तर पर शक्ति खींचती हैं।

आपको बूट करने योग्य लिनक्स को लोड करने के लिए कुछ चाहिए, लेकिन यह किसी भी चीज के बारे में हो सकता है - नेटवर्क, एसडीकार्ड, एसपीआई ईप्रॉम, एनआर या नंद फ्लैश, आदि।

कुल मिलाकर, मैं हिम्मत करता हूं कि लिनक्स कॉर्टेक्स-एम 3 डिज़ाइन के लिए पूरी तरह से व्यावहारिक विकल्प है।

अद्यतन करें

बहुत सारे पावर-सेंसिटिव एप्लिकेशन हैं, जहां आपका डिवाइस ज्यादातर समय बेकार रहता है, हालांकि, रनिंग करते समय, इसे कई ऐसे काम करने में सक्षम होने की जरूरत होती है, जो कि छोटे आरटीओएस का उपयोग करके हासिल करना आसान नहीं होता है। सुरक्षित कनेक्शन, वीएलएएन, टीसीपी / आईपी टनलिंग, एसएनएमपी, एसडी कार्ड, यूएसबी डिवाइस / होस्ट, वाईएफआई, इत्यादि और आवश्यकताओं की सूची आगे बढ़ती है।

छोटे आरटीओएस के साथ उन विशेषताओं में से कुछ उपलब्ध होंगे, कुछ नहीं, हालांकि यह कहानी का केवल एक हिस्सा है। हम अपने ग्राहकों के साथ जो देख रहे हैं, वह यह है कि कॉर्टेक्स-एम 3 का उपयोग करके एम्बेडेड डिजाइनों को उन उन्नत सुविधाओं में से केवल 1 या 2 की आवश्यकता नहीं है, उन्हें एक डिवाइस से उनमें से कई की आवश्यकता है। यहां तक ​​कि अगर एक आरटीओएस सभी सुविधाओं को एक डिजाइन की जरूरत है, ऑफ-द-शेल्फ की जरूरत है, तो यह सभी को ऑन-द-चिप मेमोरी में चुनौती देता है। uClinux या नहीं, मेरा अनुमान है कि प्रवृत्ति यह है कि अधिक से अधिक कोर्टेक्स-एम-आधारित डिज़ाइन बाहरी मेमोरी का उपयोग करेंगे। बेशक, एक बार जब आप अपने डिजाइन में बाहरी रैम प्राप्त करते हैं, तो यूक्लिनक्स अधिक समझ में आने लगता है।

कॉर्टेक्स-एम द्वारा प्रदान की गई कम प्रसंस्करण शक्ति के बारे में (जैसा कि लिनक्स कर्नेल की आवश्यकताओं के खिलाफ मापा जाता है), हाल ही के अनुभव के रूप में, हमने फ्रिस्केल के 70 एमसीयू पर सिर्फ यूक्लिनक्स को सक्षम किया है। यह एक Cortex-M4 (जो Cortex-M3 प्लस हार्डवेयर FP और DSP इकाइयों के समान है); उच्च घनत्व रैम (DDR2) और फ्लैश (NAND) पर चिप इंटरफेस, 2x8KB ऑन-चिप कैश के साथ। 120Mhz Cortex-M कोर, 150Mhz भागों के साथ जल्द ही बाहर आ रहा है।

लिनक्स (uClinux) इस डिवाइस पर सिर्फ सुंदर रूप से चलता है। 'Dhrystone' का उपयोग करते हुए, हम लगभग 50% प्रदर्शन प्राप्त करते हैं जो हमें 250Mhz फ्रीस्केल पावरपीसी बॉक्स पर मिलता है। फास्ट बूट-अप, बहुत सारे RAM (TWR-K70 मॉड्यूल 128MB RAM और 256MB NAND फ़्लैश) प्रदान करता है, नेटवर्किंग, JFFS2, फ्रेमबफ़र, SSH, HTTPD, Qt / E - यह सब K70 पर ठीक चलता है। समग्र उपयोगकर्ता अनुभव MMU- पूर्ण माइक्रोप्रोसेसर पर आपका नियमित "एम्बेडेड लिनक्स" है।

यहाँ Freescale Kinetis K70 Cortex-M4 MCU पर चल रहे लाइव uClinux सत्र के वीडियो के लिए एक संकेत दिया गया है:

http://www.youtube.com/watch?v=UZjJrLG9CeA


5

बाह्य मेमोरी (रैम और फ्लैश दोनों) के लिए किसी प्रकार के समर्थन के बिना यह असंभव है कि आप संसाधनों में निर्मित उल्लेखित उपकरणों पर सबसे छोटे लिनक्स वितरण (कहते हैं, यूक्लिनक्स) को भी फिट कर सकते हैं।

इसका मतलब यह है कि अतिरिक्त चिप्स को हुक करने के लिए एक 32-बिट बस को उजागर किया जाता है। यही कारण है कि लिनक्स को चलाने के लिए उपयोग किए जाने वाले मेगाबाइट्स-रेंज में अतिरिक्त रैम और फ्लैश चिप्स के साथ लिनक्स एकल-बोर्ड-कंप्यूटर (एसबीसी) देखना अधिक आम है। आपके द्वारा सूचीबद्ध माइक्रोकंट्रोलर इसकी पेशकश नहीं करते हैं। जिस तरह से मैं इसे देखता हूं, कॉर्टेक्स-एम0 / एम 3 उन अनुप्रयोगों के लिए अधिक होता है जहां 8-बिट माइक्रो (या मुश्किल से) पर्याप्त नहीं होगा - इस प्रकार आपके लिए आवश्यक सभी संसाधन चिप में निर्मित होते हैं।

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


3

Stm32 पर MMU नहीं है इसलिए आपको ucLinux का उपयोग करना होगा।

UcLinux के लिए एक त्वरित Google आपको सही दिशा में भेज देगा। https://www.google.com/search?q=stm32+uclinux

लेकिन दूसरी ओर, लिनक्स वास्तव में इस तरह के छोटे mcu पर उपयोगी नहीं है और अधिकांश समय आपको इसे चलाने के लिए बाहरी रैम और एसडी-कार्ड की आवश्यकता होती है। और फिर pricetag Rasperry PI जैसी परियोजनाओं पर काम कर रहा है, इसलिए आपको यह सोचने की ज़रूरत है कि आपकी ज़रूरतें क्या हैं।

शायद एक और छोटा ओएस एक बेहतर विकल्प है? यहाँ तक कि आप हर जगह लिनक्स होना अच्छा है ...


3

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

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

इस साल एम्बेडेड वर्ल्ड एग्जीबिशन पर पेंगुट्रोनिक्स ने एक प्रोटेक्टिंग-बोर्ड पर दिखाया, जिसमें एन्टीमेक्स-एम 3 पर एक्सक्लूसिव रैम और एक्सटर्नल रैम के साथ यूसीलिनक्स चल रहा था और निष्क्रिय मोड में 1.6mW का पॉवरकोन्सुमिशन था। एनर्जी माइक्रो के पास अपने पोर्टफोलियो में कुछ अविश्वसनीय कम पावर कोर्टेक्स-एम 3 और एम 4 एमसीयू हैं जो विशेष रूप से कम बिजली अनुप्रयोगों के लिए अनुकूलित हैं जो रैम से कोड निष्पादित करते समय 32MHz पर चलने पर पावर की 16xW की आवश्यकता होती है। यह विभिन्न प्रकार के बैटरी संचालित उपकरणों पर लिनक्स को सक्षम कर सकता है जहां बड़े और तेज प्रोसेसर सिर्फ आपके ऊर्जा बजट में फिट नहीं होते हैं। दूसरी ओर आप इन से बहुत अधिक प्रसंस्करण शक्ति प्राप्त नहीं करेंगे ...

मूल रूप से यदि आप बैटरी के साथ रह रहे हैं और आपको बहुत अधिक प्रोसेसिंग पावर की आवश्यकता नहीं है, तो यह आपके लिए एक समाधान हो सकता है, यदि आप MMU के साथ एक बड़े ARM कोर का विकल्प नहीं चुन सकते।


2

मेरा मानना ​​है कि एक युगल कॉर्टेक्स-एम 3 विक्रेता हैं जो अपने उत्पाद-प्रसाद पर चलने वाले लिनक्स ( यूसीक्लिनक्स ) के स्ट्रिप-डाउन फ्लेवर का उपयोग करने के बारे में आवेदन नोट प्रदान करते हैं। वास्तविक रूप से, मेरा मानना ​​है कि एसटी माइक्रो के पास कुछ प्रसाद था। मैं वर्तमान में एक एक्टेल / माइक्रोसेमी स्मार्टफ्यूजन (कोर्टेक्स-एम 3 + एफपीजीए फैब्रिक) के साथ काम कर रहा हूं , जिसमें एक पीडीएफ एप्लिकेशन नोट है जो एक इमक्राफ्ट की पेशकश की ओर इशारा करता है

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