AVR, آموزش, توصیه شده, سیسوگیها, مقاله

برنامه نویسی میکروکنترلر AVR در محیط ویژوال استودیو (جلسه دوم)

آمورش برنامه نویسی میکروکنترلر avr در ویژاول استودیو

برنامه نویسی میکروکنترلر AVR در محیط ویژوال استودیو ;

سیسوگ در جلسه اول برنامه نویسی میکروکنترلر AVR در محیط ویژوال استودیو شما را با مجموعه کامپایلرهای گنو ( GCC ) آشنا کرد. در این جلسه قصد دارد شما را با ویژوال استودیو بیشتر آشنا کند. با سیسوگ همراه باشید.

 

شرکت اتمل با تولید میکروکنترلرهای 32بیتی ,ARM نسخه‌ی جدیدی از نرم‌افزار avr studio را تحت عنوان Atmel Studio طراحی کرد. افزوده شدن امکانات جدید و همچنین پشتیبانی از میکروکنترلرهای ARM , از جمله تفاوت‌هایی است که در این نسخه اعمال شد.

تا این قسمت از آموزش گفتیم که از کامپایلر رایگان و سورس باز avr-gcc که شرکت اتمل نیز در پکیج برنامه نویسی خود (اتمل استودیو) بکار برده است, استفاده می‌کنیم.

اول اینکه شرکت اتمل توسط شرکت میکروچیپ خریداری شده و این امکان که در آینده, نسخه های بالاتر این نرم افزار توسط شرکت میکروچیپ ارائه نشود, وجود دارد. دوما استفاده از کامپایلر رایگان یعنی هیچ محدودیتی برای انتخاب ابزار, محیط برنامه نویسی, ورژن کامپایلر, دیباگر و در کل هرچیزی را که تصور کنید, برای ما وجود ندارد.

گفتیم که برای برنامه نویسی میکروکنترلرهای avr , علاوه بر کامپایلر, وجود ابزارهای دیگری نیز ضروریست. زیرا avr-gcc به خودی خود تنها یک مترجم تحت خط فرمان است. در شرایط کاملا عادی برای کامپایل برنامه نوشته شده توسط avr-gcc باید برنامه را در ویرایشگر کدی مانند Notepad ویندوز به یکی از زبان‌های C یا C++ نوشت…سپس با استفاده از محیط cmd و دستورالعمل‌های کامپایل که توسط avr-gcc ارائه شده, برنامه را به زبان ماشین ترجمه کرد.

انجام این کارها (پروسه کامپایل) هنگامی‌که برنامه ی ما تنها از یک فایل اصلی, هدرفایل و سورس فایل‌های خود کامپایلر تشکیل شده باشد, چندان دشوار نخواهد بود…اما فرض کنید هدف ما کامپایل برنامه ایست که علاوه بر موارد فوق, شامل کتابخانه‌هایی است که توسط شخص سومی نوشته شده!!! در این مواقع, کامپایل برنامه به روشی که در بالا گفته شد, بسیار زمان بر و دشوار است, زیرا میبایست ابتدا هرکدام از فایل‌ها بصورت مجزا کامپایل و در نهایت به یکدیگر لینک شوند. همچنین لازم به ذکر است برای انجام هربار عمل کامپایل, میبایست دستورات کامپایل در محیط cmd مجددا نوشته شوند که باعث اتلاف زمان زیادی است. برای حل این مشکلات از Makefile استفاده می‌کنیم. به بیان ساده makefile فایلی است که دستورات مربوط به کامپایل, تنظیمات کامپایلر, دیباگر, پروگرامر و بسیاری از موارد دیگر, در آن اعمال می‌شود. هر پروژه دارای یک میک فایل است که میبایست این فایل در دایرکتوری پروژه با همین نام (makefile) کپی شود.

 

 قسمتی از یک makefile:

 

استفاده از makefile و notepad نیز روش چندان مناسبی نیست, زیرا در مواقعی که نیاز به طیف وسیعی از ابزارها داشته باشیم, به دلیل عدم وجود رابط کاربری گرافیکی (GUI) , کار برنامه نویس دوباره مشکل میشود…بهترین و ساده ترین روش حل مشکلاتی که دراین چند سطر بیان شد, استفاده از محیط توسعه یکپارچه (IDE) میباشد. IDE درواقع پکیجی است که تمام ابزارهای مورد نیاز برای برنامه نویسی را در یک محیط با رابط کاربری گرافیکی عالی مجتمع میکند. به عنوان مثال همین اتمل استودیو یک IDE است.

IDEهای رایگان زیادی برای اینکار وجود دارند, مانند:

1) CodeBlock

2) EmBitz

3) eclipse

4) Visual Studio

و…

آموزش‌های متعددی برای استفاده از محیط‌های codeblock , embitz و eclipse وجود دارد, اما آموزش فارسی در رابطه با استفاده از ویژوال استودیو برای برنامه نویسی میکروکنترلرها(AVR) وجود ندارد. به همین جهت ادامه ی اموزش را به این محیط اختصاص میدهیم.

Visual Studio IDE :

