arm compilers

32
اﻟﻜﺘﺮوﻳﻚ و ﺑﺮق ﺗﺨﺼﺼﻲ ﺳﺎﻳﺖ وبECA ﻋﻨﻮان: ﻫﺎي ﻣﻴﻜﺮو ﻛﺎﻣﭙﺎﻳﻠﺮﻫﺎي اﻧﻮاعARM آﻧﻬﺎ درﺑﺎره اي ﻣﻘﺪﻣﻪ و ﻧﮕﺎرش ﻣﻬﺮي ﻣﻬﺪي ﺳﻴﺪ، اﻳﺠﻲ ﻣﺤﻤﺪ ﺤﻤ ﻧﮋاد اﺣﻤﺪي ﻓﺮزاد، ﺣﺴﻴﻨﻴﺎ رﺿﺎ زﻣﺴﺘﺎن1388

Upload: starberger

Post on 25-Jul-2015

140 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: ARM Compilers

ECAوب سايت تخصصي برق و الكترويك

:عنوان

و مقدمه اي درباره آنها ARMانواع كامپايلرهاي ميكرو هاي

نگارش

محمد ايجي ، سيد مهدي مهري

رضا حسينيا ، فرزاد احمدي نژادد حمم

1388زمستان

Page 2: ARM Compilers

                                                        www.ECA.ir 2                         وب سايت تخصصي برق و الكترونيك

:فهرست

 ARM انواع كامپايلرهاي :فصل سوم

 3-1 Flowcode ARM

3-2 HBBR Basic for ARM

3-3 ICCARM(Image Craft Compiler)

3-4 IAR Embedded Workbench for ARM )EWARM(

 IARراهنماي نصب 3-5

3-6  KEIL µVISION4

:ضميمه

چيست؟ ULINK )الف

JTAGپروگرامر و ديباگر نقشه عملي )ب

Page 3: ARM Compilers

                                                        www.ECA.ir 3                         وب سايت تخصصي برق و الكترونيك

 3-1 : Flowcode ARM

محمد رضا حسينيا: تهيه و تنظيم

مي باشد Flowcode ARM  كامپايلر Matrix Multimedia Ltd يكي از جديدترين كامپايلر هاي ارائه شده توسط

اين كامپايلر داراي امكانات گسترده اي مي باشد اصلي ترين تفاوت اين كامپايلر با كامپايلر هاي ديگر عدم استفاده از زبان

هاي نوشتاري مي باشد

از كيبرد خيلي كم است و اكثر برنامه مورد نوآوري جديدي در اين كامپايلر شده است كه ديگر براي نوشتن برنامه ها استفاده

،بدين صورت كه اين شركت يك زبان برنامه نويسي گرافيكي ارائه كرده است كه با استفاده از نياز با موس مي توان نوشت

.فلوچارت و الگوريتم برنامه خود را مي نويسيم

:دارد در اين كامپايلرهم مانندديگر كامپايلر ها معايب و خوبي هايي وجود

داراي يك محيط بسيار ساده و جذاب مي باشد و با اولين كمي كار كردن مي توان استفاده از اين كامپايلر را فرا

بگيريد

داراي يك شبيه ساز اختصاصي همانند نرم افزار پروتيوس

استفاده از فلوچارت هاي آماده و استفاده اي آسان

جملهداراي المان هاي مختلفي براي شبيه سازي از: 

LCD , GLCD , irda , i2c , SPI , 7Segment , PWM , CAN , RS232 ,ADC  و...

:متاسفانه يك سري معايب نيز دارد

بزرگترين مشكل در اين كامپايلر عدم بهينه سازي كد خروجي مي باشد مثال اگر يك برنامه ساده را با كامپايلر هاي

بنويسيم در صورتي كه از لحاظ حجم كد خروجي  Flowcode حيط بنويسيم و همين برنامه را نيز در م  Cرايج

مي شود  cچندين برابر حجم كد خروجي يك كامپايلر  Flowcodeمقايسه شوند ،ممكن است حجم كد خروجي

Page 4: ARM Compilers

                                                        www.ECA.ir 4                         وب سايت تخصصي برق و الكترونيك

به دليل اين كه برنامه ها از قبل طراحي شده اند، انعطاف پذيري برنامه نوشته شده كم مي باشد

