در بخش اول سلسله آموزش میکروکنترلر های AVR با خانواده AVR آشنا شده و همچنین انواع میکروکنترلر های این خانواده را شناختیم. در این آموزش قصد داریم تا با مفاهیمی مانند این که کامپایلر و IDE چیست؟ و چرا بایستی از آنها استفاده کنیم. همچنین به معرفی کامپایلر هایی مانند Atmel Studio و Codevison و مقایسا آنها خواهیم پرداخت. توجه داشته باشید که پیش از این آموزش هایی برای کدنویسی با کامپایلر کد ویژن در سایت قرار داده شده است. در این آموزش تمرکز ما بر روی کامپایلر Atmel Studio است. ذز ادامه با با مرجع تخصصی بردهای امبدد به زبان فارسی، دیجی اسپارک همراه باشید.
شناخت کامپایلر
کامپایلر (Compiler) یک نرم افزار کامپیوتری است که کد های کامپیوتری نوشته شده در یک زبان برنامه نوبیسی را به یک زبان دیگر ترجمه میکند. کامپایلر در درجه اول برای برنامه هایی استفاده می شود که کد منبع را از یک زبان برنامه نویسی سطح بالا به یک زبان سطح پایین تر (مانند زبان اسمبلی، کد شی یا کد ماشین) برای ایجاد یک برنامه اجرایی ترجمه می کنند.
همانطور که میدانید، زبان ماشین زبان ۰ و ۱ است. در میکروکنترلر ها نیز به همین صورت است. برنامه ای که به زبان های مختلف نوشته میشود. در آخر به یک فایل Bin یا Hex ترجه میشود و این فایل بر روی میکروکنترلر توسط دستگاهی به نام پروگرامر انتقال پیدا میکند. در آموزش های بعد راجع به پروگرامر ها نیز توضیح خواهیم داد.
انتخاب کامپایلر برای کدنویسی
برای کدنویسی بر روی میکروکنترلر های AVR، کامپایلر های مختلفی وجود دارد. از جمله کامپایلر های معروف AVR میتوان به BASCOM ، CodeVision و Atmel Studio اشره نمود. البته کامپایلر BASCOM برای کدنویسی با زبان Basic است. اما دو کامپایلر دیگری که معرفی شد، برای کد نویسی با زبان C است. کامپایلر کد ویژن به دلیل بخش Code Wizard که داخل خود جای داده و عملیات کد نویسی و ساخت پروژه را با چند کلید ساده انجام میدهد بسیار محبوب است.
اما این کامپایلر ضعف هایی نیز دارد. از جمله بزرگترین مشکلات این کامپایلر این است که تنها در کشور ما محبوبیت زیادی دارد و سورس هایی که برای میکروکنترلر های AVR در سایت هایی مانند Github و یا دیگر سایت ها وجود دارد. با این کامپایلر همخوانی ندارد و در صورتی که قصد استفاده از آن را داشته باشید بایستی کد ها را تغییر دهید. اما کامپایلر Atmel Studio این مشکل را ندارد و تقریبا تمامی سورس های موجود در اینترنت برای AVR با این کامپایلر سازگار است و به راحتی قابل کامپایل و پروگرام است. البته از نظر خروجی کد هگز نیز کامپایلر Atmel Studio برتری هایی نسبت به CodeVision دارد. که توضیح آن در این مقاله نمیگنجد.
نصب نرم افزار Atmel Studio
نرم افزار Atmel Studio بر خلاف اکثر کامپایلر های موجود برای میکروکنترلر ها به صورت رایگان ارائه شده است. و برای استفاده از این نرم افزار دیگر دردسر های کرک کردن آن را ندارید. نرم افزار Atmel studio را میتوانید از این لینک دانلود کنید. پس از دانلود و خارج کرده آن از حالت ZIP بایستی فایل Setup را اجرا کنید. مراحل نصب این نرم افزار دشواری خاصی ندارد و به راحتی قابل انجام خواهد بود.
ساخت پروژه جدید
پس از نصب کامل نرم افزار، برای شروع کد نویسی نیاز است که ابتدا پروژه جدیدی ایجاد کنید، عملیتات ساخت پروژه جدید نیز بسیار سده است. پس از ورود به نرم افزار میتواند بر روی گزینه New project کلیک کرده و یا وارد منو File شده سپس روی گزینه New کلیک کرده و سپس روی گزینه Project کلیک کنید. در ادامه پنجره ای باز خواهد شد که از شما نوع پروژه را سوال میکند. در این صفحه اگر قصد دارید بر روی میکروکنترلر های ۸ بیتی Atmel کدنویسی کنید. گزینه GCC C Executable Project را انتخاب کنید. در قسمت پایینی صفحه باز شده، میتوانید نام و همچنین مسیر ذخیره پروژه را مشخص کنید. پس از انجام موارد بالا بر روی گزینه OK کلیک کنید.
سپس پنجره دیگری ظاهر خواهد شد که بایستی میکروکنترلر مورد نظر خود را داخل آن انتخاب کنید. برای مثال در صورتی که قصد دارید بر روی میکروکنترلر ATmega 8 کدنویسی کنید. بایستی نام این میکروکنترلر را داهل کادر جستجو بنویسید. سپس میکروکنترلر را انتخاب کنید و بر روی گزینه OK کلیک کنید. سپس پروژه ساخته شده و به صورت خودکار نرم افزار فایل main.c را برای شما باز میکند. کد مورد نظر خود را بایستی داخل این فایل بنویسید. ابتدای کار کدی مشابه به کد زیر را داخل این فایل مشاهده میکنید. که در ادامه راجع به ساختار C و نحوه کدنویسی داخل این نرم افزار نیز توضیحات لازم را خواهیم داد.
#include <avr/io.h> int main(void) { /* Replace with your application code */ while (1) { } }
لوازم مورد نیاز
جمع بندی
همانطور که گفته شد کامپایلر های مختلفی برای برنامه نویسی روی میکروکنترلر های AVR وجود دارد. نوع کامپایلر و امکانات آن است که یک کامپایلر را از بقیه متمایز میکند. برای مثال کامپایلر کدویژن به دلیل بخش تولید خودکار کد (Code Wizard) بسیار محبوب شده است. اما کامپایلر Atmel Studio به دلیل سورس های فراوان و امکان Dark Mode و … بسیار مورد توجه قرار گرفته است. البته بایستی به این نکته نیز اشاره نمود که این کامپایلر از سمت شرکت Atmel که خود سازنده میکروکنترلر های AVR است. معرفی شده است. در این آمورش به توضیح مفهوم کامپایلر، تفاوت کامپایلر ها، نصب و ساخت پروژه جدید در نرم افزار Atmel Studio پرداخته شد.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید. بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی از وبسایت دیجی اسپارک حمایت کنید.