آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

blog
۱۴۰۰-۰۲-۰۵
6 دقیقه

در قسمت قبل، نحوه آماده سازی محیط برنامه نویسی Eclips (اکلیپس) را برای برنامه نویسی AVR آموزش دادیم. در این قسمت قصد داریم تا با ایجاد یک پروژه جدید AVR در Eclips اولین برنامه خود را (LED چشمک زن) به زبان C برای AVR بنویسیم.

 

ایجاد اولین پروژه AVR Eclips

اول از همه ضربدر پنجره Welcome را بزنید تا ابزارک های سمت چپ نمایان شوند.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

 

سپس از طریق منوی زیر، یک پروژه AVR Eclips ایجاد کنید.

File -> New-> C/C++ Project

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

در پنجره باز شده، C Managed Buid را انتخاب کرده و Next را بزنید.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

 

در مرحله بعدی، نامی برای پروژه خود انتخاب کنید، همچنین بر روی AVR Cross target Application کلیک کرده و Empty Project را انتخاب کنید. دقت داشته باشید که اشتباهاً حالت دیگری را انتخاب نکنید.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

 

با زدن دکمه Next به مرحله بعدی رفته و در این قسمت، تیک Debug را بر می‌داریم (چون معمولاً در AVR پروژه‌ها را دیباگ نمی‌کنیم، مگر آنکه ابزار این کار، یعنی پروگرامر jtag را داشته باشیم). همین طور گزینه Release را نیز انتخاب می‌کنیم.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

 

در مرحله بعدی نوع تراشه (برای مثال Atmega32) و فرکانس کاری میکروکنترلر را انتخاب می‌کنیم.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

 

خوب، هم اکنون شما در سمت راست و در قسمت Project Explorer یک پروژه جدید با نامی که انتخاب کردید، دارید.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

حال، می‌بایست یک فولدر برای کدهای خود ایجاد کنیم. برای این کار، ابتدا پروژه را انتخاب کرده و سپس از طریق منوی

File ->New -> Source Folder

و یا کلیک راست کردن بر روی پروژه AVR Eclips یک source Folder جدید می‌سازیم.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

 

نامی برای پوشه سورس خود می‌گذاریم، برای مثال: src

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

 

همان‌طور که در تصویر زیر مشاهده می‌کنید، یک فولدر سورس ایجاد شده است، حال باید یک فایل سورس نیز به آن اضافه کنیم، به همان ترتیب، بر روی پوشه src کلیک راست کرده و یک Source File جدید می‌سازیم.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

 

در پنجره باز شده، اسم فایل سورس را وارد می‌کنیم، برای مثال: main.c

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

 

بر روی فایلی که ایجاد کردید، دو بار کلیک کنید تا در ویرایشگر باز شود. حال، شما می‌توانید کدهای خود را در این فایل وارد کنید:

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

 

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

برای بیلد و کامپایل پروژه AVR در Eclips شما می‌بایست ابتدا یک سری تنظیمات را انجام دهید. از طریق منوی

Windows -> preferences

پنجره preferences را باز کنید.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

سپس از طریق منوی زیر، تنظیمات را مطابق تصویر انجام دهید.

General -> Workspace

این تنظیمات، برای این است که هر بار شما پروژه خود را build می‌کنید، به صورت خودکار ذخیره نیز گردد. همچنین از کامپایل شدن خودکار که باعث کندی سیستم می‌شود، جلوگیری می‌کنید. یک بار که این تنظیمات را انجام دهید، کافی است.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

بر روی پروژه کلیک راست کرده و properties را بزنید. سپس از طریق منوی زیر، همانند تصویر تیک گزینه‌ها را بزنید. (دقت داشته باشید که پنجره تنظیمات پروژه، با تنظیماتی preferences مرحله قبل متفاوت است و احتمالاً برای هر پروژه می‌بایست آن را تنظیم کنید.)

C/C++ Build -> Setting

AVR C Buid Setting

 

سر انجام، با کلیدهای ترکیبی Ctrl + b و یا با کلیک کردن بر روی علامت چکش در ابزارهای بالای اکلیپس، می‌توانید پروژه خود را بیلد کنید. اگر خطایی وجود داشته باشد، در سربرگ problems می‌توانید مشاهده کنید.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

