صنعت الکترونیک در چند دهه گذشته پیشرفت شگرفی داشته است. حضور میکروکنترولرها به عنوان قلب تپنده سیستمهای هوشمند، در این پیشرفت تاثیر بسزایی داشتهاند. میکروکنترولرهای ۸بیتی به دلیل سادگی، قیمت مناسب و کارآیی بالا مدتها استفاده میشدند. اما با ظهور میکروکنترولرهای ۳۲بیتی ARM (مخفف Acron RISC Machine) و قابلیتهای شگفتانگیز آنها نظیر سرعت پردازش مطلوب، توان مصرفی کم و حافظه داخلی بالا، استفاده از میکروکنترولرهای ۸بیتی رو به افول گذاشته و سبب استفاده هر چه بیشتر از میکروکنترلرهای ARM شده است.
پردازنده میکروکنترلرهای ARM
پردازندههای رایج میکروکنترلرهای ARM، از نوع پردازندههای ۳۲بیتی با معماری Risk میباشند و مصرف توان آنها بسیار پایین است. به گونهای که میتوان توسط باتری آنها را مدت زیادی روشن نگهداشت. از اینرو استفاده از از این پردازندهها در دستگاههای قابل حمل نظیر گوشیهای موبایل، دستگاههای پخش پرتابل و تجهیزات جانبی مختلفی مانند DAC ،Serial, LAN, USB, ADC کاربرد بسیاری دارد.
نکته قابل ذکر در مورد میکروکنترلرهای ARM، استفاده از هسته داخلی یکسان در تمام میکروکنترلرهای تولیدی شرکتهای مختلف است. این بدین معنی است که برنامههای نوشته شده برای یک سری خاص از میکروکنترلرها را میتوان برای سری دیگر نیز استفاده کرد.
یکی از معروفترین هستههای پردازنده ARM نسل ARM7 است که اکثر تولیدکنندگان از این نسل برای پیادهسازی میکروکنترلرهای خود استفاده میکنند. هسته Cortex-M3 نیز به عنوان جایگزینی قدرتمند برای معماری ARM7 معرفی شده است و به دلیل رفع چند مشکل اساسی و مصرف توان پایینتر و سرعت پردازش بیشتر، به سرعت در حال جایگزین شدن به جای هستههای ARM7 است. پردازندههای ARM از سیستم PIPELINE برای پردازش استفاده میکنند و عملیات پردازش و اجرای دستورات در این سیستم در سه مد کاری انجام میشود.
برنامهنویسی میکروکنترلرهای ARM
برای برنامهنویسی میکروکنترلرهای ARM کامپایلرهای مختلفی ارائه شده است که امکان برنامهنویسی توسط زبانهای Basic, C, C++, Assembli را به کاربران میدهد. در بین کامپایلرهای ارائه شده برای میکروکنترلرهای ARM، کامپایلرهای کمپانی IAR به دلیل محیط توسعه یکپارچه، ابزارهای پیشرفته، قابلیت برنامهنویسی گروهی و دیگر قابلیتهای کاربردی موجود از طرف سازندگان این میکروکنترلرها مورد توجه بیشتری قرار گرفته است.
نرم افزار IAR Embedded Workbench for ARM
IAR Embedded Workbench for ARM یکی از کامپایلرهای قدرتمند برای برنامهنویسی میکروکنترلرهای ARM است که امکانات زیادی برای توسعه این میکروکنترلرها در اختیار کاربران میگذارد.
نرم افزار IAR Embedded Workbench for ARM بیش از ۳۰۰۰ پروژه نمونه از تولیدکنندگان مختلف در اختیار کاربران قرار میدهد تا با بررسی و مطالعه آنها با امکانات، قابلیتها و الگوریتمهای توسعه نرم افزار آشنایی بیشتری پیدا کنند و در صورت نیاز از آنها در پروژههای خود استفاده کنند.
این کامپایلر از پردازندههای زیر پشتیبانی میکند:
ARM7, ARM7E, ARM9, ARM9E, ARM10E, ARM11, SecurCore, Intel® XScale, Cortex-M0,Cortex-M1, Cortex-M3, Cortex-M4, Cortex-R4, Cortex-A5, Cortex-A8, Cortex-A9
برخی از ویژگیهای نرم افزار IAR Embedded Workbench for ARM عبارتند از:
- محیط توسعه پکپارچه از ابزارهای مدیریت پروژه و ویرایشگر کدها
- دارای ادیتور پیشرفته با قابلیت شناسایی و تفکیک سینتکسها
- امکان برنامهنویسی موازی به صورت گروهی
- قابلیت تولید و مدیریت پروژههای سلسله مراتبی
- دارای مرورگر منابع هوشمند و پیشرفته
- برخورداری از اسمبلر خطی فوق پیشرفته
- پشتیبانی از دستورات و توابع استاندارد زبان ++C و C
- کنترل خودکار قوانین MISRA C در اصول برنامهنویسی
- پشتیبانی گسترده از سیستمهای هدف HW
- قابلیت اشکالزدایی و پردازش چند هستهای کدها
- پشتیبانی از پردازشهای متقارن (SMP) و نامتقارن (AMP)
- پردازش توان مصرفی برنامه و رفع سوء مصرف
- برخورداری از کتابخانه غنی از کدهای منبع مختلف
- دارای بیش از ۳۰۰۰ پروژه نمونه از تولید کنندگان مختلف
- برخورداری از واسط کاربری مشابه با دیگر محصولات IAR
- و …