برنامه نویسی میکروکنترلر AVR ; برای برنامه نویسی میکروکنترلرها کامپایلرهای تجاری و رایگان متفاوتی موجود است. بعضی از این کامپایلرها توسط شرکتهای قدرتمند و قدیمی مانند IAR SYSTEM طراحی و با قیمت بسیار زیادی روانهی بازار شدهاند. در بین کامپایلرهای تجاری, تعدادی هستند که مهمترین کاربرد آنها در زمینه آموزش مبانی برنامهنویسی میکروکنترلر ها و شروع اولیه با این مدارات مجتمع است و قدرت لازم برای استفاده در کارهای تجاری و حرفهای را ندارند. در مقابل کامپایلرهای تجاری, کامپایلرهایی با عنوان رایگان یا سورس باز( open source ) قرار گرفتهاند. یکی از مهمترین مترجمهایی که در این گروه موجود است; GCC یا مجموعه کامپایلرهای گنو (GNU Compiler Collection) نام دارد.
مجموعه کامپایلرهای گنو ( GCC ) :
برای آن دسته از دوستانی که ممکن است آشنایی زیادی با این کامپایلر نداشته باشند, توضیحاتی را ارائه میدهم: مجموعه کامپایلرهای گنو یا GNU Compiler Collection که به اختصار GCC نیز خوانده میشود، مجموعهای از کامپایلرها برای زبانهای برنامه نویسی مختلف است که بوسیله پروژه گنو ایجاد شده است. GCC در ابتدا فقط کامپایلری استاندارد برای سیستم گنو بود. ولی امروزه در بسیاری از سیستم عاملهای مشابه یونیکس از آن استفاده میشود؛ مانند linux، BSD families، OSX که در این بین لینوکس شناخته شده ترین سیستم عامل برای مبتدیانی مانند من است. GCC برای معماریهای سختافزاری مختلف مانند AVR و ARM نیز پورت شده است.
GCC در اوایل سرنام کلمات GNU C Compiler بود. زیرا فقط توانایی کامپایل برنامههای نوشته شده به زبان C را داشت؛ که به مرور زمان قادر به ترجمه زبانهای بیشتری مانند C++، Fortran، Pascal، Java و … شد. از آن پس GCC معادل سرنام کلمات GNU Compiler Collection میباشد. (نقل قول از ویکی پدیا)
لازم به ذکر است برای کامپایل و تبدیل کد نوشته شده به زبان قابل فهم ماشین, علاوه بر کامپایلر به ابزارهای دیگری مانند اسمبلر, لینکر و…نیازمندیم. به مجموعه ی این ابزارها که برای برنامه نویسی به آنها نیاز است; زنجیره ابزار گنو یا gnu toolchain میگوییم. به عنوان مثال زنجیره ابزار گنو که برای میکروکنترلر AVR پورت شده, AVR toolchain نام دارد.
GCC یا بطور کلیتر GNU toolchain ,ابتدا تنها در سیستم عاملهای بر پایهی یونیکس قابل استفاده بود اما با توجه به قدرتمند بودن و فراگیر شدن این کامپایلر, نسخههایی از آن برای استفادهی کاربران دیگر سیستم عامل ها منتشر شد. به عنوان مثال یکی از نسخههای پورت شده برای سیستم عامل ویندوز, mingw نام دارد. پورت مربوط به پلتفرم avr avr-gcc, نام دارد. avr-gcc نیز مانند gcc در ابتدا تنها قابل استفاده در سیستم عاملهایی مانند لینوکس بود.
در اغلب کشورها, قانونی تحت عنوان قانون کپی رایت وجود دارد. به بیان ساده طبق این قانون برای استفاده از نسخه اصلی و کامل یک نرم افزار و کسب درآمد بوسیله آن, باید آن را از شرکت سازنده خرید. یعنی استفاده از ابزاری به نام کرک برای شکستن قفل نرم افزارها و فعال کردن آن, غیرقانونی و جرم محسوب میشود.البته این قانون در کشور ما برقرار نیست و میبایست اکثر نرم افزارها هنگام نصب, به اصطلاح کرک شوند.
قانون کپی رایت باعث شد نرم افزارهای رایگان در اکثر کشورها فراگیر شود. در زمینهی مهندسی برق نیز نرمافزارهای رایگان زیادی برای برنامه نویسی, طراحی pcb و…ارائه شدهاند. بدون مقدمه و اشاره به نکات ابتدایی عرض میکنم; برنامه نویسی برای تراشههای قابل برنامه ریزی, یکی از زمینههایی است که توجه علاقه مندان زیادی را به خود جلب کرده است.
از این گذشته تراشههای بسیاری از طرف شرکتهای مختلف برای اینکار ارائه شدهاند. یکی از این شرکتها, اتمل بود که میکروکنترلر های AVR را روانه بازار کرد. میکروکنترلر هایی قدرتمند که یکی از عناصر اصلی در آموزش میکروکنترلر به هنرجویان محسوب میشود. طبیعتاً با ارائه این میکروکنترلرها, کامپایلرهایی برای برنامه نویسی آنها ارائه شدند. کامپایلرهایی با پشتیبانی از زبانهای C , C++ و بیسیک. در این مقاله هدف ما تمرکز روی کامپایلر avr-gcc و ابزارهای مناسب برای بکارگیری این کامپایلراست. بنابراین بدون توجه به کامپایلرهای دیگر از کنار آنها رد میشویم!!!
نسخه ویندوزی این کامپایلر که برای برنامه نویسی به زبانهای C و C++ ارائه شد, winavr نام داشت. Winavr پکیجی مشتمل بر ابزارهای برنامهنویسی مانند linker , assembler , compiler , editor , debugger, avr-size و…میباشد.
در winavr کدهای برنامه در ویرایشگر کد programmers Notepad نوشته میشوند. تصویر زیر نمونهای از کد نوشته شده در این ویرایشگر متن است:
در نسخهی 5 به بعد نرم افزار, avr studio شرکت اتمل کامپایلر avr-gcc را مستقیما به این IDE اضافه کرد…بعد از اینکار پروژه آزاد winavr خاتمه یافت. تصویر زیر محیط نرم افزار avr studio5 را نشان میدهد:
سلام.من avr-gcc رو از کجا برای ویندوز دانلود کنم ؟ چیزی تو گوگل پیدا نکردم همشون winavr بودن که اخرین اپدیتش مال 2010 هست و خیلی قدیمیه.میشه لینک دانلودش رو بزارید؟
سلام دوست عزیز
توی سایت آتمل قدیم و میکروچیپ جدید میتونید آخرین ورژن تولچین رو دانلود کنید 🙂
از اینجا میتونید اخرین ورژنش رو دانلود کنید