بیلد پروژه AVR در Eclips بدون مشکل

 

نصب درایور پروگرامر USBASP

در این آموزش از پروگرامر USBASP استفاده شده است. برای استفاده کردن از آن در پروژه AVR Eclips و شناخته شدن آن توسط AVRDUDE باید مطمئن شویم که درایور آن به درستی نصب شده است. برای این کار، ابتدا USBASP را به کامپیوتر متصل کرده و سپس نرم افزار Zadig را از این قسمت دانلود کنید. از طریق منوی Options بر روی List all devices کلیک کنید و از لیست USBASP را انتخاب کنید. سپس در کادر جلوی آن، گزینه libusbK(v3.0.7.0) driver را انتخاب کرده و بر روی دکمه install کلیک کنید تا درایور USBASP نصب شود.

Zadig driver installer

 

تنظیمات پروگرامر در AVRDUE

قبلاً در سیسوگ آموزش ADRDUDR را منتشر کردیم. توصیه می‌کنیم حتماً این آموزش را مطالعه کنید. برای آپلود فایل کامپایل شده بر روی میکروکنترلر، شما می‌بایست در تنظیمات AVRDUDE، نوع پروگرامر و تنظیمات آن را وارد نمایید. برای این کار، از طریق منوی زیر وارد تنظیمات AVRDUDE شوید:

windows->preferences->AVR->Avrdude->New

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

 

در این آموزش از پروگرامر USBASP استفاده شده است. بنابراین، باید یک کانفیگ برای USBASP ایجاد کنیم (اگر از پروگرامر دیگری استفاده می‌کنید، به جای USBASP تنظیمات مربوط به همان را وارد کنید). نام کانفیگ را USBASP می‌گذاریم، از لیست پروگرامر ها، USBASP را انتخاب می‌کنیم و در کادر port مقدار usb را وارد می‌نماییم و کانفیگ را ذخیره می‌کنیم تا در پروژه‌های AVR Eclips بتوانیم از آن استفاده کنیم.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

حال، یک کانفیگ برای پروگرامر USBASP داریم، در پروژه‌ای که می‌خواهیم بر روی میکروکنترلر آپلود کنیم، کلیک راست کرده و وارد properties می‌شویم. از منوی AVR وارد تنظیمات AVRDUDE می‌شویم. (دقت داشته باشید که منوی تنظیمات AVRDUDE که در preferences بود، با منویی که در properties پروژه وجود دارد، متفاوت است.) سپس در قسمت پروگرامر، کانفیگ USBASP که در مرحله قبل ساختیم را انتخاب کرده و OK را بزنید.

آموزش ایجاد پروژه AVR جدید در نرم افزار Eclips

پس از اینکه پروژه خود را بیلد کردید، می‌توانید با استفاده از دکمه آپلود در بالای Eclips فایل هگز خود را به راحتی بر روی میکروکنترلر آپلود کنید!

 

جمع بندی

آیا هر بار برای ایجاد یک پروژه AVR Eclips جدید باید تمام مراحل بالا را طی کنید؟ قطعاً نه! زیرا ما در اینجا یک سری تنظیمات را برای بار اول انجام دادیم و دفعات دیگر، بسیاری از این مراحل انجام شده‌اند. شما تنها کافی است تا از طریق منوی File->New C project یک پروژه جدید با نام دلخواه و برای میکروکنترلر خود ایجاد کنید، سپس بر روی پروژه فولدر سورس و فایل سورس را بسازید. در properties پروژه نیز تنظیمات بیلد را برای ساخته شدن فایل HEX مطابق تصویر انتخاب کنید. در قسمت AVRDUDE نیز کانفیگ مربوط به پروگرامر خود را (USBASP) که ساختید، انتخاب کنید.

اطلاعات
26
0
لینک و اشتراک
profile

Digi Boy

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

به دانش فزای و به یزدان گرای، که او باد جان تو را رهنمای (فردوسی)

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
سپهر گفت :
۱۴۰۳-۰۳-۱۳ ۱۸:۱۴

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