يك سري از المان هاي مورد نياز در شبيه ساز اين كامپايلر موجود نمي باشد مانند :Color LCD و...

: Flowcodeنحوه نوشتن برنامه با

در اين كامپايلر نوشتن برنامه ساده مي باشد كه در ادامه يك نمونه از آن را قرار داده ايم

و الگوريتم از پيش تعريف شده برنامه خود را تكميل مي كنيد بدين صورت كه شما با استفاده از يك سري فلوچارت

Page 5: ARM Compilers

                                                        www.ECA.ir 5                         وب سايت تخصصي برق و الكترونيك

بايد در سمت چپ فلوچارت هاي مورد نياز را قرار داد بعد از اتمام الگوريتم نويسي بايد با استفاده از المان ها موجود مدار

مورد نظر را شبيه سازي كرد

ر يك قابليت جالب نيز اضافه كرده است همچنين در اين نرم افزا

كه ممكن است در يك كامپايلر ديگر نوشته شده باشد را در بين  C در اين كامپايلر مي توانيد يك كد را به زبان اسمبلي يا

فلوچارت ها قرار دهيد

و همچنين زماني كه برنامه را با فلوچارت ها نوشتيم و آن را شبيه سازي كرده سپس مي توانيم از خروجي كامپايلر كد

را دريافت كرد Cاسمبلي يا

را مشاهده مي كنيد  Flowcodeدر تصوير زير برخي از المان ها و امكانات موجود در

Page 6: ARM Compilers

                                                        www.ECA.ir 6                         وب سايت تخصصي برق و الكترونيك

.نك دانلود اين نرم افزار به همراه كرك آن در اينترنت موجود مي باشدخوشبختانه لي

Page 7: ARM Compilers

                                                        www.ECA.ir 7                         وب سايت تخصصي برق و الكترونيك

: HBBR Basic for ARMكامپايلر 3-2

محمد رضا حسينيا: تهيه و تنظيم

اين كامپايلر جز اولين كامپايلر هاي به زبان بيسيك براي ميكرو هاي آرم مي باشد

از اين زبان شيرين است همچنان كامپايلرهاي Bascom avrبه دليل سادگي اين زبان وهمچنين تجربه خيلي خوبي كه در

مختلفي به اين زبان براي مصارف گوناگون ارائه مي شود

تفاده در مي باشد نمونه اي از دستورات مورد اس  ARMبراي ميكرو كنتلر هاي  Bascomاين كامپايلر نمونه وسعت يافته

:اين كامپايلر را مي توانيد مشاهده كنيد

Do if config dim

Loop end if else output

Input

دالر دارد 119ه و قيمتي حدودمتاسفانه اين نرم افزار هنوز در دسترس عموم قرار نگرفت

!   ولي ممكن است در آينده اي نزديك اين نرم افزار هم كرك شود

Page 8: ARM Compilers

                                                        www.ECA.ir 8                         وب سايت تخصصي برق و الكترونيك

3-3 ICCARM(Image Craft Compiler):

 فرزاد احمدي نژاد: تهيه و تنظيم

در حال . ميباشد  C به زبان ARMهاي تجاري ساخته شده براي ميكرو كنترلر هاي IDEيكي از ICCARMنرم افزار

ساخته شده اند ، برنامه ARM7حاظر توسط اين نرم افزار تنها مي توان براي ميكروكنترلر هايي كه بر مبناي معماري

. نوشت

 , AVR ,MSP430براي ميكروكنترلر هاي مختلف از جمله IDEدر زمينه ي ساخت برنامه هاي Image Craft شركت

ARM ويژگي هاي اصلي نسخه مربوط به ميكروكنترلرهاي . فعاليت داردarm از اين برنامه به شرح ذيل است: 

قيمت پايين نرم افزار نسبت به ساير نرم افزار هاي تجاري 

پشتيباني بسيار خوب 

IDE مگابايت است 10حجم فايل نصب حدود ( ساده و كم حجم( 

استفاده ازGnu C Compiler ان كامپايلر زبان به عنوC  

قابليتapplication builder  

IDEاز طرف ديگر برنامه هايي كه براي ساير . سبب شده كه قيمت نهايي نرم افزار پايين باشد GCCاستفاده از

قابل IDEو غيره ، نوشته شده اند به سادگي بر روي اين Crosswork , Ygarto , Flow codeاز قبيل  GCCھای

. استفاده هستند

GCC يك كامپايلر اپن سورس است كه چنديدن هزار برنامه نويس حرفه اي در سراسر جهان بر روي توسعه آن كار

از طرف ديگر . از اين جهت نسخه هاي بروز اين كامپايلر در هر زماني به سادگي در دسترس مي باشد . مي كنند

GCC يكANSI C Compiler  ستاندار رعايت ا. استANSI سبب ميشود كه برنامه هاي C به راحتي در كامپايلر

Page 9: ARM Compilers

                                                        www.ECA.ir 9                         وب سايت تخصصي برق و الكترونيك

از اين نظر ميتوان از كتابخانه هايي كه قبال به اين روش نوشته شده . هاي ديگري با اين استاندارد قابل استفاده باشند

ANSI Cخصي به زبان به عنوان مثال كتابخانه اي براي پردازش تصوير كه براي كامپيوتر هاي ش. اند استفاده كرد

.نوشته شده اند را ميتوان به سادگي داخل برنامه اي كه براي ميكرو كنترلر نوشته ميشود ، استفاده كرد

اين امكان را فراهم ميكند كه برنامه نويس در ابتداي كار بتواند توسط يك ويزارد ، application builderقابليت

codewizardاين قابليت مشابه قابليت . قسمتهاي مختلف ميكرو كنترلر را پيكره بندي كند و كد معادل آن توليد نمايد

.ميباشد  Codevisionدر نرم افزار

Page 10: ARM Compilers

                                                        www.ECA.ir 10                         وب سايت تخصصي برق و الكترونيك

تنها براي بعضي از ميكروكنترلر هاي اتمل ) جديدترين نسخه(اين نرم افزار 7در نسخه Application Builderقابليت

. قابل استفاده است LPC2xxx و اغلب ميكروكنترلر اي S ,Aمثل سري

 

:نسخه ارائه مي شود 3اين نرم افزار در

STANDARD :داراي امكانات اصلي برنامه است

ADVANCED : امكان توليد كد به صورتthumb 

PROFESSIONAL : 15قابليت بهينه كردن حجم كد و سرعت اجراي برنامه تا %

Page 11: ARM Compilers

                                                        www.ECA.ir 11                         وب سايت تخصصي برق و الكترونيك

روزه از سايت اصلي اين 45اين امكان وجود دارد كه نسخه استاندارد برنامه را به صورت رايگان ولي با محدوديت

ان از اين نرم افزار به طور كامل استفاده نمود ،در اين صورت روز همچنان ميتو 45البته بعد از . شركت دانلود نمود

.غير فعال خواهند شد command line compilerو dongle تنها عمليات مميز شناور ،

:تصويري از محيط گرافيكي برنامه

 

Page 12: ARM Compilers

                                                        www.ECA.ir 12                         وب سايت تخصصي برق و الكترونيك

:)IAR Embedded Workbench for ARM )EWARMمعرفي 3-4

)رضا سپاسيار: بيتي ، نويسنده 32ميكرو كنترولر هاي : منبع (

ارائه كرده Embeddedهاي ي طراحي سيستم ابزارهاي پيشرفته و گوناگوني در زمينه ،1983از سال IAR Systemsشركت

كاملترين IAR Embedded Workbench. افزارهاي طراحي پيشرو بوده است است و همواره در صنعت كامپايلرها و نرم

منظور از كامل بودن اين است كه كامپايلر . هاي امروزي است اي سيستم و طراحي حرفه ، جهت توسعه محيط يكپارچه

C/C++، اسمبلر)Assembler( لينكر ،)Linker(اي، ويرايشگر متني ، توابع كتابخانه)Editor(زدا ، مديريت پروژه و اشكال

)Debugger(ي مجتمع شده يا ه، همگي در يك محيط توسعIDE )Integrated Development Environment( يكپارچه ،

، RTOS ،USBافزار از كند كه اين نرم عرضه مي EWARMرا به عنوان مكمل PowerPacي ، مجموعهIARشركت . اند شده

TCP/IP ،FAT وGUI كند پشتيباني مي .visualSTATE افزارهاي اين شركت است كه امكان يكپارچه نيز يكي ديگر از نرم

بدون ( EWARMقيمت . رود هاي حالت به كار مي وجود دارد و جهت طراحي بر مبناي ماشين EWARMشدن آن با

PowerPac وvisualSTATE ( ي آزمايشي توان نسخه دالر است كه البته مي 4000حدود) 32با محدوديت KB (آن را از

 .سايت سازنده دانلود كرد

Page 13: ARM Compilers

                                                        www.ECA.ir 13                         وب سايت تخصصي برق و الكترونيك

:راهنماي نصب 3-5

سيد مهدي مهري : تهيه و تنظيم

.مربوط به نرم افزار صفحه ي زير باز مي شود CDبعد از گزاشتن

 كليك كنيد Install IAR Embedded Workbenckجهت شروع عمليات نصب بر روي گزينه ي

Page 14: ARM Compilers

                                                        www.ECA.ir 14                         وب سايت تخصصي برق و الكترونيك

.را كليك كنيد  Nextو كليد ) تيك دار كنيد(را انتخاب كنيد license agreementدر اين بخش ، قسمت

 .كنيددر اين قسمت شما مي بايست شماره اليسنس را وارد كنيد ، براي دريافت اين شماره فايل كرك را اجرا

Page 15: ARM Compilers

                                                        www.ECA.ir 15                         وب سايت تخصصي برق و الكترونيك

را انتخاب كنيد  Embedded Workbench for ARMگزينه ي Productاز قسمت

 را كپي كنيد Licence Numberمقدار

Page 16: ARM Compilers

                                                        www.ECA.ir 16                         وب سايت تخصصي برق و الكترونيك

.را كليك كنيد Nextكنيد و كليد License# ،Pasteرا در قسمت  Licence Numberعدد

Page 17: ARM Compilers

                                                        www.ECA.ir 17                         وب سايت تخصصي برق و الكترونيك

را كپي كنيد Licence keyمحتواي

.را كليك كنيد Next، كليد Lisence keyبعد از وارد كردن

Page 18: ARM Compilers

                                                        www.ECA.ir 18                         وب سايت تخصصي برق و الكترونيك

را كليك كنيد Nextدر اين قسمت مكان مناسبي را براي نصب انتخاب كنيد و كليد

Page 19: ARM Compilers

                                                        www.ECA.ir 19                         وب سايت تخصصي برق و الكترونيك

Page 20: ARM Compilers

                                                        www.ECA.ir 20                         وب سايت تخصصي برق و الكترونيك

، وارد پوشه ي IAR Systemsدر پوشه ي All Programsدر قسمت Startجهت باز كردن برنامه ميتوانيد از منوي

IAR Embedded Workbench for ARM 5.40 شويد و گزينه يIAR Embedded Workbench  را كليك .كنيد

به كار خواهد كه با چه زباني شروع شما مي شود و از كنيد مشاهده مي اين پنجره فقط براي اولين باري كه برنامه را باز مي

.كنيد

Page 21: ARM Compilers

                                                        www.ECA.ir 21                         وب سايت تخصصي برق و الكترونيك

 

 .خوش آمديد IARبه

Page 22: ARM Compilers

                                                        www.ECA.ir 22                         وب سايت تخصصي برق و الكترونيك

3-5 KEIL µVISION4:

  محمد ايجي: تهيه و تنظيم

مي باشد كه توسط شركتي با همين نام در سال KEIL، نرم افزار ARMيكي از كامپايلر هاي قدرتمند براي پردازنده هاي

. توليد شده است 1997تا 1995هاي بين

، Editاين كامپايلر در عين سادگي داراي قدرت و قابليت هاي زيادي مي باشد بطوريكه كاربر مي تواند تمام بخش هاي

compile ،debug ،programming را در اين مجموعه نرم افزاري به سادگي هر چه تمام تر انجام دهد و به نرم افزار ... و

. هاي جانبي ديگر كمتر نياز پيدا كند

مجموعه نرم افزاري اين . تاكنون براي پردازنده هاي مختلفي مجموعه هاي برنامه نويسي ارائه كرده است KEILشركت

.نام دارد ) بخوانيد كيل ميكرو ويژن(  KEIL µVISIONشركت براي ميكروكنترلر هاي آرم ،

: KEIL µVISION 4نحوه نصب كردن

 .تا مراحل نصب نرم افزار آغاز گردد را اجرا نماييد mdk402.exeابتدا فايل

كليك كنيد تا به صفحه بعد nextبر روي . در صفحه اول توضيحاتي در مورد نرم افزار در حال نصب را مشاهده مي كنيد

.منتقل شويد

Page 23: ARM Compilers

                                                        www.ECA.ir 23                         وب سايت تخصصي برق و الكترونيك

)تيك دار كنيد(را انتخاب كنيد license agreementدر اين بخش ، قسمت

.كليك كنيد nextبر روي

.مي توانيد مسير نصب نرم افزار را تعيين كنيد destination folderدر بخش

.كليك كنيد nextبر روي

)در مورد آپديت نرم افزار keilبراي دريافت اطالعات جديد از سايت .(اطالعات نام و ايميلتان را در اين قسمت وارد كنيد

Page 24: ARM Compilers

                                                        www.ECA.ir 24                         وب سايت تخصصي برق و الكترونيك

. كليك كنيد تا نصب نرم افزار آغاز گردد nextو در پايان بر روي

براي اينكه اين . كيلو بايت مي باشد 32الزم به ذكر است كه اين نرم افزار داراي محدوديت توليد كد با حجم حداكثر

.محدوديت را از بين ببريد ، مراحل كرك كردن نرم افزار را آغاز نماييد

: KEIL µVISION 4نحوه كرك كردن

.كنيد ) extract(را در جايي از كامپيوتر خود باز crack.rarفايل زيپ شده

.مي باشد keygen.exeو يك فايل اجرايي به نام filesاين فايل محتوي يك فولدر با نام

.را كپي كنيد ARM.dllفايل . برويد binبه پوشه . را باز كنيد filesپوشه

.) كنيد paste(و فايل مذكور را در اينجا قرار دهيد Keil\ARM\BIN: ن مسير برويد حال در محل نصب نرم افزار، به اي

. كليك كنيد yesبر روي . يك تاييديه از شما در خواست مي شود

 computerدر پنجره باز شده ، قسمت . برويد license management، به بخش fileاز منو . را اجرا نماييد keilنرم افزار

ID ا بيابيد ر.

.را كپي كنيد CIDعبارت داخل كادر

Page 25: ARM Compilers

                                                        www.ECA.ir 25                         وب سايت تخصصي برق و الكترونيك

.را اجرا نماييد keygen.exeبرگرديد و فايل crackبه همان پوشه

 .پيست كنيد CIDو در تكتس باكس license detailsعبارت كپي شده را در بخش

.را انتخاب نماييد "ARM"عبارت targetاز بخش

.انتخاب شده باشد "prof. developers kit/realview MDK"عبارت دقت نماييد كه در بخش انتهايي

Page 26: ARM Compilers

                                                        www.ECA.ir 26                         وب سايت تخصصي برق و الكترونيك

.كد توليد شده را كپي نماييد. كليك كنيد تا اليسنس نرم افزار توليد شود Generateبر روي

پيست New License ID code (LIC)كد مذكور را در بخش . برگرديد license managementو پنجره keilبه نرم افزار

.كليك كنيد Add LICبر روي . كنيد

.را يك بار ببنديد و دوباره باز كنيد keilنرم افزار . كليك كنيد closeبر روي دكمه

Page 27: ARM Compilers

                                                        www.ECA.ir 27                         وب سايت تخصصي برق و الكترونيك

.شروع به نوشتن برنامه هاي خود كنيد keilحال محدوديت نرم افزار از بين رفته و شما مي توانيد به راحتي با

از محصوالت شركت هاي ARMداراي قدرت بسيار زياد در عين سادگي مي باشد كه انواع بسيار متنوع keilنرم افزار

.در ذيل به تعدادي از آنها اشاره شده است . مختلف را پشتيباني مي كند

 CORTEX‐M1و COREMP7سري : ACTELاز شركت

 AduC71و AduC70سري : Analog Devicesاز شركت

، AT91C140  ،AT91F40 ،AT91M40 ،AT91RM92 ،At91sam3u ،AT91SAM7A سري: ATMELاز شركت

AT91SAM7L ،AT91SAM7S ،AT91SAM7X ،AT91SAM9 وAT91SAM9X

 AS3525سري : AustriaMicroSystemsاز شركت

CS74سري : Cirrus Logicاز شركت

EFM32سري : EnergyMicroاز شركت

Page 28: ARM Compilers

                                                        www.ECA.ir 28                         وب سايت تخصصي برق و الكترونيك

MC93و MAC7سري : FreeScale Semiconductorاز شركت

  XE16و XC16 ،XC22سري : Infineonاز شركت

  LM3S سري: Luminary Microاز شركت

 w90nو w90pسري : Nuvotonاز شركت

، LH7 ،LPC1300 ،LPC1700 ،LPC2100 ،LPC2200 ،LPC2300 ،LPC2400سري : PHILIPS (NXP)از شركت

LPC2800 ،LPC2900 ،LPC3100 وLPC3200

 ML69و ML67سري : OKIاز شركت

S3F4و S3C2 ،S3C4سري : Samsungاز شركت

 PC7سري : .Socle Technology Corpاز شركت

STR9و STM32F1 ،STR7سري : STMicroelectronicsاز شركت

  TMS47سری: Texas Instrumentsاز شركت

TMPM3و TMPA9سري : Toshibaاز شركت

 ZA9Lسري : ZILOGاز شركت

برنامه هاي اجرايي بنويسيد CORTEXو ARM7 ،ARM9در اين نرم افزار شما مي توانيد براي انواع هسته هاي پردازشي

قدرتمند اين نرم افزار به شبيه سازي و رفع مشكالت برنامه نوشته شده debugهمچنين شما مي توانيد با كمك قابليت .

. نيز انجام دهد cنكته مهم اين مي باشد كه در اين نرم افزار كاربر مي تواند مراحل ديباگ را در زبان . نماييد خود اقدام

Page 29: ARM Compilers

                                                        www.ECA.ir 29                         وب سايت تخصصي برق و الكترونيك

.را مشاهده نماييد keilدر شكل زير مي توانيد محيط قدرتمند ديباگ

مي باشد كه توسط آن، برنامه نويس به راحتي startupداراي فايلي به نام ARMاين نرم افزار براي تمام ميكروكنترلر هاي

را ... و MAM، بخش VPBو AHB، مقسم هاي فركانسي pllهرچه تمام تر مي تواند تنظيمات مربوط به كالك ، بخش

. اين فايل به صورت خودكار به پروژه ها اضافه مي شود . انجام دهد

Page 30: ARM Compilers

                                                        www.ECA.ir 30                         وب سايت تخصصي برق و الكترونيك

ست به طوريكه كاربر بتواند به سادگي و در اندك زمان تنظيمات به صورت ويزارد و گرافيكي طراحي شده ا startupبخش

.مورد نظر خود را اعمال نمايد

 

 

 

 

 

 

 

 

 

Page 31: ARM Compilers

                                                        www.ECA.ir 31                         وب سايت تخصصي برق و الكترونيك

:ضميمه ها

چيست؟ ULINK )الف

آن را به keilبراي ميكروكنترلر هاي آرم كه شركت programmer/debuggerاي است به عنوان  يولينك وسيله

.عنوان مكملي براي نرم افزار ميكروويژن خود طراحي كرده است

نيز ارتباط خود را JTAGمي تواند به كامپيوتر متصل گردد و از طريق استاندارد USBاين پروگرمر از طريق پورت

. با ميكروكنترلر برقرار نمايد

فزاري اقدام نمايد تا بتواند برنامه خود را در شرايط همچنين كاربر مي تواند توسط اين وسيله به ديباگ سخت ا

. طبيعي و اصلي مورد بازيابي و رفع عيب قرار دهد

Page 32: ARM Compilers

                                                        www.ECA.ir 32                         وب سايت تخصصي برق و الكترونيك

 : JTAGپروگرامر و ديباگر نقشه عملي

.دينك گابيد و يزير همانرب ار دوخ وركيم H JTAG رازفا مرن زا هدافتسا اب ديناوتيم رمارگورپ نيا زا هدافتسا اب امش