نگاهی کوتاه به الزامات انتخاب سیستم عامل Embedded مناسب

bestRTOS

در حال حاضر سیستم عامل های مختلفی برای استفاده در سیستم های Embedded و گجت ها توسعه پیدا کرده است. هر کدام از سیستم عامل های فوق با انگیزه خاصی ایجاد شده اند. کاربردهای تجاری، صنعتی، نظامی را میتوان سرفصل های اصلی مقوله مورد توجه عنوان کرد. سیستم عامل هایی نظیر ویندوز و لینوکس بدون تغییر به دلایل فنی به عنوان سیستم عامل Embedded  تقریبا غیر قابل استفاده هستند، به همین دلیل ضرورت وجود نسخه ای مناسب باعث طراحی، توسعه و ایجاد موارد جدیدی شد. نسخه های رایج ویندوز و لینوکس به دلیل نیاز به پردازنده های نسبتا قوی، حافظه RAM و Flash بالا، مصرف انرژی بهینه نشده برای سیستم های کوچک و همچنین وجود اجزا و قابلیت های غیر ضروری و بدون استفاده باعث ایجاد نسخه های بهینه شده ای از خود گشتند. نسخه هایی نظیر Windows CE، Windows XP Embedded و RT Linux را میتوان به عنوان نمونه هایی نام برد. تلاش های فوق نتوانست انتظارات توسعه دهندگان را پاسخگو باشد. سیستم های صنعتی، نظامی و تولیدات تجاری هر کدام نیازمندیها و ضرورت های خاص خود را دارا هستند. نمی توان انتظار داشت تلاش های فوق بتواند تمامی نیازمندیها را مورد پوشش قرار دهد.

هر حوزه ای با توجه به محدودیت ها و خصوصیات ویژه خود قابلیت های خاصی را طلب میکنند. به عنوان مثال در سیستم های نظامی قابلیت اعتماد به نرم افزار، عدم هنگ کردم سیستم و سرعت پاسخگویی از پارامترهای مورد توجه است. در سیستم های تجاری مصرف انرژی، امکان استفاده از پردازنده و حافظه RAM و Flash پایین جهت عرضه محصولات با قیمت پایین در تیراژهای مختلف از موارد مهم است. بنابراین لازم است با توجه به حوزه و کاربرد مورد نظر گزینه مناسب را انتخاب کرد.

مساله مهم دیگری که میتواند نقش تعیین کننده ای ایفا کند نوع پردازنده مورد نظر است. بعضی از سیستم عامل ها از خصوصیات خاص پردازنده ها استفاده می کنند و ممکن است نسخه ای جهت استفاده در خانواده ای دیگر ایجاد نشده باشد. بطور مثال میتوان از پردازنده های سری X86، ARM، PowerPC، AVR و PIC نام برد. در بین همین خانواده های پردازنده ذکر شده تفوت بسیاری در قابلیت های آن ها وجود دارد. به عنوان نمونه خانواده AVR دارای سری های مختلفی است که در قدرت پردازش، میزان حافظه داخلی، امکان پشتیبانی از حافظه خارجی و ماژول های داخلی دارای متفاوت هستند.

پارامتر مهم دیگری که در انتخاب موثر خواهد بود نوع لایسنس و میزان پشتیبانی از سیستم عامل مورد استفاده است. موارد Open Source ممکن است از مستندات و پشتیبانی خوبی برخوردار نباشند ولی با توجه به هزینه صفر خریداری آن برای شرکت های زیادی گزینه جذابی خواهد بود.

باید توجه داشت محیط توسعه نرم افزار روی سیستم عامل Embedded میتواند نقش بسزایی در به نتیجه رساندن پروژه و رسیدن به محصول نهایی باشد. فرض کنید Embedded OS انتخاب شده توسط شما توسط یک ابزاری غیر رایگان تولید شده باشد، در اینصورت شما نیاز به خرید نرم افزار مورد نیاز جهت توسعه کد خواهید بود. در مقابل باید توجه علیرغم پرداخت هزینه استفاده از یک محیط و IDE مناسب و قابل اعتماد با امکانات مناسبی میتواند به سرعت پیشرفت کار کمک کرده و مشکلات جانبی ایجاد ننماید. در صورتی که، استفاده از ابزارهای رایگان ممکن است باعث صرفه جویی مالب در ابتدای کار بشوند ولی در ادامه زمان Setup کردن محیط توسعه کد خود میتواند علاوه بر کاهش سرعت حرکت شما، مشکلات جانبی نیز ایجاد نماید.

در یک نگاه پارامترهای زیر را میتوان به عنوان عناصر و الزامات انتخاب گزینه نهایی نام برد :

– هزینه لایسنس
– امکان استفاده از محیط IDE مناسب
– مستندات کافی
– میزان پشتیبانی تیم توسعه دهنده
– Open Source بودن
– وجود نمونه کدهای کافی
– نیازمندیهای سخت افزاری نظیر
– CPU
– RAM
– Flash
– ماژول های جانبی پردازنده
– پشتیبانی از پردازنده و CPU مورد نظر
– سرعت یادگیری و میزان سادگی استفاده از Embedded OS
– بلادرنگ بودن و زمان پاسخگویی ذاتی به رویدادها ( میزان RealTime بودن )

لینک های مفید :

مروری بر بردهای Embedded مبتنی بر پردازنده ARM

نگاهی به زبان های برنامه نویسی مناسب بردهای ARM