profile
as گفت :
۱۴۰۲-۰۲-۲۲ ۱۹:۳۸

نمیشه بجای این همه تنظیمات از win avrاستفاده کنیم؟

profile
Zeus ‌ گفت :
۱۴۰۲-۰۷-۰۷ ۱۵:۵۶

میشه 🙂

profile
asghar گفت :
۱۴۰۲-۰۲-۲۱ ۱۳:۳۰

سلام
توی اتمل استودیو برای تنظیم فرکانس میکرو یه #define F_CPU 1000000 مینوشتیم خودش فرکانس رو میبرد رو 1 مگاهرتز در اینجا هم چنین قابلیتی وجود داره؟
مثلا وسط پروژه بخوایم فرکانس میکرو رو عوض کنیم باید یه پروژه جدید ایجاد کنیم ؟ یا راهی برای تغییرش هست؟

profile
Zeus ‌ گفت :
۱۴۰۲-۰۷-۰۷ ۱۶:۱۷

بله هست، توی تمظیمات پروژه رو ببینید قسمت دیفاین ها باید باشه

profile
میثم گفت :
۱۴۰۱-۰۸-۰۷ ۱۲:۱۰

سلام و خسته نباشید
من نمیتونم به قسمت قبل برم و محیط eclips برای avr اماده کنم
چند روز پیش هم تست کردم صفحه باز میشه و خطای 404 میده
ممنون از شما.

profile
حامد کاظمی گفت :
۱۴۰۱-۰۱-۲۱ ۲۲:۵۶

سلام و خدا قوت .
با آرزوی قبولی طاعات و عبادات شما .
ببخشید در حال حاضر در آخرین مرحله برای دریافت خروجی از برنامه با این error روبرو شدم :
make***[makefile53:GPIO1.elf] error1
کهGPIO اسم پروژم هست !!
سراغ Path هم رفتم و درست بود و cmd همون پیغامی که گفتید رو نمایش داد .
البته هم هدر فایل های avr/io و until/delay و هم رجیستر های میکرو mega32 همگی از طرف eclipse با خط قرمز مشخص شدن و خطا گرفته شدن .
نمیدونم اشکال از کجاست راهنمایی بفرمایید .

profile
Zeus ‌ گفت :
۱۴۰۱-۰۱-۲۲ ۰۹:۵۱

سلام و درود – لطف میکنید چند تا نکته رو بگید
۱. آیا ویندوز هستید یا لینوکس
۲. مراحل رو مثل آموزش قسمت قبلی پیش رفتید
۳. ورژن eclipse چنده (توصیه میکنم از ورژن آموزش استفاده کنید)
۴. تصویری از خطا رو میشه جایی آپلود کنید و اینکش رو قرار بدید

profile
حامد کاظمی گفت :
۱۴۰۱-۰۱-۲۳ ۱۳:۴۱

سلام مجدد .
نسخه (با بد بختی گرفتم چون لینکش تحریم شده)eclipse c/CPP mars2
ویندوز ۱۰
مراحل طبق آموزش پیش رفتم .
مشکل شناسایی نکردن رجیستر های io و کلا هر چیزی مربوط به میکرو هست .
رجیستر های پورت رو میزنه can not resolved زیرش خط قرمز میکشه …
بیلد کنی هموم ارور پست اول رو میده ….!!

profile
Zeus ‌ گفت :
۱۴۰۱-۰۱-۲۴ ۰۹:۵۰

خوب بسیار عالی ، اینها خطا نیستند در واقع هشدار هستن که خود ide داره به شما میده الان اگر این هشدارها رو نادیده بگیرد آیا برنامه تون کامپایل میشه ؟ یا خطای هنگام کامپایل دارید
اینو بهم بگید اگر خطایی نیست بگم چطور میشه اون هشدارها رو غیرفعال کرد.

profile
حامد کاظمی گفت :
۱۴۰۱-۰۱-۲۵ ۰۲:۵۸

سلام .
نه دیگه بیلد نمیکنه .
همون ارور کامت اولم که نوشتم رو میده . هشتار هم نیست … خطاست . نوشته error نه warning …

