AVR, توصیه شده, مقاله های سیسوگ, میکروکنترلر, نرم افزار eclipse, نرم افزار های الکترونیک

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

آماده سازی محیط Eclips برای برنامه نویسی میکروکنترلر های AVR

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

 

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

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

 

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

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

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

 

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

 

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

 

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

 

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

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

File ->New -> Source Folder

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

 

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

 

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

 

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

 

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

 

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

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

Windows -> preferences

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

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

General -> Workspace

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

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

C/C++ Build -> Setting

AVR C Buid Setting

 

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

بیلد پروژه 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

 

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

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

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

 

جمع بندی

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

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

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

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

  1. Avatar for as as گفت:

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

  2. Avatar for asghar asghar گفت:

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

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

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

  3. Avatar for میثم میثم گفت:

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

  4. Avatar for حامد کاظمی حامد کاظمی گفت:

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

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

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

      1. Avatar for حامد کاظمی حامد کاظمی گفت:

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

        1. Avatar for Zeus ‌ Zeus ‌ گفت:

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

          1. Avatar for حامد کاظمی حامد کاظمی گفت:

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

          2. Avatar for Zeus ‌ Zeus ‌ گفت:

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

  5. Avatar for میثم کهن میثم کهن گفت:

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

    1. Avatar for Sisoog Os Sisoog Os گفت:

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

  6. Avatar for danny danny گفت:

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

    1. Avatar photo Digi Boy گفت:

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

      1. Avatar for Danny Danny گفت:

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

        1. Avatar photo Digi Boy گفت:

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

          1. Avatar for Danny Danny گفت:

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

          2. Avatar photo Digi Boy گفت:

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

  7. Avatar for aria aria گفت:

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

    1. Avatar photo Digi Boy گفت:

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

  8. Avatar for غلامی غلامی گفت:

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

    1. Avatar photo Digi Boy گفت:

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

  9. Avatar for ashkan ashkan گفت:

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

    1. Avatar photo Digi Boy گفت:

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

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

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