یکی از شرکت های موفق در زمینه ی تولید کامپایلر های میکروکنترلری شرکت IAR است که سال ۱۹۸۰ تا کنون در امر تولید کامپایلر برای میکروکنترلر هایAVR ،Freescale ،Maxim MAXQ ،National-CR16C ،Renesas ، Samsung ،STMicroelectronics ، TI MSP430 و خانواده ی ۸۰۵۱ فعالیت دارد. این شرکت دارای ۲۲ محصول نرم افزاری برای میکروکنترلر های فوق است و الگوریتم های تفسیر کد و داده ی خروجی آن از طرف شرکت های سازنده ی میکروکنترلر تایید شده است .
برای میکروکنترلر های AVR و ۸۰۵۱ و ARM کامپایلر های مختلفی ارائه شده است که کاربران میتوانند با استفاده از آنها به زبان های اسمبلی ، C ، بیسیک ، C++ و … برای میکروکنترلر مورد نظر خود برنامه نویسی کنند. در این بین کامپایلر های شرکت IAR به خصوص IAR Embedded Workbench for ARM از طرف سازندگان میکروکنترلر بیشتر مورد استقبال گرفته و اگر نگاهی گذرا به Application note ارائه شده از طرف شرکت های سازنده ی میکروکنترلر ها ( مثلا شرکت اتمل ) بیاندازید متوجه خواهید شد که اغلب سورس ها و مثال های ارائه شده با کامپایلر IAR است .
کامپایلر های شرکت های IAR معمولا همیشه در جایگاه اول یا دوم از نظر قابلیت اطمینان، بهینه سازی مقدار کد خروجی و قدرت مانور در برنامه نویسی، در میان کامپایلر های میکروکنترلری بوده اند. شرکت IAR برای پشتیبانی از کاربران و آسان کردن روند یادگیری این کامپایلر ها، اقدام به تولید برد های آموزشی متنوع و دیباگر و پروگرامر برای هر خانواده نموده و سورس ها پروژه های مختلفی را برای تمامی بخش های میکروکنترلر تهیه کرده است. در واقع IAR Embedded Workbench for ARM بهترین و حرفه ای ترین کامپایلر برای برنامه نویسی ، کامپایل و Debug میکروکنترلرهای مبتنی بر هسته ARM میباشد، توسط شرکت IAR Systems ساخته شده است.
کامپایلر IAR Embedded Workbench for ARM از تمامی پردازندههای زیر بهطور کامل پشتیبانی میکند:
- ARM7 (ARM7TDMI, ARM7TDMI-S and ARM720T)
- ARM7E (ARM7EJ-S)
- ARM9 (ARM9TDMI, ARM920T, ARM922T and ARM940T)
- ARM9E (ARM926EJ-S, ARM946E-S and ARM966E-S, ARM968E-S)
- ARM10E (ARM1020E and ARM1022E)
- ARM11
- SecurCore (SC000, SC100, SC110, SC200, SC210, SC300)
- Cortex-A5
- Cortex-A8
- Cortex-R4(F)
- Cortex-M0
- Cortex-M1
- Cortex-M3
- Cortex-M4
- XScale
ARM چیست؟
ARM معماری جدیدی برای ساخت پردازنده های 32 بیتی است که توسط شرکت ARM طراحی و به بازار ارائه شده است، این معماری بسیار قدرتمند و پرسرعت است به گونه ای که توسط آن میتوان پردازش های 32 بیتی رادر سرعت چندین مگاهرتز انجام داد. روبه توسعه بودن این معماری و وجود قابلیت های مختلفی نظیر واحد کنترلر جافظه ، مدهای مختلف کنترل توان ، واحدهای شتاب دهنده پردازشی و… در آن باعث شده تا اکثر شرکت های تولید کننده قطعات الکترونیکی نظیر Atmel ، فیلیپس ، ST microelectronic و …این معماری را از شرکت ARM خریداری کرده و اقدام به تولید میکروکنترلر بر مبنای آن نمایند.
همکنون معماری ARM در بیش از 90 درصد تجهیزات الکترونیکی هوشمند نظیر تبلت ، موبایل ،کنترلر های صنعتی و… استفاده میشود. در واقع باید گفت اصطلاح CPU که برای این وسایل بکار می رود، در واقع یک میکروکنترلر قدرتمند ARM است (نه یک CPU مانند کامپیوتر) که این میکروکنترلر با وجود ابعاد کوچک خود، توانایی های زیادی دارد.
برای برنامه نویسی میکروکنترلرهای مبتنی بر هسته ARM نرم افزارهای مختلفی ارائه شده است که شاید قدرمندترین آنها نرم افزار IAR Embedded Workbench for ARM باشد . کامپایلرهای شرکت IAR معمولا همیشه در جایگاه اول یا دوم از نظر قابلیت اطمینان، بهینه سازی مقدار کد خروجی و قدرت مانور در برنامه نویسی، در میان کامپایلرهای میکروکنترلری بوده اند.
نرم افزار IAR Embedded Workbench for ARM از بیش از 10000 میکروکنترلر مبتنی بر هسته ARM پشیتبانی میکند ، لیست کامل میکروکنترلرهای پشتبانی شده توسط این نرم افزار را در این صفحه مشاهده کنید. این نرم افزار سه بخش اصلی زیر تشکیل شده است:
محیط IDE :
در محیط IDE نرم افزار IAR Embedded Workbench for ARM برای هر برنامه جدید، باید یک پروژه ایجاد شود، کاربر میتواند در این محیط همزمان بر روی چندین پروژه کار کند.
سایر ویژگی های این محیط یه شرح زیر است:
- ادیتور پیشرفته با قابلیت شناسایی دستورات ( رنگی شدن دستورات استاندارد زبان C)
- قابلیت مدیریت پروژه ( نوشتن یک برنامه توسط چند برنامه نویس به صورت هم زمان )
- پشییبانی از معماری داخلی میکروکنترلر و بهینه سازی کد برای میکروکنترلر انتخاب شده ( در کامپایلرهای مثل بسکام و کد ویژن از یک الگوریتم برای ترجمه کد استفاده می شود، در حالی که IAR ادعا میکند ترجمه دستورات برای هر میکروکنترلر دارای الگوریتم مخصوص است)
- پشیتانبی از دستورات استاندارد زبان C و C++ با قابلیت بهینه سازی دستورات
- محیط های کاربری همسان با سایر کامپایلرهای شرکت ( کاربرانی که با یکی از محصولات IAR کار کرده اند به سادگی میتوانند با سایر محصولات کار کنند)
- قابلیت دیباگ کردن برنامه با استفاده از دیباگر C-SPY® debugge
- دارای سیستم عامل مخصوص برای میکروکنترلرهای پشتیبانی شده( RTOS-aware)
ترجمه (کامپایل) پروژه :
بعد از نوشته شدن برنامه، کاربر باید برنامه را به کد مخصوص ماشین ترجمه کند، به این کار کامپایل کردن میگویند. در حین کامپایل شدن، برنامه نوشته شده به زبان C یاC++ ابتدا توسط کامپایلر (Compiler) به زبان اسمبلی تبدیل شده و سپس توسط Assembler به زبان ماشین ترجمه میشود. در این بین ابزار Linker واسط میان کامپایلر و Assembler بوده و با بهینه سازی کد، تعیین مکان قرار گیری کد در حافظه میکروکنترلر، حذف دستورات بی استفاده یا تکراری و… باعث بهینه شدن کد های خروجی که باید به میکروکنترلر منتقل شوند، میگردد.
ابزار های برنامه ریزی و اشکال یابی :
پس از ترجمه شدن برنامه به زبان ماشین کاربر باید کد های ایجاد شده را به میکروکنترلر منتقل کند و با بررسی روند عملکرد آنها، صحت برنامه نوشته شده را بررسی نماید، برای این کار از ابزار C-SPY Debugger استفاده می شود. با استفاده از C-SPY Debugger میتوان برنامه را به صورت نرم افزاری ( با استفاده از شبیه ساز داخلی نرم افزار ) یا به صورت سخت افزاری ( با استفاده از پروگرامر های J-LINK یا I-JET یا ST-LINK یا…) اشکال یابی کرد.
Features EN/فا | ||
---|---|---|
Function کارکرد | Profisional C Compiler And Simulator And Debuger And Asm | |
Application کاربرد | For Arm | |
Brand برند | JAVAN | |
Package پکیج | CD |