چرا و چگونه از Atmel studio استفاده کنیم؟

blog
۱۳۹۷-۰۴-۰۲
6 دقیقه

چرا 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

شروع کار با Atmel Studio و ایجاد برنامه جدید:

پس از کامل شدن نصب و اجرای برنامه، در صفحه شروع یا Start Page جهت ایجاد پروژه جدید گزینه new project را انتخاب می‌کنیم:

 

پنجره اصلی Atmel Studio

 

در پنجره بازشده، از ستون وسط صفحه، گزینه چهارم را انتخاب می‌کنیم. در قسمت Name نیز نام پروژه را وارد می‌کنیم. در صورت زدن تیک Create directory for solution پوشه جداگانه‌ای برای فایل‌های پروژه ایجاد می‌گردد:

 

ساخت پروژه جدید در Atmel Studio

 

با زدن دکمه OK وارد پنجره Device Selection شده و مدل میکروکنترلر موردنظر را انتخاب می‌کنیم. در این مقاله جهت سهولت کار، ما از برد آماده Arduino Nano استفاده خواهیم کرد. همان‌طور که می‌دانید برد آردوینو نانو بر پایه چیپ Atmega328p ساخته و تولید شده است. به همین دلیل ما نیز میکروکنترلر ATmega328p را انتخاب می‌کنیم. در سمت راست این صفحه دیتاشیت و پروگرامرهایی که از این مدل میکروکنترلر پشتیبانی می‌کنند را می‌توان مشاهده کرد:

 

انتخاب میکروکنترلر در Atmel Studio

 

با زدن دکمه OK پروژه ایجاد شده و وارد پنجره زیر می‌شویم:

 

منوی کامپایل در Atmel Studio

 

به بخش جذاب مقاله می‌رسیم: کدنویسی با استفاده از 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 میلی‌ثانیه تأخیر ایجاد می‌کند.

با انتخاب گزینه Build Solution از منوی Build و یا با فشردن کلید F7، برنامه کامپایل شده و فایل Hex آن در پوشه Debug پروژه ایجاد می‌گردد.

پس از کامپایل در پایین صفحه در پنجره Output نتیجه کامپایل و اطلاعاتی نظیر حجم حافظه استفاده‌شده نمایش داده می‌شود. خطاها در پنجره Error List نمایش داده می‌شوند.

نمایش اتمام کامپایل در Atmel Studio

 

در صورتی‌که برای اولین بار برنامه را کامپایل کردید و پنجره زیر ظاهر شد، گزینه Simulator را انتخاب کنید:

 

پنجره نرم افزار Atmel Studio

 

نحوه پروگرام برنامه‌های نوشته‌شده با Atmel Studio با استفاده از برد Arduino Nano:

اگر تاکنون برد Nano را با کابل USB به کامپیوتر خود متصل نکرده‌اید، باید با توجه به نوع آی سی USB برد آردوینو که از دو مدل CH340 یا FT232RL  است، Driver برد را برای ویندوز خود نصب کنید.

آموزش نصب Driver برد Arduino Nano را می‌توانید در این سایت مشاهده کنید. پس از نصب Driver پروگرامر، باید این برد را به عنوان پروگرامر به Atmel Studio معرفی کنید.

در صورتی‌که برنامه Arduino قبلاً بر روی سیستم شما نصب شده باشد، باید ابتدا مسیر قرارگیری برنامه avrdude.exe را که به‌طور پیش‌فرض در پوشه C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe است را کپی کنیم.

 

انتخاب AVR Dude

 

به پنجره External Tools از منوی Tools برنامه Atmel Studio رفته و دکمه Add را جهت ایجاد پروگرامر زده و سپس در قسمت Command آدرس برنامه avrdude را قرار می‌دهیم:

تنظیم پروگرامر در Atmel Studio

 

تنظیمات avrdude در نرم افزار Atmel Studio

