2009-09-12 13 views
6

मैं उच्च अंत MSP430 शायद MSP430F5438 के लिए एक मूल ओएस और मूल फ़ाइल सिस्टम प्राप्त करने में सक्षम होना चाहता हूं। मुझे पता है कि मैं ओएस और फाइल सिस्टम के कुछ विकल्पों को नाम देने के लिए FreeRTOS, IAR PowerPac या Micrium जैसे कुछ के साथ जा सकता हूं। हालांकि मैं बाद में फ़ाइल सिस्टम के इस अतिरिक्त कोड को बंद करने के लिए थोड़ा सा ऐपलेट या धागे लोड करने की क्षमता प्राप्त करने में सक्षम होना चाहता हूं। मेरा लक्ष्य एम्बेडेड डिवाइस पर किसी फ़ंक्शन को बदलने या कार्यान्वित करने के लिए पूरे डिवाइस को रीफ्लैश करना नहीं है। यह सुनिश्चित नहीं है कि इस क्षमता को लागू करने के लिए कहां जाना है या यदि मुझे एआरएम जैसे किसी अन्य प्रोसेसर पर स्विच करने की आवश्यकता है।msp430 के लिए एम्बेडेड अनुप्रयोग लिख रहा है?

उत्तर

3

एमएसपी 430 एक महान नियंत्रक है, लेकिन यदि आप एक ओएस चलाने के लिए चाहते हैं, और फ्लैश करने के लिए उन्हें जलाने के बिना ऐप्स लोड करना चाहते हैं, तो आपको शायद एआरएम (कई एआरएम आधारित माइक्रोकंट्रोलर के साथ एक और महान मंच) पर स्विच करना चाहिए।

+0

msp430 पर पता स्थान 16 बिट है, जिसमें सभी रोम और रैम शामिल हैं। ऐसा नहीं है कि आप उस स्थान के भीतर एक ओएस और ऐप्स नहीं चला सकते हैं, लेकिन मुझे नहीं लगता कि आपको एक एमएसपी 430 मिलेगा, जब तक आप किसी भी fpga पर openmsp430 जैसे कुछ का उपयोग नहीं करते हैं और राम और रोम की मात्रा समायोजित करते हैं। –

+0

इस ऐप को लागत से प्रेरित किया जा रहा है, इसलिए मैं एक फ्लैश डिवाइस को टर्निंग कर रहा हूं। उसके बाद मैं फर्मवेयर और गतिशील भाग का एक स्थिर हिस्सा रखने में सक्षम होना चाहता हूं। मैं स्थिर भाग को छूए बिना गतिशील भाग के रिमोट रिफ्लैश करने में सक्षम होना चाहता हूं। अगर अपग्रेड खराब हो जाता है तो मैं स्थिर भाग खोना नहीं चाहता हूं। मैं बात कर रहा था कि मैं गतिशील भाग को स्वयं निहित स्थिति कोड के स्वतंत्र ब्लॉक के रूप में संकलित कर सकता हूं और फिर स्थिर भाग में हुक रख सकता हूं। बस यह सुनिश्चित न करें कि एमएसपी 430 इसे संभाल सकता है। एलोस फ्लैश आधारित एआरएम इसे संभाल सकता है? –

+0

फ्लैश के अन्य हिस्सों से चलते समय आप दोनों मामलों में फ्लैश के छोटे (सापेक्ष से संबंधित) हिस्से को मिटाने में सक्षम होना चाहिए। मैंने अभी तक एक msp430 बूटलोडर नहीं किया है, इसलिए मुझे चिप फ्लैशिंग सामान पर नहीं पता है, लेकिन फ्लैश के अन्य हिस्सों में फ्लैश से चलते समय कुछ एआरएम के साथ ऐसा किया है। –

2

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

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

और निश्चित रूप से, इनमें से कोई भी ऐपलेट बहुत बड़ा नहीं होने वाला है। आपका आरटीओएस कितना कमरा लेगा?

0

कुछ FRAM msp430 भागों हैं जो देखे जा सकते हैं। हालांकि, यह अभी भी बहुत मेमोरी नहीं है।

1

फ्लैश
एक msp430 आप को मिटा/पुनर्लेखन 512byte हिस्सा (उपयोगकर्ता फ़्लैश छोटे मात्रा संभाल कर सकते हैं) में जहाज पर फ्लैश कर सकते हैं पर।
तो आपका बूटलोडर/स्थिर-आरटीओएस इस "अनुप्रयोगों" के साथ चिप को पुन: प्रोग्राम कर सकता है।
इंटरप्ट को पुनर्निर्देशित करना थोड़ा मुश्किल है, लेकिन इसे "वास्तविक" वेक्टर तालिका से एक एप्लिकेशन वेक्टर तालिका में पुनर्निर्देशन कूद के साथ किया जा सकता है।

स्थिर कॉलिंग/RTOS
यह भी अनुप्रयोगों से स्थिर भाग के कार्यों कॉल करने के लिए, आप स्थिर भाग में प्रत्येक कार्य के लिए एक निश्चित कूद तालिका बना सकते हैं संभव है, इसलिए आवेदन जानता है कि कैसे समारोह कॉल करने के लिए , भले ही आप एक और स्थिर/आरटीओएस संस्करण बनाते हैं।

रैम
यदि आप केवल एक आवेदन की अनुमति देते हैं, तो यह आसान है।
आपको अपने स्थिर आरटीओएस के लिए कुछ रैम आरक्षित करना होगा, और शेष रैम एप्लिकेशन द्वारा उपयोग किया जा सकता है।

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

2

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

Contiki:

यहां कुछ वर्तमान में सक्रिय ओएस-एस का समर्थन msp430 हैं। प्रोटो-थ्रेड प्रदान करता है।

MansOS - एक यूनिक्स-जैसे ओएस जो msp430 उपकरणों के लिए थ्रेड और ओटीए का समर्थन करता है।

संबंधित मुद्दे