شرکت مایکروسافت و ST اخیراً با همکاری یکدیگر پروژه Azure RTOS را شروع کردهاند. همکاری مایکروسافت با شرکت ST موجب میشود تا نرم افزارهای عملیاتی ماکروسافت به طور مؤثر بر روی میکروکنترلرهای STM32 اجرا شوند. همچنین هدف ST این است که به توسعه دهندگان اجازه دهد تا بتوانند از سیستم عاملها و بسیاری از میان افزارهای دیگر نیز به سرعت و سادگی بر روی میکروکنترلر استفاده کنند. بدیهی است STM32 به عنوان یک بستر باز برای همه RTOS ها باقی خواهد ماند. یعنی کاربرانی که مایل به استفاده از FreeRTOS ،Zephyr ،Mbed یا هر سیستم عامل امبدد دیگر هستند، باز هم قادر به انجام این کار هستند. با این حال، نتایج همکاری ST با مایکروسافت راه حلی برای ارائه مجموعهای جامع از ویژگیها فراهم میکند که به تیمها امکان میدهد تا به سرعت پروژههای صنعتی خود را پیاده سازی کنند.
STM32Cube چیست؟
شرکت ST نرم افزار STM32Cube را در سال 2014 معرفی کرد. این مجموعه شامل کتابخانههای نرم افزاری و ابزارهای توسعه است که برای توسعه دهندگان مانند یک جعبه ابزار کامل است و در تمام مراحل پروژه آنان را یاری میکند. نرم افزارها و بستههای نرم افزاری STM32Cube به صورت رایگان منتشر شدهاند و برای یک کسب و کار مناسب هستند. اکثر کتابخانهها متن باز بوده و توسعه دهندگان نه تنها روش پیاده سازی آنها را میبینند، بلکه میتوانند برای ساده سازی و کاهش هزینه در برنامههای خودشان هم، از آنها مجدداً استفاده کنند. ST در بلاگ خبری خود اغلب داستان شرکتهای موفقی را که از نرم افزار STM32Cube استفاده کردهاند را مینویسد. برای مثال محصول Connected X.0 شرکت Nytec Inc و یا Chris محصول شرکت German Autolabs دو تا از هزاران محصول پیچیده امبدد هستند که توسط STM32Cube به سادگی ساخته شدهاند.
همچنین بخوانید:
تجربه استفاده از Azure RTOS در STM32
Azure RTOS تنها سیستم عامل رایگان برای سیستمهای امبدد است که گواهینامههای بسیاری، هم برای ایمنی (IEC 61508 SIL 4, ISO 26262 ASIL D, IEC 62304 Medical Class C) و هم برای امنیت (EAL4 +، FIPS 140-2) ارائه میدهد. کاربرانی که میخواهند در بازارهای صنعت، خودرو یا پزشکی نفوذ کنند، میتوانند از این محصول مایکروسافت استفاده کنند تا از استانداردهای بی شمار بهرهمند شوند و تضمینهای بیشتری را به مشتریان خود ارائه دهند. همچنین دلیل دیگر همکاری شرکت ST با مایکروسافت این است که اطمینان حاصل کند سیستم عامل Azure RTOS از تمام ویژگیهای سخت افزاری، مثل هسته رمزنگار (crypto core) و… استفاده میکند. از این رو، پروژهها و تیمها، نه تنها از ویژگیهای سیستم عامل امن RTOS استفاده میکنند، بلکه از بهینه سازی های سخت افزاری نیز برای ایمن کردن سیستم خود، به طور مؤثر تری بهره میبرند.
نکته دیگری که باید در نظر گرفت این است که، تبدیل یک تئوری به محصول نهایی، چالشهای بسیار زیادی را دارد. از این رو، برای کاهش زمان و هزینه، تمام میکروکنترلر های STM32 مجوز Azure RTOS را بهطور رایگان رایگان دریافت میکنند. همچنین مایکروسافت، پروژه Azure RTOS را بهصورت متن باز منتشر میکند تا توسعه دهندگان بتوانند آن را اصلاح و توزیع کنند. علاوه بر این، شرکت ST در بهروزرسانی STM32Cube امکانات لازم برای استفاده از Azure RTOS را نیز اضافه خواهد کرد.
سیستم عامل Azure RTOS چه چیز هایی را به STM32Cube اضافه می کند؟
در هسته Azure RTOS شما میتوانید ThreadX RTOS را پیدا کنید. در حالت عادی، سیستم عامل بلادرنگ RTOS برنامهها و وظایفی را که در حال اجرا هستند را مدیریت میکند. همان طور که میدانید، برنامههایی که به صورت همزمان با یکدیگر در حال اجرا هستند، بهصورت رشتههایی در کنار همدیگر اجرا میشوند که هر رشته دارای اولویت کمتر یا بیشتری نسبت به دیگری میباشد.
RTOS به هر رشتهای با اولویت بالاتر اجازه میدهد تا پیش قدم شده و نوبت رشتهای که اولویت کمتری دارد را تصاحب کند و خودش اجرا شود.
اما ThreadX جزئیات بسیار بیشتری را فراهم کرده و برای مثال به توسعه دهندگان این اجازه را میدهد تا آستانههایی را برای جلوگیری از توقف یک رشته تعیین کنند. بنابراین عملکرد سیستم به طور گستردهای بهینه میشود. همچنین مدیریت رخداد یا Event پیشرفتهای در Azure RTOS وجود دارد که در صورت وقوع یک رویداد، اجرای یک عمل خاص را امکان پذیر میکند. در نتیجه، با وقوع یک رویداد، رشتههای منتظر، به طور خودکار شروع میشوند. این امر منابع لازم را کاهش میدهد و پیشرفت برنامه نویسی را بسیار تسهیل میکند.
امکانات Azure RTOS
Azure RTOS امکانات بسیار زیادی دارد. برای مثال یک سیستم مدیریت فایل پیشرفته برای حافظههای NAND و NOR Flash به نام FileX دارد که ویژگیهای خوبی مثل مدیریت خطا و افزایش طول عمر حافظه را دارد. NetX و NetX Duo نیز از پروتکل شبکهای هستند که TCP / IP، IPv4 و IPv6 و بسیاری از پروتکلهای سطح بالا مورد استفاده در اینترنت اشیا (IOT) مانند MQTT یا COA را نیز پشتیبانی میکند و در Azure RTOS پشتیبانی میشود.
همچنین USBX استفاده از رابط USB را به عنوان میزبان یا دستگاه، به کمک مجموعه کاملی از کلاسهای USB تسهیل میکند.
چه چیزی در STM32Cube تغییر نمی کند؟
فریمورک TouchGFX رابط کاربری گرافیکی بسیار خوبی دارد و بسیاری از برنامه نویسان کار با آن را ترجیح میدهند. بنابراین به جای استفاده از کامپوننت های ارائه شده توسط GUIX Azure RTOS برای رابط کاربری، مثل TraceX مایکروسافت، از همان STM32CubeMonitor استفاده خواهد شد تا مهندسینی که به این محیط وابسته هستند مجبور به تغییر و استفاده از یک محیط جدید نباشند.
منبع
خیلی جالب بود … این طور که بنظر میرسه آینده از آن سیستم عامل هاست
بله واقعا همینطوره 🙂
آموزش RTOS رو کی کامل می کنید کلا 3 تا پست زدین همین طور ناقص مونده.
انشاءالله برنامه ریزی خواهیم کرد.
بسیار عالی و ممنون بابت اطلاع همچین مقاله ای. لطفا در بحث آموزشش هم پیش قدم شوید
خواهش میکنم دوست عزیز
اول باید صبر کنیم منتشر بشه – بعد ببینیم چکار کرده 🙂
به نظرم توی مقاله اشتباهاتی وجود داره.
AzureRTOS محصول مشترک مایکروسافت و اس تی نیست. بلکه سیستم عاملی بوده به اسم ThreadX که توسط شرکت Express Logic توسعه پیدا کرده و در نهایت مایکروسافت خریدتش.
https://en.wikipedia.org/wiki/ThreadX
سلام متشکرم برای تذکرتون دوست عزیز
بله حق با شماست – ترجمع غلط انداز شده – در واقع اضافه کردن این سیستم عامل به کیوب یه همکاری مشترکه با st نه ساخت سیستم عامل
متشکرم
سلام بسیار عالی قبلا بااین سیستم عامل برخورد کرده بودم اما من سرچ کردم فهمیدم هنوز این سیستم عامل اماده نشده درسته ؟
چون نه داکیومنتی که توضیح بده پیدا کردم نه چیز به درد بخوری .. حتی خود سایت ماکروسافت هم رفتم دیدم یه صفحه اختصاصی براش ساخته که اصن ما ایرانیا دوباره حق دسترسی نداریم ..
ممنون میشم اگر اطلاعات بیشتری وجود داره به اشتراک بذارید
منم فکر میکردم در دسترس نیست که دوست خوبمون این ویکی رو داد 🙂
https://en.wikipedia.org/wiki/ThreadX
اگه با ThreadX دنیالش بگردید پیداش می کند.
سلام مهندس درسته ممنون از این راهنمایی منم با سرچ به این لینک ها رسیدم گفتم با بقیه به اشتراک بذارم
داکیومنت :
https://docs.microsoft.com/en-us/azure/rtos/threadx/
فایلهای گیت هاب:
https://github.com/azure-rtos/threadx
بعد با FreeRTOS هم کامپتیبل هسش که میتونید ازاین منوال استفاده کنید
متشکر از شما دوست عزیز 🙂