در قسمت Title هم یک نام برای پروگرامر وارد می‌کنیم. فایل avrdude.conf را نیز از مسیر نصب برنامه Arduino جست‌وجو کرده و پس از کپی کردن فایل، آن را در یک مسیر مشخص (مثلاً  C:\avrdude) قرار می‌دهیم و در قسمت Argument نیز پارامتر زیر را وارد می‌کنیم:

سپس کلید OK را می‌زنیم.

نحوه اضافه کردن پروگرامر به Atmel را نیز می‌توانید از پست قرار داده‌شده در سایت www.medium.com مطالعه کنید.

 

اکنون کلید F7 را جهت کامپایل برنامه می‌زنیم. با انتخاب زیر منوی Programm از منوی Tools پنجره زیر باز می‌شود:

پروگرام میکروکنترلر در Atmel Studio

با زدن کلید OK برنامه در میکروکنترولر، پروگرام می‌شود و Led روی برد نیم ثانیه یک‌بار چشمک می‌زند.

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

حامد عباسیان

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

زمینه تخصصی فعالیتم برنامه نویسی میکروکنترلر و طراحی مدارات میکروکنترلری هست.از علایقم کارکردن در زمینه اینترنت اشیاء و سیستم های ردیابی است که در این زمینه ها در حال فعالیت هستم

مقالات بیشتر
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
Yousef گفت :
۱۴۰۳-۰۷-۱۴ ۱۳:۰۲

ایول، اتفاقی این پست را دیدم. سالها پیش من هم دقیقا به دلیلی مشابه به خاطر باگی نا بخشودنی، حتی قبل از آمدن Atmel Studio یا نسخه های اولیه اش AVR Studio از کدویژن به AVR GCC و eClipse مهاجرت کردم.

profile
جواد امینی گفت :
۱۴۰۳-۰۴-۲۷ ۱۸:۱۳

درود بر شما.من به یک کتابخانه برا آل سی دی نیاز دارم. دو تا دارم ولی لازمه که یه داده را از یه تابع بگیرم بدم به یکی دیگه و بعد چاپش کنم. هیچ کدام این کار نمیکنه.قبلا تو کدویژن این مشکل را نداشتم.

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

سلام چرا خودتون نمی نویسید 🙂

profile
جواد گفت :
۱۴۰۳-۰۳-۱۴ ۱۰:۵۹

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

profile
جواد امینی گفت :
۱۴۰۳-۰۱-۲۵ ۰۴:۰۰

درود. ای کاش از اول با اتمل شروع میکردم. کد ویژن بد عادتمون کرده .
به دلیل مشکل اختلال وقفه ها تو کد ویژن اومدم سمت اتمل. امید وارم ارزش داشته باشه و مشکل را حل کنه. تو کد ویژن یه برنامه نوشتم و سخت افزارش را هم ساختم، ولی وقتی وقفه خارجی فعال میشه وقفه یوزارت دیگه کارش را خوب و درست انجام نمیده. گفتم شاید برا کدویژن کرک شده باشه. برا همین اومدم سمت اتمل. از همین اول هم به مشکل که اتمل ۷ رو ویندوز ۷ کار نمیکنه. مجبورم ۶ نصب کنم و……..

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

سلام دوست عزیز
این که مهاجرت کردید به یه پلتفرم که از طرف خود شرکت ارائه شده خیلی خوبه و مطمئن باشید که ارزشش رو داره
ولی من فکر میکنم مشکل شما از جای دیگه میتونه باشه و اون هم احتمالا تکرار خیلی زیاد اون وقفه خارجی باشه یا این که توی وقفه خارجی خیلی پرادزش سنگینی انجام میدید

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

سلام .
بنده در اتمل استودیو به مشکل چالش برانگیزی برخوردم .
بنده یک فایل کتابخانه .h برای ماژول Nokia 5110 LCD نوشتم و قصد دارم که با تعریف یک آرایه از کد های تصویر bitmap در حافظه flash (باprogmem) اقدام به نمایش تصویر روی LCD کنم . پروژه بدون هیچ مشکلی build شد و خطایی نداشت .
اما در شبیه سازی با Proteus با خطای invalid opcode مواجه میشم و در متن خطا دیدم که یکی از کدهای bitmap رو داره به عنوان invalid opcode در یک آدرس از flash شناسایی میکنه و مدار در عمل هم کار نمیکنه .
کلی بهش ور رفتم و فهمیدم با حذف آرایه مشکل برطرف میشه و کتابخانه nokia5110 درست کار می‌کنه ولی چرا؟
چطور کامپایلر کد داده و opcode رو قاطی می‌کنه ؟ راه حلش چیه ؟
ممنون میشم راهنمایی کنید …..

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

عالیییییییییییییییییی
تشکر فراوان
از سیسوگ و تیم خوبش

profile
فردین خانی گفت :
۱۳۹۹-۰۹-۰۱ ۰۰:۰۹

سلام
من یه پروگرامر usbasp دارم ، میخوام به atmel7 اضافش کنم
ممنون میشم کسی راهنماییم کنه
چندتا کلیپ دیدم اما آدرس هایی که دادن برای اضافه کردن با atmel نصب شده روی سیستمم هم خوانی نداره

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

سلام متاسفانه تا اونجا که میدونم به شکل رسمی توسط این ادیتور پشتیبانی نمیشه
ولی میتونید با استفاده از avrdude و شورت کد ازش استفاده کنید
برای این کار آموزش زیر رو ببینید
atmel-studio-avrdude

profile
shkrm گفت :
۱۳۹۹-۰۵-۱۷ ۰۲:۵۰

سلام . یبار اتفاقی گزینه ای رو تو اتمل استدیو زدم که پایین صفحه حجم برنامه و حجم تک تک روتین هارو نشون میداد . هر کاری میکنم پیداش نمیکنم اون گزینه رو . میشه راهنمایی کنید .

profile
احسان گفت :
۱۳۹۹-۱۰-۲۳ ۱۹:۱۵

سلام مهندس با عرض خسته نباشی میشه از اتمل استادیو فایل هگز استخراج کرد و با پروگرامر avr بر روی میکرو مثلا attiny بریزیم .

profile
زئوس Zeus گفت :
۱۳۹۹-۱۰-۲۴ ۰۹:۲۸

سلام دوست عزیز
بله امکانتش هست ، اگه به شکل پیشفرص فایل هگز یا بین رو نمی سازه مطمينم جایی یه تیک داره که اگه بزنی این کار رو می کنه ولی خیلی وقته باهاش کار نکردم درست خاطرم نیست کجاست

profile
زئوس Zeus گفت :
۱۳۹۹-۰۵-۱۷ ۰۸:۰۸

حجم برنامه منطقیه و فکر کنم گزینه داره ولی حجم تک تک روتین ها رو تا حالا ندیدم !!!!!
فکر کنم گزینه لاگ رو فعال کرده باشید

profile
shkrm گفت :
۱۳۹۹-۰۵-۱۸ ۲۲:۳۱

سلام . پیداش کردم . این قابلیت برای اکستنشن Data size viewer هستش که امکان نمایش حجم کلیه روتین ها و متغییر هارو میده .

profile
زئوس Zeus گفت :
۱۳۹۹-۰۵-۱۹ ۰۹:۱۱

چه عالی – چکش کنم ببینم چی هست
ممنون که اینجا به اشتراکش گذاشتید.

profile
shkrm گفت :
۱۳۹۹-۰۵-۱۷ ۱۷:۳۲

دقیقا حجم هر تابع و بلوک و حجم استراکچرها و متغییر هارو نشون میداد . اینکه چند بایتن هر کدوم . در قسمت output پایین صفحه نشون میداد . فک کنم به سیمولینکش مربوط بشه

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

با سلام
من تازه شروع کردم با میکروکنترلرها کار کنم با این برنامه اتمل استودیو7 هیچ گونه اشنایی ندارم.
نمیدانم باچه دستوراتی شروع کنم با سی بنویسم یا سی پلاس پلاس کدوم سریعتر وراحتره
از کتابخانه چگونه استفاده کنم
متاسفانه هیچ منبع خوبی پیدا نکردم. چه انگلیسی چه فارسی. ایا دستورات کدویژن با اتمل یکسان هستش.
کدویژن زیاد کتاب هست اما اتمل نیست.
لطفا راهنمایی کنید
چطور دستورات را اجرا کنم اگر نشه باید برم همون کد ویژن کار کنم. با تشکر

profile
علی ترابی گفت :
۱۳۹۹-۰۵-۲۰ ۱۴:۴۵

با سلام به کامران عزیز و کسب اجازه از جناب زئوس
شما برای راه افتادن و پیدا کردن دید کلی نسبت به کلیات کامپایلر های 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

profile
کامران گفت :
۱۳۹۹-۰۵-۲۰ ۲۲:۲۵

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

profile
زئوس Zeus گفت :
۱۳۹۹-۰۱-۲۴ ۰۹:۱۸

سلام دوست عزیز
ببینید برای برنامه نویسی که از زبان سی می تونید استفاده کنید البته سی پلاس پلاس هم خوبه ولی خوب برای شروع شاید سی دردسر کمتری داشته باشه !‌
خوب قبلا برای برنامه نویسی توی کدویژن چطور کد می نوشتید تو اتمل استودیو هم همونه ! البته کتابخانه های که لازمه include کنید متفاوته اسمشون که اگر چند تا سمپل کد رو نگاه کنید میتونید تفاوت ها رو به خوبی متوجه بشید. اولین و بیسیک ترین چیزی که لازمه include بشه کتابخانه avr/io.h هست
منوال کتابخانه ها رو هم میتونید از لینک زیر ببینید :
https://www.nongnu.org/avr-libc/user-manual/modules.html

profile
حمید رضا گفت :
۱۳۹۹-۰۱-۲۱ ۱۱:۴۸

سلام
ممنون و سپاس بابت مطالب خوبی که همیشه در اختیار دیگران قرار میدید.
یک سوال دارم.
چرا در زمان ایجاد پروژه گزینه GCC C executable project را انتخاب نکردید؟ و بجاش GCC C++ executable را انتخاب کردید؟
میشه بقیه گزینه ها را هم توضیح بدید؟

profile
زئوس Zeus گفت :
۱۳۹۹-۰۱-۲۳ ۱۱:۳۸

سلام شما میتونید گزینه GCC C executable project رو انتخاب کنید با خیال راحت کد سی بنویسید من فکر میکنم شاید میخواستند کد سی پلاس پلاس بنویسند که گزینه GCC C++ executable رو انتخاب کردند.

profile
معین گفت :
۱۳۹۸-۱۲-۲۳ ۱۸:۳۷

سلام خسته نباشین
من خواستم که کار با اتمل استودیو شروع کنم برای همین یه برنامه ساده نوشتم که مطمئنا اروری نداره.وقتی که کامپیال میکنم توی قسمت ارور مینویسه recipie for target ‘main.o’faild
خیلی پرس و جو کردم و همه میگن انتی ویروستو باید غیرفعال کنی که انجام دادم و فایده ای نداشت.
ممنون میشم اگه راه حلشو بگین

profile
زئوس Zeus گفت :
۱۳۹۸-۱۲-۲۴ ۰۹:۲۶

امم خوب داره میگه به دلیلی نتونسته فرایند کامپایل کامل بشه
اگه لاگ کامل خروجی کامپایلر رو قرار بدید بهتر میشه نظر داد.
ولی چیزی که عمومیت داره اینه که نام کاربریتون یا فاصله توش هست یا کارکتر هایی مثل & – اینا برای تولز های لینوکسی (GCC ) چیز معمولی نیست و ممکنه خطا ایجاد کنه

profile
معین گفت :
۱۳۹۹-۰۲-۰۱ ۲۰:۱۶

سلام.ببخشید دوباره وقتتون میگیرم
وقتی روی ارور کلیک میکنم میره روی این متنی که توی این لینک گذاشتم https://pastecode.xyz/view/2b4dcdbe
خیلی ممنون میشم اگه نگاهی بهش بندازن

profile
معین گفت :
۱۳۹۹-۰۱-۰۹ ۱۹:۳۲

خیلی ممنون ولی نتونستم درستش کنم
http://s7.picofile.com/file/8392367984/Screenshot_88_.png این عکسشه ممنون میشم اگه یه نگاهی بهش بندازین

profile
زئوس Zeus گفت :
۱۳۹۹-۰۱-۱۶ ۱۰:۳۶

سلام تابع main رو به شکل زیر بنویسید ببنید درست میشه

int main(void)

profile
معین گفت :
۱۳۹۹-۰۱-۱۹ ۱۰:۴۶

خیلی ممنون

profile
احسان گفت :
۱۳۹۸-۱۲-۱۹ ۱۶:۳۵

سلام خسته نباشید از اون جایی ک مییشه با اتمل استودیو اسکچ اردوینو نوشت راهی وجود داره با این IDE ماژول ESP8266 رو هم نوشت؟؟؟؟

profile
زئوس Zeus گفت :
۱۳۹۸-۱۲-۲۱ ۰۹:۵۹

من از اتمل استودیو به خاطر سنگین بودنش (منظور حجم زیاد و مصرف زیاد منابع است) استفاده نمیکنم! اما اگر بخواید ازش برای esp استفاده کنید بر میگیرده به این که پروژه های مبتنی بر makefile رو پشتیبانی میکنه یا نه !!!!

profile
علی گفت :
۱۳۹۸-۱۲-۱۴ ۱۲:۴۷

با سلام
من به یک مشکل برخوردم وقتی وارد قسمت tools می شم چیزی برای شبیه سازی نمایش نمی ده و پاینش نوشته
Unsupported tool/device combination همچنین وقتی دکمه debug رو می زنم میگه backend agent not running (no tools available)

profile
زئوس Zeus گفت :
۱۳۹۸-۱۲-۲۴ ۱۰:۰۴

شما میخواید چیزی رو دیباگ کنید ؟ آیا پروگرامرتون قابلیت دیباگ داره ؟ آیا از طریق رابطی که دیباگ رو پشتیبانی میکنه پروگرامر رو به میکرو متصل کرده اید ؟

profile
علی ترابی گفت :
۱۳۹۸-۱۲-۲۹ ۲۰:۰۱

نه از قسمت simulator استفاده می کردم آخرین نسخه رو نصب کردم فعلا دیگه اینطوری نشده.

profile
زئوس Zeus گفت :
۱۳۹۹-۰۱-۰۲ ۱۳:۲۷

جالبه- من خودم کار نمیکنم با این نرم افزار – برای همین هم دیدی بهش نداشتم – تا قبل از اخرین نسخه از چه ورژنی استفاده می کردید ؟

profile
علی ترابی گفت :
۱۳۹۹-۰۱-۰۲ ۱۴:۱۳

تفاوتش تو 7.0xxxx
بود یعنی تقریبا همون بیلد نامبرش
از وقتی از codevision فرار کردم رفتم سراغ atmel studio با این مقاله شما در مورد eclipse و vscode رفتم سراغش ولی eclipse تقریبا اون جوری که انتظار داشتم سرعت نداشت و vs code هم یه جوری بود انگار تو دل یه چیزه دیگه باید برای avr برنامه بنویسی تازه کلی جونم سر نصب ioplatfome در اومد (موقع نصب گفت io core نصب نمیشه باید دستی نصبش کنید).
در کل خوبی atmel studio اینکه با اینکه خیلی سنگین و پر حجم هست ولی وقتی که میاد بالا دیگه هنگ نمیکنه و تقریبا خوبه و ضمن اینکه دیباگر شبیه سازش خیلی عالی من بیشتر از همینش خوشم میاد در کل برای من عالی
راستی شما خودتون لینوکسی هستید مثل اینکه؟ و سوال برای Avr و خانواده های armاز چی استفده می کنید؟

profile
زئوس Zeus گفت :
۱۳۹۹-۰۱-۰۲ ۱۴:۳۱

همین تفاوت های جزیی کار دست آدم میده – ممنون برای این که اینجا به اشتراک گذاشتید
بله من لینوکس کار میکنم و توی لینوکس ایکیپس خیلی خوب کار میکنه توی ویندوز یه مقداری برنامه های جاوا بیس بد اجرا میشن ! شاید دلیل کندیش همین باشه
منتوی لینوکس از gcc و ایکییپس استفاده میکنم برای تمام پلتفرم ها avr,arm,xtensa,x86,x64 – همه رو همین دو تا ابزار جواب میده و کفایت بوده تا الان
دیباگرش خوبه خوبه واقعا انصافا بخوایم نگاه کنیم ولی خوب ابزار های متن بازی هستن که با ترکیبشون میشه به چیز قابل قبولی رسید.

profile
elec110 گفت :
۱۳۹۸-۰۶-۱۶ ۱۴:۱۵

باتشکر از مطالبتون
بنظر مثل من وقت برا اتمل استادیو تلف نکنید چون دوره avr رو به پایانه .
برای avr مستقیم برید سراغ اردوینو اینقدر کامل شده که دیگه نیازی به کامپایلر دیگه ای نباشه .
همچنین برای arm هم برید سراغ stm32 که با اردوینو هم میشه باهاش کار کرد.
البته stm32 چون جدیده ارزش وقت گذاشتن روی stm32cubeide رو داره .

profile
زئوس Zeus گفت :
۱۳۹۸-۰۶-۱۷ ۱۳:۲۳

سلام دوست عزیز – چرا فکر میکنید دوره AVR تمامه ؟ ، میکروکنترلر PIC که خیلی قدیمی تر هست هنوز به شکل گسترده در حال استفاده است چه برسه به AVR 😐
البته موافقم با شما که کار کردن avrstudio وقت تلف کردن هست تا وقتی که eclipse وجود داره 🙂

profile
amir گفت :
۱۳۹۹-۰۶-۰۵ ۱۱:۲۶

سلام
چرا وقت تلف کردن؟
اکلیپس چه مزیت هایی داره که اتمل استدیو نداره؟

profile
زئوس Zeus گفت :
۱۳۹۹-۰۶-۰۷ ۱۴:۴۷

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

profile
امیرحسن گفت :
۱۳۹۸-۰۶-۱۲ ۱۸:۵۰

سلام من تمام اقدامات بالارو به ترتیب انجام دادم ولی وقتی روی اسم پروگرامر میزنم همون تصویری که شما گذاشتین میاد ولی بعد از زدن ok هیچ اتفاقی نمیافته؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

profile
زئوس Zeus گفت :
۱۳۹۸-۰۶-۱۶ ۱۰:۱۷

سلام توی این مقاله از AVRDUDE برای پروگرام کردن میکرو استفاده شده ؛
اگه ممکنه دستوراتی که رو برای اضافه کردن پروگرامر به اتمل استودیو استفاده میکنید اینجا کامنت کنید تا بشه دقیق تر نظر داد. (منظور همون خط تنظیمات و محل فایل avrdude است)

profile
اميرحسن گفت :
۱۳۹۸-۰۶-۲۰ ۱۴:۰۴

سلام ممنون زئوس عزيز ازطريق يك سايت خارجي تونستم مشكلمو حل كنم.
راستي اكثر حرفه ايا ميگن آردوينو ضعف برنامه نويسي مياره درسته؟

