تایمرهای نرم افزاری در سیستم عامل FreeRTOS در میکروکنترلرهای STM32

تایمرها در سیستم های Embedded نقش بسیار مهمی دارند. تایمرها معمولا برای انجام توابعی متناوب و یا برای انجام کاری بعد از مدت زمان مشخصی استفاده می¬شوند. در این بخش سعی شده است که تایمرهای نرم افزاری بطور کامل معرفی شوند. این تایمرها مستقل از تایمرهای سخت¬افزاری پردازنده هستند.

ادامه مطلب

کنترل وقفه در سیستم عامل FreeRTOS در میکروکنترلرهای STM32

وقفه در سیستم های Embedded نقش بسیار مهمی دارند. سیستم¬های بلادرنگ باید سریعا پاسخ وقفه¬های گوناگونی که از محیط خارج و داخل میکروکنترلر نشأت می¬گیرند را فراهم کند. برای مثال سیستم آسانسور را در نظر بگیرید. سیستم باز شدن کیسه هوای خودرو را در نظر بگیرید که حتی اندکی تاخیر می¬تواند منجر به تلفات جبران ناپذیری شود. در این بخش نحوه مدیریت و کنترل وقفه در با استفاده از سیستم عامل FreeRTOS بررسی شده است.
سیستم عامل FreeRTOS هیچگونه محدودیتی جهت کنترل و مدیریت وقفه¬ها¬ به طراح سیستم تحمیل نمی¬کند. در عوض امکاناتی را فراهم می¬کند که طراح با استفاده از آن براحتی طرح خود را پیاده سازی کند.

ادامه مطلب

استفاده از Mutex در FreeRTOS در میکروکنترلرهای STM32

در این بخش به معرفی چالش ها و مشکلاتی که در محیط های Multithread ممکن است روی دهد پرداخته شده است. سپس راهکارهای متناسب با هر کدام بیان شده است. در نهایت نحوه پیاده سازی و استفاده از آن در میکروکنترلرهای STM32 با استفاده از یک مثال عملی بیان شده است.

ادامه مطلب

سیستم عامل بلادرنگ FreeRTOS در میکروکنترلرهای STM32

. FreeRTOS یک سیستم عامل رایگان و متن باز است که برای میکروکنترلرها و پردازنده¬های کوچک طراحی شده است. این سیستم به گونه ای بهینه شده است تا حد امکان ساده و کوچک باشد. همچنین استفاده از آن نیز بسیار ساده است. FreeRTOS به زبان C گسترش داده شده است و به گونه توسعه داده شده است تا بسیار Portable باشد. در FreeRTOS دارای اکثر ویژگی¬های سیستم عامل بلادرنگ از جمله سمافور و Queue و … است. این سیستم عامل از بیش از 27 پلتفرم مختلف ازجمله AVR، ARM و … پشتیبانی می¬کند.

ادامه مطلب

راه اندازی کتابخانه LWIP با STM32 (بخش سوم)

در این قسمت با استفاده رابط کاربری Raw کتابخانه LwIP نحوه نوشتن برنامه سوکت بیان شده است. رابط کاربری Raw مبتی بر توابع Callback است. بطوری ¬که کاربر توابع متناظر با هر رویداد نظیر دریافت فریم یا رخداد خطا را مشخص می-کند و هسته LwIP هنگامی که هر یک از رخدادهای موردنظر روی دهد تابع مشخص شده فراخوانی می¬شود.

ادامه مطلب

راه اندازی کتابخانه LWIP با STM32 (بخش دوم)

برنامه نویسی سوکت روشی برای اتصال دو Node در یک شبکه برای تبادل داده است. یکی از دو Node بعنوان Server و دیگری بعنوان Client عمل می¬کنند. Server همواره به پورت خاصی گوش می¬دهد و هنگامی¬ که یک Client بخواهد به Server وصل شود، ابتدا به آن درخواست اتصال می¬دهد و در صورت پذیرش Server اتصال ایجاد می¬شود و پس از آن می-توانند با هم داده تبادل کنند. در حالت کلی تعداد Client ها می¬تواند بیشتر از یک باشد.

ادامه مطلب

راه اندازی کتابخانه LWIP با STM32 (بخش اول)

LwIP یک کتابخانه رایگان TCP/IP است که توسط Adam Dunkels در موسسه علوم کامپیوتر سوئد توسعه داده شده است. تمرکز پیاده سازی LwIP در جهت کاهش استفاده از RAM و درعین حال داشتن یک نسخه کامل از مدل TCP/IP است. این امر باعث می¬شود LwIP برای کاربردهایEmbedded بسیار مناسب باشد.

ادامه مطلب