profile
Zeus ‌ گفت :
۱۴۰۱-۰۱-۲۷ ۱۱:۵۹

سلام
شما تمام مراحل رو مثل همین آموزش طی کردید ؟
کل متن خطایی که میده رو بذارید که بتونم متوجه بشم خطا از کجاست و به چه دلیله

profile
میثم کهن گفت :
۱۴۰۰-۱۲-۱۳ ۱۶:۳۳

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

profile
Sisoog Os گفت :
۱۴۰۰-۱۲-۱۴ ۱۷:۰۰

سلام دوست عزیز
به نظرم اگر با همون کدویژن راحت هستید خودتون را اذیت نکنید و از همون بستر استفاده کنید
ولی خب یه سری اموزشها را ما اینجا منتشر کردیم که میتونه پایه خوبی باشه

profile
danny گفت :
۱۴۰۰-۰۵-۳۰ ۱۳:۳۲

سلام
چطور میشه کتابخونه های مختلف رو به برنامه اضافه کرد؟

profile
Digi Boy گفت :
۱۴۰۰-۰۵-۳۰ ۱۵:۳۲

درود بر شما
بر روی پروژه کلیک راست کرده و از طریق منوی زیر، مسیر کتابخانه‌های استاندارد زبان C را به برنامه خود اضافه کنید!
Properties > C/C++ Build > Settings > AVR C Linker > Libraries
همین طور با کپی و پیست کردن فایل های دیگر کتابخانه ها به پروژه!

profile
Danny گفت :
۱۴۰۰-۰۵-۳۰ ۱۶:۲۶

این کار رو کردم اما خطا میده.
make: *** [LCD.elf] Error 258

profile
Digi Boy گفت :
۱۴۰۰-۰۵-۳۱ ۰۸:۵۷

شما فقط فایل‌های کتابخانه رو در پروژه کپی پیست کنید، تنظیمات بیلد پروژه رو تغییر ندهید.
مطمئن هستید که avr-gcc در path ویندوز اضافه شده؟ احتمالاً مشکل از path باشه. داخل CMD دستور avr-gcc رو وارد کنید، باید خروجی شبیه به این دریافت کنید:
avr-gcc: fatal error: no input files
compilation terminated.

profile
Danny گفت :
۱۴۰۰-۰۶-۰۱ ۰۰:۱۸

متشکرم، مشکل برطرف شد.

profile
Digi Boy گفت :
۱۴۰۰-۰۶-۰۱ ۰۸:۵۵

امیدوارم همیشه موفق باشید!

profile
aria گفت :
۱۴۰۰-۰۵-۱۸ ۱۲:۱۷

سلام برای atmel stdio با avr wizard میشه code generate کرد راهی هست که بشه اون رو به eclips اضافه کرد ؟ یا برنامه دیگری وجود داره که بتونه این کار رو قابل اعتماد انجام بدیم ؟

profile
Digi Boy گفت :
۱۴۰۰-۰۵-۱۹ ۱۰:۵۰

درود بر شما!
این برنامه متن باز رو میتونید استفاده کنید:
https://sourceforge.net/projects/pcogenavr/

profile
غلامی گفت :
۱۴۰۰-۰۲-۰۷ ۰۰:۴۱

ساعت ۱۲:۳۹ نیمه شب
بالاخره تونستم اولین برنامم رو برای avr با زبون c و در اکلیپس بنویسم. خیلی لذت بخشه … سیسوگ عااشقتم

profile
Digi Boy گفت :
۱۴۰۰-۰۲-۰۸ ۱۰:۴۱

درود بر شما، خیلی خوشحال شدیم ?

profile
ashkan گفت :
۱۴۰۰-۰۲-۰۶ ۰۰:۴۶

اینجور آموزش ها فقططط تو سیسوگ پیدا میشه. . . خیییلی عالیه دمتون گرم.. خدا قوت خیلی منتظر این قسمت بودم

profile
Digi Boy گفت :
۱۴۰۰-۰۲-۰۸ ۱۰:۴۲

ممنون.
لطفا ما رو به دوستاتون و دوستای دوستاتونم معرفی کنید ?

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله