امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش کامپایلر iar از صفر تا ...
نویسنده پیام
mostafa_naderi غایب
كاربر دو ستاره
**

ارسال‌ها: 145
موضوع‌ها: 14
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 474
( 320 تشکر در 119 ارسال )
ارسال: #1
آموزش کامپایلر iar از صفر تا ...
خوب هرچی ما نت و زیر و رو کردیم هیچ آموزشی راجب این نرم افزار پیدا نکردیم همه ارجاع دادن به هلپ!!
و واسه یکی مثل من که تا حالا با بسکام راحت و بی درد سر برنامه می نوشه پرش به iar یکم دشواره
این تاپیکو ایجاد کردم تا هرکی هرچی به داره بزاره وسط تا شاخه این نرم افزار و بشکنیم و بعد از ما اگه کسی خواست شروع کنه واسه کار کردن مشکلی نداشته باشه


۲۰-تير-۱۳۹۰, ۰۶:۲۶:۴۰
ارسال‌ها
پاسخ
تشکر شده توسط : mhpc2009, reza555, h0x00i, salehjg, رسول, ha_60, jenab, ms1198f
mhpc2009 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 206
موضوع‌ها: 29
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 801
( 579 تشکر در 198 ارسال )
ارسال: #2
RE: آموزش کامپایلر iar از صفر تا ...
ایول مصطفی جون منم واسه شروع لینک دانلود برنامه واسه میکرو avr و همینطور طریقه نصب وکرک برنامه رو می ذارم . چون اکثر بچه ها با avr راحت ترن از جمله خود من ماله avr گذاشتم. وقتی خوب تونستیم واسه avr تو این محیط برنامه بنویسیم حتما کار با میکرو های دیگه از جمله ARM تو این محیط ساده میشه
لینک دانلود برنامه :
دانلود
نحوه کرک :
برنامه iar را در صورت نصب uninstal کنید همینطور باید از توی پوشه common files موجود در program files هم باید پوشه iar system رو هم پاک کنید بعد یه ریست کنید دوباره نصب کنید.
آنتی ویروس باید غیر فعال کنید چون یکی از فایلای کرکو به نام "IAR.BAT" پاک می کنه
طبق روش زیر به ترتیب عمل کنید:
1- فایل "IARID.EXE" اجراش کن تا ID سیستمو بدست بیاره
2- فایل "IAR.BAT" رو با notepad باز کنید یا راست کلید کرده و edit رو بزنید و id سیستم رو به جای id پیش فرض قرار دهید و save کنید
3- فایلهای "IARKG.EXE" و "IAR.BAT" باعث میشن که درون فایل "serial.txt" سریال ساخته بشه این فایلو باز کن و بگرد دنبال عبارت ("EWAVR" version "2.25_WIN", no expiration date, exclusive) سریالی که جلوی Installserial:
کپی کن همون جا که موقع نصب می خواد و عبارت زیر Key: تا قبل از # کپی کن واسه key که موقع نصب می خواد و اینطوری سریال و key رو معتبر میشناسه و نصب میشه و کرک میشه
(آخرین ویرایش در این ارسال: ۲۰-تير-۱۳۹۰, ۰۹:۰۹:۱۲، توسط mhpc2009.)
۲۰-تير-۱۳۹۰, ۰۹:۰۱:۲۰
ارسال‌ها
پاسخ
تشکر شده توسط : reza555, mostafa_naderi, h0x00i, rdscience, salehjg, رسول, A.B, abbasalifix, ha_60, jenab
mostafa_naderi غایب
كاربر دو ستاره
**

ارسال‌ها: 145
موضوع‌ها: 14
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 474
( 320 تشکر در 119 ارسال )
ارسال: #3
RE: آموزش کامپایلر iar از صفر تا ...
خب منم یه لینک دانلود میزارم که ماله سایته تکنو الکترونیک و سالمه و تست هم شده و قابلیت ادامه دادن هم داره اگه آقا هادی زحمت بکشه اینو بزاره تو آپلود سنتر سایت عالی میشه !180 mb
IAR AVR 5.50.1+serial

از همه اینا که بگذریم میایم سراغ نرم افزار
نمای ظاهری نرم افزار!
[تصویر:  ubefogv982j0uvgo7y73.jpg]
بعد طبق عکس زیر از منو FILE>NEW>WORKSPICE میزنیم
[تصویر:  u895dmgnbj34advbjaj.jpg]

بعد طبق عکس زیر از منو PROJECT>CREAT NEW PROJECT
[تصویر:  tdhvj49aw54tt4grwd.png]

بعد گزینه MAIN انتخاب می کنیم
اگه بخواین با AVR STUDIO شبیه سازی کنید گزینه بالایشو انتخاب می کنید

[تصویر:  6bvf377igp76fkbdlugy.jpg]

بعد روی قسمت OPTIONکلیک کنید
[تصویر:  i28421m9p4ihwtx8t79n.jpg]

از این قسمت میکرو کنترلر انتخاب کنید
[تصویر:  oa9udls17a7s8u7zb4.jpg]


فعلا همین جا باشه جونم در اوومد با اینترنت موبایل همین 6 تا عکس آپلود کردم

هر کی تونست ادامشو بده دریغ نکنه



۲۰-تير-۱۳۹۰, ۱۳:۱۵:۲۹
ارسال‌ها
پاسخ
تشکر شده توسط : mhpc2009, rdscience, reza555, salehjg, lord_viper, رسول, abbasalifix, jenab
mostafa_naderi غایب
كاربر دو ستاره
**

ارسال‌ها: 145
موضوع‌ها: 14
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 474
( 320 تشکر در 119 ارسال )
ارسال: #4
RE: آموزش کامپایلر iar از صفر تا ...
کسی می دونه چه طور میشه کریستال تعیین کرد تو این برنامه ؟

۲۱-تير-۱۳۹۰, ۱۳:۲۰:۲۷
ارسال‌ها
پاسخ
mhpc2009 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 206
موضوع‌ها: 29
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 801
( 579 تشکر در 198 ارسال )
ارسال: #5
RE: آموزش کامپایلر iar از صفر تا ...
سلام بچه ها توضیحات دوست عزیز مصطفی نادری رو ادامه میدم بعد از کلی کلنجار رفتن و جستجو تو گوگل هفت خوان iar واسه ایجاد و کامپایل پروژه و خروجی hex گرفتن پشت سر گذاشتم و نتایجو خدمتون عرض می کنم
خب مصطفی تا اونجا براتون گفت که در قسمت General Option، تب target نوع میکرو انتخاب میکنیم با قسمت های پایینیش فعلا کاری نداریم چون خودمم ازش سر در نمیارم تو تب بعدی output ، تو قسمت Output file در حالت پیشفرض روی Executable کاری بش نداریم در قسمت پایین هم مسیر خروجی ها پروژه هست که در حالت پیشفرض تو پوشه ای که پروژه رو ایجاد کردید
[تصویر:  fi7tjaphvaiwmsy6yysk.jpg]
با بقیه تبهای قسمت General option کاری نداریم چون فعلا خودمم بلدشون نیستم
میریم به قسمت linker ، دراین قسمت نوع خروجی پروژه رو مشخص میکنیم از اونجایی که iar خروجیش به صورت پیش فرض با پسوند d90. فقط سازگار با محیط خودشه ولی واسه اینکه ما میخوایم نتیجه کارمونو تو نرم افزارایی مثل پروتئوس ببینیم در تب output در قسمت Output file تیک Override default رو میزنیم و پسوند نام پروژه رو به hex تغییر میدیم و پایین در قسمت Other در قسمت Output format ، دنبال intel-standard میگردیم و با بقیه تبها فعلا کاری نداریم
[تصویر:  1bzcgtyow1fpb70315m9.jpg]
ok رو میزنیم و وارد محیط میشیم در قسمت کد نویسی در تب main.c کد زیر رو
کپی کنید
کد:
[align=left]
#include "iom16.h" // یا #include <iom16.h> یا #include <ioavr.h>
void Delay10ms()
{
unsigned int i;
for(i=0;i<4215;i++);
}
void main()
{
DDRB = 0xFF;
PORTB = 1;

do
{
PORTB = 1;
while(1)
{
Delay10ms();
PORTB = PORTB * 2;
Delay10ms();
if (PORTB == 128)
break;
}
PORTB = 128;
while (1)
{
Delay10ms();
PORTB = PORTB / 2;
Delay10ms();
if (PORTB == 1)
break;
}

}while(1);
}
[/align]
کلید های Ctrl+F7 بزنید یا از قسمت project در بالا ، روی Compile کلیک کنید
با خطا مواجه شدید و خطا ها هم حتما اینه که از جمله PORTB نشده و همینطور از فایل کتابخونه ای "iom16.h" که میگه موجود نیست
راه حل : به مسیر زیر برید
Program Files (x86)\IAR Systems\Embedded Workbench 5.4\avr\inc
در پوشه inc فایلهای "iom16.h" و "iomacro.h" رو به پوشه پروژتون اضافه کنید دوباره برنامه رو compile و make کنید انشاالله که مشکلی نیست من تو این پروژه از میکرو atmega16 استفاده کردم شما بنا به پروژتون از میکرو دیگه میتونید استفده کنید که در این صورت باید فایل مریوط به اون میکرو در پوشه پروژه حضور داشته باشه
در صورتی که از دستور #include <iom16.h> استفاده شود لزومی به حضور دو هدر فابل ذکر شده در پوشه پروژه ، ندارد
در صورتی که از دستور #include <ioavr.h> استفاده شود لزومی به حضور دو هدر فایل رو نداره و مزیتش اینه خودش نوع میکرو رو رو ، با توجه به تنظیمی که برای انتخاب نوع میکرو انجام دادیم، خودکار انتخاب میکنه
فایل hex پروژه رو در پوشه Debug ، در پوشه Exe در محیط پروتئوس فراخوانی کنید یه رقص نور ساده مثل پایین مشاهده خواهید کرد
[تصویر:  uwysx5t8w9og1jbe1q9e.jpg]

دوستان هرچی از این برنامه بلدن رو کنن ثواب دارهRolleyes


(آخرین ویرایش در این ارسال: ۲۳-تير-۱۳۹۰, ۰۰:۲۷:۴۸، توسط mhpc2009.)
۲۱-تير-۱۳۹۰, ۲۲:۰۵:۴۴
ارسال‌ها
پاسخ
تشکر شده توسط : mostafa_naderi, h0x00i, joker, رسول, lord_viper, abbasalifix
mostafa_naderi غایب
كاربر دو ستاره
**

ارسال‌ها: 145
موضوع‌ها: 14
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 474
( 320 تشکر در 119 ارسال )
ارسال: #6
RE: آموزش کامپایلر iar از صفر تا ...
آخر فهمیدی چه طور میشه کریستال تغییر داد ؟
فک کنم الان تو برنامت رو حالت پیش فرضه

۲۲-تير-۱۳۹۰, ۱۲:۳۱:۱۴
ارسال‌ها
پاسخ
mhpc2009 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 206
موضوع‌ها: 29
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 801
( 579 تشکر در 198 ارسال )
ارسال: #7
RE: آموزش کامپایلر iar از صفر تا ...
(۲۲-تير-۱۳۹۰, ۱۲:۳۱:۱۴)mostafa_naderi نوشته است: آخر فهمیدی چه طور میشه کریستال تغییر داد ؟
فک کنم الان تو برنامت رو حالت پیش فرضه
مثل اینکه به طور مستقیم این امکان وجود نداره و باید موقع پروگرام با تنظیم فیوز بیت مشخص بشه
اینو یکی از بچه های سایت ECA جناب طراح گفته :
نقل قول: در IAR تعیین فرکانس به شکلی که در بسکام و کدویژن و مانند آن وجود دارد، انجام نمی شود و اگر در فایلی عملیات تاخیر زمانی و شبیه آن مد نظر باشد، در صورت لزوم مقدار فرکانس کلاک در ابتدای فایل تعریف می شود. مانند فایل avr_compiler.h که در ابتدای آن فرکانس کلاک تعیین می شود.
این فایل رو تو پیوست میزارم البته توش باید یه تغییر کوچولو بدین تو قسمت
کد:
[align=left]
#define F_CPU 32000000UL
[/align]
باید به جای 32000000UL ، فرکانس مورد نظرتون بزارید، نکته ای باید توجه داشته باشید به جای عدد ذکر باید عددی از ضریب 1000000 قرار بدهید. یه تابعی تو این هدر فایل واسه تاخیر تو قسمت
کد:
[align=left]
#define delay_us( us ) ( __delay_cycles( ( F_CPU / 1000000UL ) * ( us ) ) )
[/align]
کد:
[align=left]
__delay_cycles(unsigned long int);
[/align]
این تابع که متعلق به هدر فایل intrinsics.h تاخیری دقیقتر از تاخیری که خودم در برنامه پست قبلی ایجاد می کنه چون این تابع مستقیم با سیکلهای میکرو در ارتباط هست. به عنوان مثال اگه ما بخوایم با فرکانس 8000000 تاخیری برابر 1 ثاییه ایجاد کنیم باید از دستور زیر استفاده کنیم
کد:
[align=left]
__delay_cycles(8000000);
[/align]
هدر فایل avr_compiler.h کار مارو راحت تر می کنه بجای اینکه مستقیم تعداد سیکلو به تابع __delay_cycles() بدیم و برای یه تاخیر با سیکلهای میکرو سروکله بزنیم میایم از همون اول مقدار فرکانس دلخواهمونو به صورت ثابت توی این هدر فایل تعریف می کنیم و با استفاده از تابع delay_us( us ) تاخیر مورد نظرمونو بر حسب میکرو ثانیه در برنامه استفاده می کنیم


فایل‌(های) پیوست شده
.rar   avr_compiler.rar (اندازه: 2.39 KB / تعداد دفعات دریافت: 135)
۲۹-تير-۱۳۹۰, ۱۷:۲۴:۲۴
ارسال‌ها
پاسخ
تشکر شده توسط : lord_viper, mostafa_naderi, abbasalifix
abbasalifix غایب
کاربر با تجربه
****

ارسال‌ها: 1,394
موضوع‌ها: 82
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 1496
( 2197 تشکر در 1064 ارسال )
ارسال: #8
RE: آموزش کامپایلر iar از صفر تا ...
بینهایت یعنی همین قدر؟
۰۴-اسفند-۱۳۹۰, ۲۳:۱۸:۴۶
ارسال‌ها
پاسخ
mhpc2009 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 206
موضوع‌ها: 29
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 801
( 579 تشکر در 198 ارسال )
ارسال: #9
RE: آموزش کامپایلر iar از صفر تا ...
(۰۴-اسفند-۱۳۹۰, ۲۳:۱۸:۴۶)abbasalifix نوشته است: بینهایت یعنی همین قدر؟
خب شما ادامش بده Biggrin

۰۵-اسفند-۱۳۹۰, ۰۰:۵۱:۰۱
ارسال‌ها
پاسخ
تشکر شده توسط : abbasalifix
abbasalifix غایب
کاربر با تجربه
****

ارسال‌ها: 1,394
موضوع‌ها: 82
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 1496
( 2197 تشکر در 1064 ارسال )
ارسال: #10
RE: آموزش کامپایلر iar از صفر تا ...
من تازه دارم یاد میگیرم
اگه سوتی بدم دیگران هم اشتباهی یاد میگیرن
۰۹-اسفند-۱۳۹۰, ۰۱:۲۹:۲۲
ارسال‌ها
پاسخ
poiut آفلاین
تازه وارد

ارسال‌ها: 23
موضوع‌ها: 10
تاریخ عضویت: مهر ۱۳۹۰

تشکرها : 9
( 32 تشکر در 16 ارسال )
ارسال: #11
RE: آموزش کامپایلر iar از صفر تا ...
آموزش ایجاد پروژه در نرم افزار IAR
این نرم افزار جزو بهترین و قدرتمندترین نرم افزار های موجود جهت میکروکنترلرهای ARM محسوب می شود . با توجه به اینکه تقریباً تمامی آموزشهای ما در ادامه بر پایه این نرم افزار است ، در اولین گام نحوه ایجاد پروژه را در این نرم افزار بررسی خواهیم کرد .

جهت ایجاد پروژه مراحل زیر را گام به گام طی کنید :
1- نرم افزار IAR Embedded Workbench یا به اختصار EWARM را اجرا نمائید .

[تصویر:  thumb3-1-1313149544.jpg]

2- از منوی Project گزینه Create New Project… را انتخاب نمائید .

[تصویر:  thumb3-2-1313149595.png]

3- در صفحه باز شده Empty Project را انتخاب کرده و دکمه OK را انتخاب نمائید .

[تصویر:  thumb3-3-1313149627.png]

4- مسیری را جهت ذخیره پروژه انتخاب کرده و با انتخاب نامی مناسب دکمه Save را انتخاب نمائید .

[تصویر:  thumb3-4-1313149667.png]

5- حال باید از طریق منوی File ، Workspace جاری را ذخیره نمائید . برای اینکار از منوی فایل گزینه Save Workspace را انتخاب نموده و مسیری جهت ذخیره آن انتخاب نمائید .

[تصویر:  thumb3-5-1313149697.png]

تا این مرحله پروژه ایجاد شد


آموزش ایجاد پروژه در نرم افزار IAR : قسمت دوم

برای افزودن فایلها و آمادگی جهت کامپایل به صورت زیر عمل نمائید:

1- با استفاده از دکمه New Document و یا از مسیر File > New > File می توانید فایلی ایجاد نمائید . (دکمه میانبر
Ctrl+N )

[تصویر:  thumb3-6-1313149848.png]

2- برای افزودن فایل به پروژه نیز می توانید از دکمه Open و یا مسیر File > Open > File… استفاده نمائید . (دکمه میانبر Ctrl + O)

[تصویر:  thumb3-7-1313149893.png]

3- بعد از ایجاد فایل با استفاده از دکمه Ctrl + S یا دکمه Save می توانید آن را ذخیره نمائید .

4- برای افزودن فایلهای مورد نظر به پروژه ، بر روی نام آن کلیک راست کرده و با استفاده از Add > Add Files… فایلهای مورد نظر را به آن بیفزائید .

[تصویر:  thumb3-8-1313149938.png]

5- در پروژه های بزرگتر بهتر است ، که فایلها در گروههای قرار گیرند . لذا برای ایجاد گروه بر روی نام پروژه کلیک راست کرده و با استفاده از Add > Add Groups… و بعد از آن انتخاب نام مناسب ، گروهی ایجاد نمائید .

[تصویر:  thumb3-9-1313149984.png]

6- برای افزودن فایل به گروه ، با انتخاب فایل مورد نظر و کشیدن و انداختن آن به گروه ، آن را به گروه بیافزائید .

بعد از ایجاد و یا افزودن فایلها و همچینین مدیریت آنها ، باید پروژه برای کامپایل آماده شود . هر پروژه برای اینکه بصورت صحیح به همدیگر لینک شود باید فایلی Linker به پروژه معرفی شود . در فایل لینکر مشخصات میکروکنترلر اعم از آدرس RAM و ROM ، جدول Vector و ... قرار دارد .

برای افزودن فایل لینکر به مسیر نصب نرم افزار بروید . مثلاً:
C:\Program Files (x86)\IAR Systems\Embedded Workbench 5.4
تذکر : با توجه به اینکه ما از ورژن 5.4 این نرم افزار استفاده می کنیم ، مسیر ما بدین صورت است و گرنه لزومی به همسان بودن مسیر نصب نیست .
2- به پوشه arm رفته و پوشه examples را انتخاب نمائید .
با توجه به میکروکنترلری که بر روی آن کار می کنید . به پوشه آن شرکت وارد شوید . ما از میکروکنترلر LPC2103 محصول شرکت NXP استفاده می کنیم . لذا پوشه NXP را انتخاب می نمائیم .

[تصویر:  thumb3-10-1313150048.png]

3- در پوشه باز شده به مسیر Olimex-LPC-P2103\SinePWM\config رفته و فایل LPC2103_Flash.icf را به مسیر پروژه خود کپی نمائید . نام آن را به flash.icf تغییر دهید .

4- به نرم افزار بازگشته و بر روی نام پروژه کلیک کرده و از منوی Project گزینه Options… را انتخاب نمائید .

5- در پنجره باز شده از بخش Category گزینه Linker را انتخاب نمائید .

6- از تب Config از بخش Linker Configuration File گزینه Override default را انتخاب نمائید . سپس مسیر آن را به $PROJ_DIR$\flash.icf تغییر دهید . دکمه OK را انتخاب نمائید .

[تصویر:  thumb3-11-1313150170.png]

پروژه برای کامپایل و استفاده نهایی آماده است . شاید مراحل در ابتدا کمی زیاد و نامفهوم به نظر بیایند ولی یقیناً با گذشت زمان از گنگی و طولانی بودن آن برای شما کاسته خواهد شد .
برای ایجاد فایل hex جهت شبیه سازی به مسیر زیر بروید :
Project > Options… > Output Converter
گزینه Generate Additional output را انتخاب و از بخش Output Format گزینه Intel extended را انتخاب نمائید

[تصویر:  thumb3-12-1313150219.png]

بعد از کامپایل ، فایل Hex در محل پوشه پروژه در داخل پوشه Debug/Exe قرار دارد .













(آخرین ویرایش در این ارسال: ۰۹-اسفند-۱۳۹۰, ۱۲:۴۵:۳۹، توسط poiut.)
۰۹-اسفند-۱۳۹۰, ۱۲:۰۳:۲۲
ارسال‌ها
پاسخ
تشکر شده توسط : joker, abbasalifix, mhpc2009, hadikh73


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  کامپایلر قدرتمند ccs را اگر دوست داری بیا این را ببین 305500 0 2,176 ۰۴-مهر-۱۳۹۰, ۱۸:۴۲:۵۸
آخرین ارسال: 305500
Exclamation کامپایلر تحتmac یا Linux ardavan001 15 11,250 ۱۴-شهریور-۱۳۸۹, ۱۵:۱۸:۱۹
آخرین ارسال: ardavan001

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS