سبد خرید 0

هیچ محصولی در سبد خرید نیست.

سبد خرید 0

هیچ محصولی در سبد خرید نیست.

انواع روش های برنامه نویسی میکروکنترلرها

انواع روش های برنامه نویسی میکروکنترلرها-;hti ld;v,

انواع روش های برنامه نویسی میکروکنترلرها

سلام خدمت همه همراهان همیشگی و علاقه مندان به سایت کافه میکرو امروز در خدمت شما هستیم با یک آموزش بسیار مفید دیگر، ما در این آموزش و مقاله قصد داریم انواع روش های برنامه نویسی میکروکنترلرها را باهم بررسی کنیم پس همراه کافه میکرو باشید….

برنامه نویسی میکروکنترلر به صورت کلی به سه دسته اصلی تقسیم می شود.

  1. Bare metal
  2. RTOS
  3. OS

دانستن انواع روش ها از این جهت برای ما اهمیت پیدا می کند، که قبل از شروع پروژه، انتخاب پردازنده و روش برنامه نویسی، با شناخت بهتری که از ابزار پیدا می کنیم، انتخاب بهتر و موثرتری داشته باشیم و در روند پروژه و پایان کار با حداقل میزان مشکلات مواجه بشویم، به عبارت دیگر هر روشی را که انتخاب می کنیم، در حقیقت مشکلاتی را انتخاب می کنیم. زمانی که از مشکلات هر کدام از روش ها باخبر باشیم، انتخاب بهتری خواهیم داشت و به نتایج بهتری خواهیم رسید. از این رو دانستن انواع روش های برنامه نویسی میکروکنترلرها به خصوص برای پردازنده های ARM اهمیت زیادی پیدا می کند.

روش Bare metal

اولین سبک برنامه نویسی ای که علاقه مندان برای یادگیری برنامه نویسی میکروکنترلر از آن بهره می برند، روش Bare metal هست. این روش شامل یک تابع main به عنوان تنه ی اصلی برنامه، همینطور یک ابر حلقه (Super Loop) درون تابع main می باشد. عملکردهایی که از پردازنده انتظار می رود عموما یک به یک پشت سر هم در این حلقه ی بینهایت نوشته می شوند. مادامی که پردازنده روشن است، یک به یک این دستورات را خوانده و پردازش می کند.

در این روش مسئولیت پیاده سازی تمام کارها، مدیریت وقفه ها، اولویت وقفه ها، مدیریت حافظه و … به عهده ی خود برنامه نویس می باشد. پس روش پیشفرض برنامه نویسی میکروکنترلرها که از آن استفاده می کنیم، روش Bare metal است و خیلی از پروژه ها بر این مبنا پیاده سازی شده اند.

روش RTOS

این روش به سیستم عامل بلادرنگ ترجمه شده است و سر نام کلمات Real Time Operating System است. در این روش، عملکردهای پروژه به تعدادی تسک (وظیفه) تقسیم می شود و هر تسک (Task) مشابه تابع main که در روش Bare metal تنه ی اصلی برنامه بود و شامل یک ابر حلقه (Super Loop) بود، می تواند یک روند کاملا مستقل از سایر تسک ها داشته باشد. به این صورت هر تسک شامل یک حلقه ی بینهایت (ابر حلقه) می باشد و صرفا شامل عملیات تعیین شده برای آن تسک مشخص می باشد. البته تسک ها می توانند به یکدیگر نیز وابسته باشند.

RTOS شامل یک کرنل (Kernel) و یک واحد زمان بندی کننده (Scheduler) است. به این صورت به هر تسک یک تکه زمان (Time Slice) اختصاص می دهد و تسک ها از این طریق توسط پردازنده اجرا می شوند. اجرا شدن تسک ها به گونه ای هماهنگ می شود که کاربردها از چشم ناظر بیرونی همزمان در حال اجرا شدن هستند. زمانی که کاربردهایی داشته باشیم که بخواهیم به صورت همزمان اجرا شوند، از این روش استفاده می کنیم. این روش مزایای بسیار زیادی دارد که ارائه ی تمام این موارد در قالب این مطلب نمی گنجد، اما یکی از روش های محبوب برای برنامه نویسی میکروکنترلرهای ARM است و برای پروژه های پیچیده ی امروزی انتخاب اکثر توسعه دهندگان حوزه امبدد سیستم است.

روش OS

نام بهتری که برای این روش می توان پیشنهاد داد GPOS است به مفهوم سیستم عامل همه منظوره که سر نام کلمات General Purpose Operating System است. به این دلیل که OS و RTOS از نظر ماهیت عملکردی کاملا با یکدیگر متفاوت هستند و گاها دیده می شود که این دو عبارت به اشتباه به جای یکدیگر به کار می روند، با رعایت این نام گذاری از این اشتباه می توانیم دوری کنیم. لینوکس، ویندوز و … ها جزء دسته بندی GPOS قرار می گیرند. این روش برنامه نویسی برای همه ی میکروکنترلرها در دسترس نیست و تنها برای پردازنده هایی که دارای معماری خاص برای اجرای سیستم عامل همه منظوره دارند امکان پذیر است. نمونه ی این پردازنده ها در بردهای SBC (کامپیوترهای تک بردی) (Single Board Computer) نظیر Raspberry Pi, Orange Pi, Beagle Bone و … قابل مشاهده است.

توجه داشته باشید که این سبک برنامه نویسی با RTOS کاملا متفاوت است و این دو نباید با یکدیگر اشتباه گرفته بشوند. در مقالات آینده به بررسی تفاوت های این دو روش می پردازم.

از اینکه همراه کافه میکرو بودید و تا پایان مقاله انواع روش های برنامه نویسی میکروکنترلرها همراه ما بودید به شما تبریک میگیم.

از بخش های دیگر کافه میکرو در فروشگاه و وبلاگ هم می توانید دیدن فرمایید.

منتظر مقالات و آموزش های دیگر کافه میکرو باشید.

دیدگاه شما
محصول با موفقیت به سبد خرید اضافه شد.