چرا Atmel studio:
تا قبل از آشنایی با Atmel studio از کدویژن برای برنامهنویسی و پیادهسازی پروژه با AVR استفاده میکردم که تا مدتها نیز ادامه داشت و پروژههای نسبتاً بزرگی را با آن نوشتم؛ اما در یکی از پروژهها با باگی مواجه شدم که باعث بروز اتفاقات جبرانناپذیری در اجرای پروژه شد. بعد از بررسیهای فراوان متوجه شدم که باگ موردنظر (که در یک فرصت مناسب، در مورد آن توضیح خواهم داد) به دلیل ضعف کدویژن و یا استفاده از نسخه Crack شده آن بوده است. همین مسئله باعث شد عزم خود را جزم کرده و از کدویژن کوچ کنم. سوییچ کردن به یک کامپایلر و ویرایشگر دیگر شاید کمی زمانبر بود ولی مطمئناً ارزش وقت گذاشتن را داشت. بهترین گزینه از نظر من Atmel studio یا Avr studio است که محصولی رایگان از شرکت Atmel میباشد و با کامپایلر اپن سورس GNU کار میکند.
قبلاً در سیسوگ مقایسه تخصصی کامپایلر GCC را با نرمافزار Codevision انجام دادهایم و میتوانید جزئیات آن را در پست “کامپایلر CodevisionAVR در مقابل کامپایلر GCC و مقایسه تخصصی آنها” مطالعه کنید. از مزیتهای این برنامه رایگان بودن آن است و همچنین به دلیل اینکه توسط شرکت سازنده میکروکنترولر AVR ایجاد شده است، سازگاری کاملی با این میکرو و پردازندههای ARM دارد.
در این مقاله نحوه ایجاد یک پروژه ساده با استفاده از Atmel studio را آموزش خواهیم داد؛ پس با سیسوگ همراه باشید.
(فرض بر این است که شما با زبان C و برنامه Codevision آشنایی دارید.)
نصب برنامه Atmel Studio:
اولین مرحله دانلود برنامه است که با استفاده از این لینک میتوانید آخرین ورژن نرمافزار Atmel Studio را دانلود کنید. با انتخاب گزینه Atmel Studio 7.0 (build 1645) web installer recommended برنامه installer را دانلود میکنیم.
با اجرای فایل نصب دانلودشده، عملیات نصب را آغاز میشود. در حین نصب بهصورت خودکار عملیات دانلود atmel studio نیز انجام خواهد شد. مدتزمان نصب به دلیل حجم بالای برنامه کمی طولانی است که به سرعت اینترنت شما هم بستگی دارد. حجم فایل نصب حدود 900 مگابایت است.
شروع کار با Atmel Studio و ایجاد برنامه جدید:
پس از کامل شدن نصب و اجرای برنامه، در صفحه شروع یا Start Page جهت ایجاد پروژه جدید گزینه new project را انتخاب میکنیم:
در پنجره بازشده، از ستون وسط صفحه، گزینه چهارم را انتخاب میکنیم. در قسمت Name نیز نام پروژه را وارد میکنیم. در صورت زدن تیک Create directory for solution پوشه جداگانهای برای فایلهای پروژه ایجاد میگردد:
با زدن دکمه OK وارد پنجره Device Selection شده و مدل میکروکنترلر موردنظر را انتخاب میکنیم. در این مقاله جهت سهولت کار، ما از برد آماده Arduino Nano استفاده خواهیم کرد. همانطور که میدانید برد آردوینو نانو بر پایه چیپ Atmega328p ساخته و تولید شده است. به همین دلیل ما نیز میکروکنترلر ATmega328p را انتخاب میکنیم. در سمت راست این صفحه دیتاشیت و پروگرامرهایی که از این مدل میکروکنترلر پشتیبانی میکنند را میتوان مشاهده کرد:
با زدن دکمه OK پروژه ایجاد شده و وارد پنجره زیر میشویم:
به بخش جذاب مقاله میرسیم: کدنویسی با استفاده از atmel Studio و برنامهریزی میکروکنترلر با استفاده از آن.
در این برنامه قصد داریم led متصل به پایه پنجم از پورت B، که در برد آردوینو نانو پایه D13 است، هر نیم ثانیه یکبار چشمک بزند. این Led با حرف L بر روی برد مشخص شده است.
با توجه به اینکه فرکانس نوسانساز برد موردنظر 16 مگاهرتز است، باید به نحوی کامپایلر را متوجه این مهم کنیم؛ در غیر این صورت زمانبندیهای ایجادشده درست و دقیق نخواهد بود. برای این کار بهسادگی با استفاده از دستور پیش پردازنده (define F_CPU 16000000UL#) فرکانس کاری پردازنده را به کامپایلر اعلام و بعد از آن Header مربوط به ایجاد تأخیر را در خط 6 اضافه میکنیم. از خطوط 10 و 11 در داخل تابع main جهت تعیین ورودی یا خروجی بودن پین 5 استفاده میکنیم که در اینجا پایه موردنظر را بهصورت خروجی (خط 11 برنامه) در نظر میگیریم. خط 10 نیز تأثیری در اجرای برنامه ندارد.
در خط 15 در داخل حلقه while، با هر بار تکرار حلقه ارزش بیت POTRB5 مخالف مقدار قبلی آن میشود (عملیات xor منطقی). خط 16 نیز 500 میلیثانیه تأخیر ایجاد میکند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #ifndef F_CPU #define F_CPU 16000000UL // set oscillator 16Mhz #endif #include <avr/io.h> #include <util/delay.h> int main(void) { DDRB &=~(1<<DDB5); //input pin ---> codevision: DDRB.5=0 or DDRB=0x00 DDRB |=(1<<DDB5); //output pin ---> codevision: DDRB.5=1 or DDRB=0x10 while (1) { PORTB ^= (1<<5); //toggle pin 0/1 _delay_ms(500); } } |
با انتخاب گزینه Build Solution از منوی Build و یا با فشردن کلید F7، برنامه کامپایل شده و فایل Hex آن در پوشه Debug پروژه ایجاد میگردد.
پس از کامپایل در پایین صفحه در پنجره Output نتیجه کامپایل و اطلاعاتی نظیر حجم حافظه استفادهشده نمایش داده میشود. خطاها در پنجره Error List نمایش داده میشوند.
در صورتیکه برای اولین بار برنامه را کامپایل کردید و پنجره زیر ظاهر شد، گزینه Simulator را انتخاب کنید:
نحوه پروگرام برنامههای نوشتهشده با Atmel Studio با استفاده از برد Arduino Nano:
آموزش نصب Driver برد Arduino Nano را میتوانید در این سایت مشاهده کنید. پس از نصب Driver پروگرامر، باید این برد را به عنوان پروگرامر به Atmel Studio معرفی کنید.
در صورتیکه برنامه Arduino قبلاً بر روی سیستم شما نصب شده باشد، باید ابتدا مسیر قرارگیری برنامه avrdude.exe را که بهطور پیشفرض در پوشه C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe است را کپی کنیم.
به پنجره External Tools از منوی Tools برنامه Atmel Studio رفته و دکمه Add را جهت ایجاد پروگرامر زده و سپس در قسمت Command آدرس برنامه avrdude را قرار میدهیم:
در قسمت Title هم یک نام برای پروگرامر وارد میکنیم. فایل avrdude.conf را نیز از مسیر نصب برنامه Arduino جستوجو کرده و پس از کپی کردن فایل، آن را در یک مسیر مشخص (مثلاً C:\avrdude) قرار میدهیم و در قسمت Argument نیز پارامتر زیر را وارد میکنیم:
1 | -CC:\avrdude\avrdude.conf -v -patmega328p -carduino -PCOM8 -b57600 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i |
سپس کلید OK را میزنیم.
نحوه اضافه کردن پروگرامر به Atmel را نیز میتوانید از پست قرار دادهشده در سایت www.medium.com مطالعه کنید.
اکنون کلید F7 را جهت کامپایل برنامه میزنیم. با انتخاب زیر منوی Programm از منوی Tools پنجره زیر باز میشود:
با زدن کلید OK برنامه در میکروکنترولر، پروگرام میشود و Led روی برد نیم ثانیه یکبار چشمک میزند.
ایول، اتفاقی این پست را دیدم. سالها پیش من هم دقیقا به دلیلی مشابه به خاطر باگی نا بخشودنی، حتی قبل از آمدن Atmel Studio یا نسخه های اولیه اش AVR Studio از کدویژن به AVR GCC و eClipse مهاجرت کردم.
درود بر شما
شما این آموزش برا اتمل را ادامه ندادید یا من نمیتونم پیدا کنم. دنبال به آموزش تقریبا کامل برا اتمل میگردم. اععم از آل سی دی و کی پد و وقفه خارجی و تایمر
درود. ای کاش از اول با اتمل شروع میکردم. کد ویژن بد عادتمون کرده .
به دلیل مشکل اختلال وقفه ها تو کد ویژن اومدم سمت اتمل. امید وارم ارزش داشته باشه و مشکل را حل کنه. تو کد ویژن یه برنامه نوشتم و سخت افزارش را هم ساختم، ولی وقتی وقفه خارجی فعال میشه وقفه یوزارت دیگه کارش را خوب و درست انجام نمیده. گفتم شاید برا کدویژن کرک شده باشه. برا همین اومدم سمت اتمل. از همین اول هم به مشکل که اتمل ۷ رو ویندوز ۷ کار نمیکنه. مجبورم ۶ نصب کنم و……..
سلام دوست عزیز
این که مهاجرت کردید به یه پلتفرم که از طرف خود شرکت ارائه شده خیلی خوبه و مطمئن باشید که ارزشش رو داره
ولی من فکر میکنم مشکل شما از جای دیگه میتونه باشه و اون هم احتمالا تکرار خیلی زیاد اون وقفه خارجی باشه یا این که توی وقفه خارجی خیلی پرادزش سنگینی انجام میدید
سلام .
بنده در اتمل استودیو به مشکل چالش برانگیزی برخوردم .
بنده یک فایل کتابخانه .h برای ماژول Nokia 5110 LCD نوشتم و قصد دارم که با تعریف یک آرایه از کد های تصویر bitmap در حافظه flash (باprogmem) اقدام به نمایش تصویر روی LCD کنم . پروژه بدون هیچ مشکلی build شد و خطایی نداشت .
اما در شبیه سازی با Proteus با خطای invalid opcode مواجه میشم و در متن خطا دیدم که یکی از کدهای bitmap رو داره به عنوان invalid opcode در یک آدرس از flash شناسایی میکنه و مدار در عمل هم کار نمیکنه .
کلی بهش ور رفتم و فهمیدم با حذف آرایه مشکل برطرف میشه و کتابخانه nokia5110 درست کار میکنه ولی چرا؟
چطور کامپایلر کد داده و opcode رو قاطی میکنه ؟ راه حلش چیه ؟
ممنون میشم راهنمایی کنید …..
عالیییییییییییییییییی
تشکر فراوان
از سیسوگ و تیم خوبش
سلام
من یه پروگرامر usbasp دارم ، میخوام به atmel7 اضافش کنم
ممنون میشم کسی راهنماییم کنه
چندتا کلیپ دیدم اما آدرس هایی که دادن برای اضافه کردن با atmel نصب شده روی سیستمم هم خوانی نداره
سلام متاسفانه تا اونجا که میدونم به شکل رسمی توسط این ادیتور پشتیبانی نمیشه
ولی میتونید با استفاده از avrdude و شورت کد ازش استفاده کنید
برای این کار آموزش زیر رو ببینید
atmel-studio-avrdude
سلام . یبار اتفاقی گزینه ای رو تو اتمل استدیو زدم که پایین صفحه حجم برنامه و حجم تک تک روتین هارو نشون میداد . هر کاری میکنم پیداش نمیکنم اون گزینه رو . میشه راهنمایی کنید .
حجم برنامه منطقیه و فکر کنم گزینه داره ولی حجم تک تک روتین ها رو تا حالا ندیدم !!!!!
فکر کنم گزینه لاگ رو فعال کرده باشید
دقیقا حجم هر تابع و بلوک و حجم استراکچرها و متغییر هارو نشون میداد . اینکه چند بایتن هر کدوم . در قسمت output پایین صفحه نشون میداد . فک کنم به سیمولینکش مربوط بشه
سلام . پیداش کردم . این قابلیت برای اکستنشن Data size viewer هستش که امکان نمایش حجم کلیه روتین ها و متغییر هارو میده .
چه عالی – چکش کنم ببینم چی هست
ممنون که اینجا به اشتراکش گذاشتید.
سلام مهندس با عرض خسته نباشی میشه از اتمل استادیو فایل هگز استخراج کرد و با پروگرامر avr بر روی میکرو مثلا attiny بریزیم .
سلام دوست عزیز
بله امکانتش هست ، اگه به شکل پیشفرص فایل هگز یا بین رو نمی سازه مطمينم جایی یه تیک داره که اگه بزنی این کار رو می کنه ولی خیلی وقته باهاش کار نکردم درست خاطرم نیست کجاست
با سلام
من تازه شروع کردم با میکروکنترلرها کار کنم با این برنامه اتمل استودیو7 هیچ گونه اشنایی ندارم.
نمیدانم باچه دستوراتی شروع کنم با سی بنویسم یا سی پلاس پلاس کدوم سریعتر وراحتره
از کتابخانه چگونه استفاده کنم
متاسفانه هیچ منبع خوبی پیدا نکردم. چه انگلیسی چه فارسی. ایا دستورات کدویژن با اتمل یکسان هستش.
کدویژن زیاد کتاب هست اما اتمل نیست.
لطفا راهنمایی کنید
چطور دستورات را اجرا کنم اگر نشه باید برم همون کد ویژن کار کنم. با تشکر
سلام دوست عزیز
ببینید برای برنامه نویسی که از زبان سی می تونید استفاده کنید البته سی پلاس پلاس هم خوبه ولی خوب برای شروع شاید سی دردسر کمتری داشته باشه !
خوب قبلا برای برنامه نویسی توی کدویژن چطور کد می نوشتید تو اتمل استودیو هم همونه ! البته کتابخانه های که لازمه include کنید متفاوته اسمشون که اگر چند تا سمپل کد رو نگاه کنید میتونید تفاوت ها رو به خوبی متوجه بشید. اولین و بیسیک ترین چیزی که لازمه include بشه کتابخانه avr/io.h هست
منوال کتابخانه ها رو هم میتونید از لینک زیر ببینید :
https://www.nongnu.org/avr-libc/user-manual/modules.html
با سلام به کامران عزیز و کسب اجازه از جناب زئوس
شما برای راه افتادن و پیدا کردن دید کلی نسبت به کلیات کامپایلر های gcc یه منبع فارسی هر چند دست و پا شکسته وجود دارد به این لینک : http://s3.picofile.com/file/8225875626/%D8%A2%D9%85%D9%88%D8%B2%D8%B4_AVR_GCC.pdf.html
بعد از اون خودتون خواهید فهمید دنبال چی هستید و حتما بهتره پایه زبان c تون رو قوی کنید چون تابع gcc یا بعضی از قسمت هایش از امکاناتی بیشتری از زبان c رو استفاده می کنند. بعد از اون manual خود GCC هست که آموزش نیست چون gcc یه کامپایلر زبان c هست از همون قواد زبان c استفاده میکنه(( به علاوه تعدادی صفت (Attributes) و ویژگی های جالبی که امکان مانور دارد روی زبان c رو بیشتر به شما میده )) البته بعضی از اونها مخصوص یه معماری خاص هستند که تو راهنمای خوده gcc مشخص کرده مثلا ARM Function Attributeیا AVR Function Attribute و بعضی از اونها هم مشترک هستند یه سری کلمه ها و نوشته خاص که در زمان تعریف یک متغیر یا تابع کنار اون می نویسد تا یک ویژگی خاصی داشته باشه .. البته گفتم به جز این صفت ها امکانات جالب دیگری هم داره
راهنما رو می تونید از این لینک دانلود کنید:
https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gcc.pdf
باسپاس فراوان از شما دوست گرامی برای پاسخ به مشکلی که داشتم.
سلام
ممنون و سپاس بابت مطالب خوبی که همیشه در اختیار دیگران قرار میدید.
یک سوال دارم.
چرا در زمان ایجاد پروژه گزینه GCC C executable project را انتخاب نکردید؟ و بجاش GCC C++ executable را انتخاب کردید؟
میشه بقیه گزینه ها را هم توضیح بدید؟
سلام شما میتونید گزینه GCC C executable project رو انتخاب کنید با خیال راحت کد سی بنویسید من فکر میکنم شاید میخواستند کد سی پلاس پلاس بنویسند که گزینه GCC C++ executable رو انتخاب کردند.
سلام خسته نباشین
من خواستم که کار با اتمل استودیو شروع کنم برای همین یه برنامه ساده نوشتم که مطمئنا اروری نداره.وقتی که کامپیال میکنم توی قسمت ارور مینویسه recipie for target ‘main.o’faild
خیلی پرس و جو کردم و همه میگن انتی ویروستو باید غیرفعال کنی که انجام دادم و فایده ای نداشت.
ممنون میشم اگه راه حلشو بگین
امم خوب داره میگه به دلیلی نتونسته فرایند کامپایل کامل بشه
اگه لاگ کامل خروجی کامپایلر رو قرار بدید بهتر میشه نظر داد.
ولی چیزی که عمومیت داره اینه که نام کاربریتون یا فاصله توش هست یا کارکتر هایی مثل & – اینا برای تولز های لینوکسی (GCC ) چیز معمولی نیست و ممکنه خطا ایجاد کنه
خیلی ممنون ولی نتونستم درستش کنم
http://s7.picofile.com/file/8392367984/Screenshot_88_.png این عکسشه ممنون میشم اگه یه نگاهی بهش بندازین
سلام تابع main رو به شکل زیر بنویسید ببنید درست میشه
int main(void)
سلام.اون کارم کردم درست نشد
بغیر از atmel studio و codevision برنامه دیگه ای هست پیشنهاد کنین؟
سلام کدویژن رو که اصلا پیشنهاد نمیکنم
ولی همین اتمل استودیو خوبه – راحته – یه سوال شما روال ساخت پروژه رو مطابق همین آموزش رفتید جلو ؟ نرم افزارتون ورژن چنده ؟
بله مطابق همین آموزش رفتم جلو.ورژن هفته
فروم زیر رو ببینید این دوستمون هم همین مشکل رو داشته
https://www.avrfreaks.net/forum/recipe-target-maino-failed-atmel-studio-7
خیلی ممنون
سلام.ببخشید دوباره وقتتون میگیرم
وقتی روی ارور کلیک میکنم میره روی این متنی که توی این لینک گذاشتم https://pastecode.xyz/view/2b4dcdbe
خیلی ممنون میشم اگه نگاهی بهش بندازن
سلام خسته نباشید از اون جایی ک مییشه با اتمل استودیو اسکچ اردوینو نوشت راهی وجود داره با این IDE ماژول ESP8266 رو هم نوشت؟؟؟؟
من از اتمل استودیو به خاطر سنگین بودنش (منظور حجم زیاد و مصرف زیاد منابع است) استفاده نمیکنم! اما اگر بخواید ازش برای esp استفاده کنید بر میگیرده به این که پروژه های مبتنی بر makefile رو پشتیبانی میکنه یا نه !!!!
با سلام
من به یک مشکل برخوردم وقتی وارد قسمت tools می شم چیزی برای شبیه سازی نمایش نمی ده و پاینش نوشته
Unsupported tool/device combination همچنین وقتی دکمه debug رو می زنم میگه backend agent not running (no tools available)
شما میخواید چیزی رو دیباگ کنید ؟ آیا پروگرامرتون قابلیت دیباگ داره ؟ آیا از طریق رابطی که دیباگ رو پشتیبانی میکنه پروگرامر رو به میکرو متصل کرده اید ؟
نه از قسمت simulator استفاده می کردم آخرین نسخه رو نصب کردم فعلا دیگه اینطوری نشده.
جالبه- من خودم کار نمیکنم با این نرم افزار – برای همین هم دیدی بهش نداشتم – تا قبل از اخرین نسخه از چه ورژنی استفاده می کردید ؟
تفاوتش تو 7.0xxxx
بود یعنی تقریبا همون بیلد نامبرش
از وقتی از codevision فرار کردم رفتم سراغ atmel studio با این مقاله شما در مورد eclipse و vscode رفتم سراغش ولی eclipse تقریبا اون جوری که انتظار داشتم سرعت نداشت و vs code هم یه جوری بود انگار تو دل یه چیزه دیگه باید برای avr برنامه بنویسی تازه کلی جونم سر نصب ioplatfome در اومد (موقع نصب گفت io core نصب نمیشه باید دستی نصبش کنید).
در کل خوبی atmel studio اینکه با اینکه خیلی سنگین و پر حجم هست ولی وقتی که میاد بالا دیگه هنگ نمیکنه و تقریبا خوبه و ضمن اینکه دیباگر شبیه سازش خیلی عالی من بیشتر از همینش خوشم میاد در کل برای من عالی
راستی شما خودتون لینوکسی هستید مثل اینکه؟ و سوال برای Avr و خانواده های armاز چی استفده می کنید؟
همین تفاوت های جزیی کار دست آدم میده – ممنون برای این که اینجا به اشتراک گذاشتید
بله من لینوکس کار میکنم و توی لینوکس ایکیپس خیلی خوب کار میکنه توی ویندوز یه مقداری برنامه های جاوا بیس بد اجرا میشن ! شاید دلیل کندیش همین باشه
منتوی لینوکس از gcc و ایکییپس استفاده میکنم برای تمام پلتفرم ها avr,arm,xtensa,x86,x64 – همه رو همین دو تا ابزار جواب میده و کفایت بوده تا الان
دیباگرش خوبه خوبه واقعا انصافا بخوایم نگاه کنیم ولی خوب ابزار های متن بازی هستن که با ترکیبشون میشه به چیز قابل قبولی رسید.
باتشکر از مطالبتون
بنظر مثل من وقت برا اتمل استادیو تلف نکنید چون دوره avr رو به پایانه .
برای avr مستقیم برید سراغ اردوینو اینقدر کامل شده که دیگه نیازی به کامپایلر دیگه ای نباشه .
همچنین برای arm هم برید سراغ stm32 که با اردوینو هم میشه باهاش کار کرد.
البته stm32 چون جدیده ارزش وقت گذاشتن روی stm32cubeide رو داره .
سلام دوست عزیز – چرا فکر میکنید دوره AVR تمامه ؟ ، میکروکنترلر PIC که خیلی قدیمی تر هست هنوز به شکل گسترده در حال استفاده است چه برسه به AVR 😐
البته موافقم با شما که کار کردن avrstudio وقت تلف کردن هست تا وقتی که eclipse وجود داره 🙂
سلام
چرا وقت تلف کردن؟
اکلیپس چه مزیت هایی داره که اتمل استدیو نداره؟
سلام دوست عزیز
ببینید هر دو خوب هستند برای من استفاده از ایکلیپس بهتر و این دلیل نمیشه که بخوام بگم اتمل استدیو چیزی کم داره
شما باید ببینید با کدوم راحت تر هستید کار کنید
سلام من تمام اقدامات بالارو به ترتیب انجام دادم ولی وقتی روی اسم پروگرامر میزنم همون تصویری که شما گذاشتین میاد ولی بعد از زدن ok هیچ اتفاقی نمیافته؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
سلام توی این مقاله از AVRDUDE برای پروگرام کردن میکرو استفاده شده ؛
اگه ممکنه دستوراتی که رو برای اضافه کردن پروگرامر به اتمل استودیو استفاده میکنید اینجا کامنت کنید تا بشه دقیق تر نظر داد. (منظور همون خط تنظیمات و محل فایل avrdude است)
سلام ممنون زئوس عزيز ازطريق يك سايت خارجي تونستم مشكلمو حل كنم.
راستي اكثر حرفه ايا ميگن آردوينو ضعف برنامه نويسي مياره درسته؟
سلام
خوشحالم که تونستید مشکل رو حل کنید
اگه راه حل رو اینجا به اشتراک بذارید دوستانی که مشکل شما رو پیدا میکنند سریعتر به راه حل میرسند
نه آردینو چنین کاری نمیکنه؛ واقعا این حرف خنده داره مقاله ای نوشتم و راجب آردوینو حرف زدم؛ فکر کنم اونو بخونید خالی از لطف نباشه
آردوینو خوب، بد، زشت ! همه چیز درباره آردوینو
سلام و ممنون بابت مطالب خوبتون…
آقا برا من تو راه اندازی این برنامه مشکلی پیش اومده که هر چی هم میگردم دنبال راه حلش چیز درست و حسابی پیدا نمیشع!!!
من هر برنامه ای رو که Build میکنم این Error رو میده ….
recipe for target ‘main.o’ failed
هرچی هم سرچ کردم چیز معقولی به چشمم نخورد . ممنون میشم اگر بدونین قضیه این Error چیه و به من بگین …
با تشکر
یه بار پوشه debug رو پاک کنید و بعد بیلد بگیرید ببیند خطا میده یا نه
اگر داد لاگ کامل رو قرار بدید
داداش ممنون از پاسخ تون …
مشکل از ویندوز بود و حل شد …
بسیار سخت و خسته کننده هستش خدا باعث و بانیش رو لعنت کنه
شاید اولش اینطور به نظر برسه ولی بعد خوب میشه 🙂
من خیلی دوست دارم از atmel studio استفاده کنم ولی هر چی می گردم منبع کاملی به زبان فارسی برای یاد گیری آن وجود نداره… همه در همین حد است.
خوب واقعا شما دنبال چه چیزی بیشتر از این میگردید ؟
اگر قبلا تجربه کار با کامپایلر های C رو داشته باشید این میشه مقدمه خوبی که بتونید ازش استفاده کنید !
سلام و ممنون بابت سایت و زحماتتون برای ارتقای دانش ایران عزیز
اما یک پیشنهاد: میتونید توی مطلبتون برای دور زدن تحریمها لینک سایت https://shecan.ir رو هم قرار بدید که کاربراتون راحت بتونن از سایتهایی که مارو تحریم کردن استفاده کنن.
ممنون
خواهش میکنم
بله وقعا امکان خوبی رو فراهم کردند
خودم یکی از استفاده کنندگان هستم
امیداورم که ادامه داشته باشه این حرکت
atmel studio یکسری مزایا مث هوشمند بودن در کد نویسی و اصلاح و دیباگ داره(به خاطر استفاده از visual studio)
ولی یکسری معایب هم هنگام کامپایل داره که مثلا من یکجا ازPORTB استفاده کرده بودم ولی در ابتدا DDRB نزده بودم که در کدویژن اررور میده ومشخص میشه ولی اتمل استدیو اینطور نیست و خیلی وقتمو گرفت این مسئله کوچیک
کدویژن رو نمیدونم ایا چنین چیزی رو خطا میده یا نه ولی فکر نکنم خطا بده چون فرض کنید شما بخواید پایه ای رو پول آپ کنید وقتی ورودی هست ! اون موقع که خطا میده ؟
ولی جالبه موضوع – تست میکنم
ممنون
سلام
واقعا خوبید
آموزش اتمل استدیو باز هم ادامه بدید
راستی Argument مشکل داشت
من اینو جایگزین کردم و شماره پورت هم باید برا هر سیستمی باید ببینید چنده و عوض بشه
-C “C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf” -p atmega328p -c arduino -P COM4 -b 115200 -U flash:w:”$(ProjectDir)Debug\$(TargetName).hex”:i
سلام دوست عزیز
بله درسته حق با شماست ، پورت کام برای هر سیسمتی باید با توجه به پورت بورد تغییر کنه !
فکر میکنم مدل برد شما nano نباشه ، یا این که برد رو جدیدا تهیه کردید ، چون باوود رو 115200 گذاشتید.
سلام بسیار آموزش با کیفیتی بود به من در اتخاب ide خیلی کمک کرد اگر ممکن است باز هم در مورد این محیط و ویژگیهای آن مطلب بنویسید.
اگر ممکن است در مورد سرعت اجرای برنامه های هگز در میکرو که توسط gcc نوشته شده با iar هم داشته باشید البته از نظر حجم در خود سایت iar مقایسه ای پیدا کردم .
به هر حال محیط متن باز و رایگان مزیتهای زیادی داد و من ترجیح می دهم از اتمل استودیو استفاده کنم.و در جایی که مسله زمان مطرح است از اسمبلی در کنار سی استفاده کنم.راهنمایی شما در این مورد چیست؟
خواهش میکنم دوست عزیز ؛ بله همیشه متن باز خوبه 🙂
البته بله قبول دارم که iar ظاهرا راندمان بالاتری داره ولی کافیه به قیمتش هم توجه کنید ؛ اما خوب انشالله توی برنامه میذاریم که تست از راندمان کد خروجی هم توی GCC و هم IAR داشته باشیم.
جاهایی که زمان بندی خیلی مهم باشه توابع رو با اسمبلی مینویسم ؛ اینطوری کنترل بهتری روی اجرای کد خواهیم داشت و زمان رو بهتر مدیریت خواهیم کرد.
سلام دوست عزیز ببخشید با توجه به فروش شرکت اتمل توسط مایکروچیپ آیا از این کامپایلر هنوز پشتیبانی میشه و براش آپدیت میاد؟
در ادامه روال آپدیت و بروز رسانی فکر نمی کنم مشکلی پیش بیاد ، اما شرکت میکروچیپ ایران رو تحریم کرده ، و برای دانلود باید با تغییر آیپی تحریم ها رو دور بزنید
بجز این مساله ، مشکل دیگه ای وجود نداره و بروزرسانی ها در دسترس خواهند بود.
سلام
من هم موافقم اتمل استدیو بهترین کامپایل برای avr هست
سلام دوست عزیر
در واقع اگر بخوام به صورت کامل تر بگم ، اتمل استودیو تنها یک ویرایشگر است که از GCC به عنوان کامپایلر استفاده می کند.