در مطلب قبلی با عنوان "نصب avr-gcc به همراه Eclipse در ویندوز" به نحوه نصب و راه‌اندازی avr-gcc پرداخته شد، در این مطلب به ایجاد یک پروژه ساده با استفاده از avr-gcc و eclipse اشاره می‌شود.

ایجاد پروژه:

برای ایجاد یک پروژه avr در eclipse به مسیر زیر رفته:

File > New > Project...

 

و از کتگوری "++C/C" گزینه  "C Project" را انتخاب و "Next" را بزنید.

در پنجره جدید ابتدا اسم پروژه را وارد کرده و سپس از قسمت "Project type" و از کتگوری "AVR Cross Target Application" گزینه "Empty Project" را انتخاب کنید توجه کنید که در قسمت "Toochains" گزینه "AVR-GCC Toolchain" وجود داشته باشد در غیر این صورت مشکلی در نصب avr-gcc وجود دارد. اگر مشکلی وجود ندارد "Next" بزنید و دوباره در پنچره جدید "Next" را بزنید.

در این مرحله بعد از انتخاب نوع میکروکنترلر AVR و کلاک کاری میکرو، دکمه "Finish" را بزنید.

حالا نوبت به ایجاد فایل C می‌رسد که قرار است کدهای برنامه را در آن بنویسیم. به آدرس زیر رفته:

File > New > Source File

اسم فایل اصلی باید "main.c" باشد، همچنین دقت کنید که فایل جدید را در کدام فولدر (همان پروژه) ایجاد می‌کنید.

تنظیمات پلاگن avr:

به آدرس زیر بروید، دقت کنید تنظیمات باز شده مربوط به پروژه مورد نظر شما باشد:

File > Properties

در قسمت AVR دو گزینه وجود دارد که اول "AVRDude" هست که مربوط به تنظیمات پروگرامر و عمل پروگرام کردن هست و در ادامه توضیح مختصری در این مورد داده می‌شود. گزینه بعدی "Target Hardware"  هست که از اینجا می‌توانید نوع میکروکنترلر و کلاک پالس آن را انتخاب کنید. حال می رویم به سراغ تنظیمات مربوط به پروگرام کردن، از تب "Programmer" و در قسمت "Programmer cofiguration" دکمه 'New" رابزنید در پنجره باز شده یک اسم برای تنظیمات‌تون وارد کنید سپس از لیست موجود نام  پروگرامرتون را انتخاب کنید. من یک پروگرامر "USBasp" دارم. "OK" و سپس "Apply" را بزنید.

از میان تب‌‌های موجود تب "Fuses" مربوط به تنظیمات فیوزبیت‌ است. برای ست کردن فیوزبیت، "direct hex values" را انتخاب کنید، می‌توانید مقدار کلی فیوزبیت را حساب کرده و در محل مربوط بنویسد و یا این که از ویرایشگر موجود استفاده کنید. 

ابزارهای مربوط به مقداردهی فیوزبیت:

۱- استفاده از ویرایشگر

۲- وارد کردن از فایل

۳- خواندن فیوزبیت از روی میکرو

۴- مقدار پیشفرض

۵- یک کردن همگی

۶- صفر کردن همگی

۷- پاک کردن فیوز بیت.

در سایر تب‌ها نیز تنظیمات مفید و کاربردی وجود دارد که بسته به نیازتون می‌توانید آن‌ها را تنظیم کنید، برای رعایت اختصار به‌ آنها پرداخته نمی‌شود.

در قسمت "C/C++ Build" به "Settings" رفته و از منوی کشویی "Configuration" مود "Release" را انتخاب کنید. در تب "Tool Settings" و قسمت "Additional Tools in Toolchain" مطمئن باشید که گزینه‌های مربوط به تولید فایل HEX تیک خورده باشند.

کامپایل و پروگرام کردن پروژه:

برای پروژه یک برنامه ساده در نظر گرفته شده است. در این برنامه دو LED بصورت معکوس به فاصله ۴۰۰ میلی ثانیه روشن و خاموش می‌شوند. 

#include <avr/io.h>
#include <util/delay.h>

#ifndef F_CPU
#define F_CPU 1000000UL
#endif

int main(void)
{
DDRB=0xFF;
PORTB=0;
while(1)
{
PORTB |= 1 << PB1;
PORTB &= ~(1 << PB2);
_delay_ms(400);
PORTB |= 1 << PB2;
PORTB &= ~(1 << PB1);
_delay_ms(400);
}
}

برنامه را در فایل main.c بنویسید، به مسیر زیر رفته و گزینه "Release" را انتخاب کنید.

Project > Build Configurations > Set Active > Release

حال "Build All" را از منوی "Project" بزنید. اگر مشکلی در کد و یا سایر اجزا نباشد برنامه کامپایل خواهد شد. فایل HEX پروژه در مسیر زیر هست.

eclipse-workspace\Test\Release

برای انتقال برنامه به میکروکنترلر، پروگرامر را به سیستم وصل کرده و از منوی "AVR" دکمه "Upload Project to Target Device" را بزنید.

خطای (0xc0000142) در ویندوز ۸ و ۱۰:

برای رفع این خطا در اینترنت راه‌های مختلفی نوشته شده است، خوشبختانه مشکل avr-gcc با جاگذاری فایل زیر در مسیر زیر به آسانی حل می‌شود:

C:\WinAVR-20100110\utils\bin

دانلود زیپ فایل "msys-1.0.dll" از آپلودبوی.