profile
زئوس Zeus گفت :
۱۳۹۸-۰۶-۲۰ ۱۴:۴۶

سلام
خوشحالم که تونستید مشکل رو حل کنید
اگه راه حل رو اینجا به اشتراک بذارید دوستانی که مشکل شما رو پیدا میکنند سریعتر به راه حل میرسند
نه آردینو چنین کاری نمیکنه؛ واقعا این حرف خنده داره مقاله ای نوشتم و راجب آردوینو حرف زدم؛ فکر کنم اونو بخونید خالی از لطف نباشه
آردوینو خوب، بد، زشت ! همه چیز درباره آردوینو

profile
علی گفت :
۱۳۹۸-۰۴-۰۶ ۰۷:۰۲

سلام و ممنون بابت مطالب خوبتون…
آقا برا من تو راه اندازی این برنامه مشکلی پیش اومده که هر چی هم میگردم دنبال راه حلش چیز درست و حسابی پیدا نمیشع!!!
من هر برنامه ای رو که Build میکنم این Error رو میده ….

recipe for target ‘main.o’ failed

هرچی هم سرچ کردم چیز معقولی به چشمم نخورد . ممنون میشم اگر بدونین قضیه این Error چیه و به من بگین …
با تشکر

profile
زئوس Zeus گفت :
۱۳۹۸-۰۴-۰۹ ۱۱:۲۱

یه بار پوشه debug رو پاک کنید و بعد بیلد بگیرید ببیند خطا میده یا نه
اگر داد لاگ کامل رو قرار بدید

profile
علی گفت :
۱۳۹۸-۰۴-۱۱ ۱۳:۴۰

داداش ممنون از پاسخ تون …
مشکل از ویندوز بود و حل شد …

profile
arman.khani گفت :
۱۳۹۸-۰۱-۱۱ ۱۵:۵۸

بسیار سخت و خسته کننده هستش خدا باعث و بانیش رو لعنت کنه

profile
زئوس Zeus گفت :
۱۳۹۸-۰۱-۱۹ ۰۹:۱۷

شاید اولش اینطور به نظر برسه ولی بعد خوب میشه 🙂

profile
محمود گفت :
۱۳۹۷-۱۱-۱۵ ۱۳:۱۵

من خیلی دوست دارم از atmel studio استفاده کنم ولی هر چی می گردم منبع کاملی به زبان فارسی برای یاد گیری آن وجود نداره… همه در همین حد است.

profile
زئوس Zeus گفت :
۱۳۹۷-۱۱-۲۷ ۱۱:۰۰

خوب واقعا شما دنبال چه چیزی بیشتر از این میگردید ؟
اگر قبلا تجربه کار با کامپایلر های C رو داشته باشید این میشه مقدمه خوبی که بتونید ازش استفاده کنید !

profile
کمیل گفت :
۱۳۹۷-۱۰-۱۸ ۱۰:۱۲

سلام و ممنون بابت سایت و زحماتتون برای ارتقای دانش ایران عزیز
اما یک پیشنهاد: می‌تونید توی مطلبتون برای دور زدن تحریم‌ها لینک سایت https://shecan.ir رو هم قرار بدید که کاربراتون راحت بتونن از سایت‌هایی که مارو تحریم کردن استفاده کنن.
ممنون

profile
زئوس Zeus گفت :
۱۳۹۷-۱۰-۲۰ ۰۹:۰۴

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

profile
V گفت :
۱۳۹۷-۰۹-۰۲ ۰۰:۵۴

atmel studio یکسری مزایا مث هوشمند بودن در کد نویسی و اصلاح و دیباگ داره(به خاطر استفاده از visual studio)
ولی یکسری معایب هم هنگام کامپایل داره که مثلا من یکجا ازPORTB استفاده کرده بودم ولی در ابتدا DDRB نزده بودم که در کدویژن اررور میده ومشخص میشه ولی اتمل استدیو اینطور نیست و خیلی وقتمو گرفت این مسئله کوچیک

profile
زئوس Zeus گفت :
۱۳۹۷-۰۹-۰۲ ۱۱:۵۷

کدویژن رو نمیدونم ایا چنین چیزی رو خطا میده یا نه ولی فکر نکنم خطا بده چون فرض کنید شما بخواید پایه ای رو پول آپ کنید وقتی ورودی هست ! اون موقع که خطا میده ؟
ولی جالبه موضوع – تست میکنم

profile
محمد گفت :
۱۳۹۷-۰۸-۲۱ ۲۰:۱۱

ممنون

profile
v گفت :
۱۳۹۷-۰۷-۲۸ ۱۱:۴۵

سلام
واقعا خوبید
آموزش اتمل استدیو باز هم ادامه بدید
راستی 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

profile
زئوس Zeus گفت :
۱۳۹۷-۰۷-۲۹ ۱۰:۳۶

سلام دوست عزیز
بله درسته حق با شماست ، پورت کام برای هر سیسمتی باید با توجه به پورت بورد تغییر کنه !
فکر میکنم مدل برد شما nano نباشه ، یا این که برد رو جدیدا تهیه کردید ، چون باوود رو 115200 گذاشتید.

profile
سعید گفت :
۱۳۹۷-۰۷-۲۶ ۱۹:۵۰

سلام بسیار آموزش با کیفیتی بود به من در اتخاب ide خیلی کمک کرد اگر ممکن است باز هم در مورد این محیط و ویژگیهای آن مطلب بنویسید.
اگر ممکن است در مورد سرعت اجرای برنامه های هگز در میکرو که توسط gcc نوشته شده با iar هم داشته باشید البته از نظر حجم در خود سایت iar مقایسه ای پیدا کردم .
به هر حال محیط متن باز و رایگان مزیتهای زیادی داد و من ترجیح می دهم از اتمل استودیو استفاده کنم.و در جایی که مسله زمان مطرح است از اسمبلی در کنار سی استفاده کنم.راهنمایی شما در این مورد چیست؟

profile
زئوس Zeus گفت :
۱۳۹۷-۰۷-۲۹ ۱۰:۴۰

خواهش میکنم دوست عزیز ؛ بله همیشه متن باز خوبه 🙂
البته بله قبول دارم که iar ظاهرا راندمان بالاتری داره ولی کافیه به قیمتش هم توجه کنید ؛ اما خوب انشالله توی برنامه میذاریم که تست از راندمان کد خروجی هم توی GCC و هم IAR داشته باشیم.
جاهایی که زمان بندی خیلی مهم باشه توابع رو با اسمبلی مینویسم ؛ اینطوری کنترل بهتری روی اجرای کد خواهیم داشت و زمان رو بهتر مدیریت خواهیم کرد.

profile
Ali گفت :
۱۳۹۷-۰۴-۰۳ ۱۳:۱۴

سلام دوست عزیز ببخشید با توجه به فروش شرکت اتمل توسط مایکروچیپ آیا از این کامپایلر هنوز پشتیبانی میشه و براش آپدیت میاد؟

profile
زئوس Zeus گفت :
۱۳۹۷-۰۴-۰۳ ۱۷:۳۲

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

profile
دانش گفت :
۱۳۹۷-۰۴-۰۳ ۱۱:۳۷

سلام
من هم موافقم اتمل استدیو بهترین کامپایل برای avr هست

profile
زئوس Zeus گفت :
۱۳۹۷-۰۴-۰۳ ۱۲:۵۹

سلام دوست عزیر
در واقع اگر بخوام به صورت کامل تر بگم ، اتمل استودیو تنها یک ویرایشگر است که از GCC به عنوان کامپایلر استفاده می کند.

become a writer

نویسنده شو !

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

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

نویسنده شو !

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

ارسال مقاله