ویژوال استودیو نرم افزاری توسعه یافته برای تولید برنامه های رایانه ای است که توسط شرکت مایکروسافت تهیه شده است. از آن برای تولید وبگاه , برنامه های کاربردی وب و یا سرویس های وب استفاده می‌شود. از Visual studio میتوان برای نوشتن برنامه های کنسولی , ویندوزی , سرویس های ویندوز , برنامه های کاربردی موبایل , سیستم های نهفته و…استفاده کرد. (نقل قول از گوگل)

 

محیط ویژوال استودیو

درکنار این نرم‌افزار, ابزار visualGDB نیز باید خریداری و نصب شود. VisualGDB یک افزونه بسیار قدرتمند برای ویژوال استودیو می باشد که توسط آن قادر خواهیم بود تا سیستم‌های امبد شده را دیباگ یا رفع اشکال کنیم. این نرم‌افزار از محیط کاربری بسیار جذابی بهره می‌برد که دارای ویژگی‌های فراوانی برای دیباگ یا رفع اشکال کدهای ما می‌باشد. VisualGDB دارای یک Wizard نیز هست که به ما در دیباگ کردن برنامه کمک می کند و نقش یک راهنمای قوی را بر عهده دارد. علاوه بر این، ویژگی‌های فراوان دیگری در این برنامه وجود دارد که به دسته های Common features، Advanced features، Usability features، Linux features، Android features تقسیم می‌شوند. تصویر زیر ایجاد پروژه با visualGDB را نشان می‌دهد.

ایجاد پروژه با visualGDB

در محیط ویژوال استودیو پروژه‌ی جدیدی را ایجاد و سپس VisualGDB Embedded Project Wizard را باز کنید:

 

پروژه‌ی جدید در محیط ویژوال استودیو

در صفحه‌ی باز شده تنظیمات پیشفرض را تغییر نمی‌دهیم. در این بخش توجه به دو نکته ضروریست :

1) در بحش Language standard میتوان زبان برنامه نویسی مورد نظر را تعیین کرد.

2) چنانچه علاوه برفایل‌های .bin و .elf , به فایل هگز برای برنامه‌ریزی میکروکنترلر نیاز داشتید, تیک hex را فعال کنید.

 

پروژه جدید در محیط ویژوال استودیو

صفحه‌ی بعد برای تعیین ابزار برنامه‌نویسی مورد نظر ما (avr toolchain)  میباشد. اگر ابزار مورد نظر نصب نبود, visualGDB میتواند با استفاده از اینترنت, بصورت اتوماتیک آن‌ را دانلود و نصب کند.

 

ابزار برنامه‌نویسی visualGDB

هم‌چنین میتوانیم تولچین مورد نظر را بصورت دستی از سایت www.gnutoolchain.com دانلود کنیم. در نهایت دایرکتوری را که قصد دارید تولچین در آنجا نصب شود, مشخص کنید.

 

دانلود تولچین مورد نظر

پس از نصب ابزار (هر تولچین فقط یک مرتبه نیاز به نصب دارد), میکروکنترلر مورد نظر را از لیست قطعات پشتیبانی شده توسط ابزار, انتخاب کنید. به عنوان مثال ما میخواهیم نتیجه‌ی برنامه‌ی نوشته شده را با استفاده از برد Arduino Uno مشاهده کنیم, در اینصورت می‌بایست میکروکنترلر atmega328p انتخاب شود.

 

انتخاب میکروکنترلر

 

 

صفحه ی بعد (sample selection) باعث ایجاد کد ساده‌ای (چشمک زن) در سورس فایل ما می‌شود. در برد آردوینو, led کوچکی به پایه شماره 13 (PD7) میکروکنترلر وصل شده است. بنابراین در قسمت port group , پورت D و در port number ، عدد 7 را وارد می‌کنیم.

 

 

تنظیمات برنامه LED چشمک زن

با باز شدن صفحه ی debug method ,مبدل عیب یابتان را به یکی از پورت‌های usb متصل و روی گزینه‌ی detect کلیک کنید تا بصورت اتوماتیک شناسایی شود. افزونه‌ی visualGDB بااستفاده از ابزار AVaRICE که میتواند با دیوایس های l JTAG ICE Mk JTAG ICE Mk II و  AVR Dragon کار کند, دیباگ میکروکنترلرهای AVR را پشتیبانی میکند. visualGDB میتواند JTAG ICE Mk II و  AVR Dragon بطور اتوماتیک شناسایی و درایورهای آنها را نصب کند.

 

DETECT in VisualGDB

در پایان صفحه ی زیر ایجاد می‌شود:

 

اتمام پروژه ویژوال استودیو

تغییرات کانفیگ پروژه, اضافه کردن سورس فایل و هدرفایل به پروژه و… تا حدودی مشابه اتمل استودیو میباشد.

 

در جلسه سوم  “برنامه نویسی میکروکنترلر AVR در محیط ویژوآل استودیو” ایجاد پروژه با استفاده از میک فایل آموزش داده می‌شود. در این مجموعه مقالات سیسوگ را همراهی نمایید.

 



انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.  همکاری با سیسوگ

 

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *