بخش پنجم آموزش ARM : شروع به کار و با نرم افزارهای KEIL و Proteus

بخش پنجم آموزش ARM : شروع به کار و با نرم افزارهای KEIL و Proteus

پیش نیاز ها :

کل مباحث دوره آموزشی AVR : از اینجا شروع کنید

شروع دوره های آموزش مجازی ARM

بخش اول آموزش ARM

بخش دوم آموزش ARM

بخش سوم آموزش ARM

بخش چهارم آموزش ARM


مقدمه

میکروکنترلرهای ARM سری LPC21xx یکی از راحت ترین میکروکنترلرها از نظر برنامه نویسی و سخت افزار مورد نیاز می باشند که طیف وسیعی از پروژه ها را نیز پوشش می دهند. ضمن اینکه جزو معدود میکروکنترلرهای ARM هستند که در نرم افزار پروتئوس وجود دارند و میتوان آن ها را همانند میکروکنترلرهای AVR در پروتئوس شبیه سازی کرد. بنابراین هدف اصلی کار با این میکرو کاملا آموزشی است زیرا برنامه نویسی ساده تر و قابلیت شبیه سازی در نرم افزار پروتئوس را دارند.


دانلود و نصب نرم افزار Keil 5.15

KEILuv5.15

نرم افزار Keil یک کامپایلر ، شبیه ساز و پروگرام کننده همه میکروکنترلرها و تراشه های مبتنی بر ARM می باشد که امتیاز آن نیز برای خود شرکت ARM می باشد. به علت کامل تر بودن نسخه 5.15 نسبت به نسخه های پیشین و برطرف شدن برخی از باگ ها ، از این نسخه از نرم افزار برای برنامه نویسی کلیه میکرو کنترلرها استفاده خواهیم کرد. برای دانلود و آموزش نحوه نصب به وبسایت الکترو ولت بخش دانلود نرم افزارها مراجعه نمایید.

دانلود نرم افزار کامپایلر KEIL UV5.15


شروع به کار با نرم افزار KEIL

بعد از نصب و فعالسازی نرم افزار ، برنامه به صورت زیر باز می شود. همیشه بعد از باز کردن کامپایلر ، آخرین پروژه انجام شده باز می شود که میتوانید آن را از مسیر Project و با کلیک روی گزینه Close Project ببندید.

keil1


ایجاد یک پروژه جدید

از منوی Project روی گزینه New Uvision Project کلیک کنید. با کلیک روی این گزینه از شما می خواهد تا یک مسیر برای ذخیره پروژه انتخاب نمایید.

keil2

به علت جداسازی و در کنار هم بودن تمام پروژه آدرس پروژه جدید را در یک پوشه خالی انتخاب نمایید. سپس نام فایل اصلی پروژه را انتخاب نموده و روی گزینه Save کلیک کنید. با این کار فایل اصلی پروژه با پسوند uvproj ذخیره می شود.

keil3

در مرحله بعد پنجره ی Select Device باز می شود که نوع میکرو مورد نظر را باید در آن انتخاب نمود. همانطور که مشاهده می کنید زمانی که بخش Vendor ( فروشنده ) روی Software Packs قرار داشته باشد تعداد کمی از هسته های ARM قابل مشاهده می باشد. برای مشاهده دیگر هسته های ARM ی که آنها را نصب کرده اید ، مطابق شکل زیر بخش Vendor را روی Lagancy Device Database قرار دهید.

keil4

سپس میتوانید نام قطعه مورد نظر خود را در قسمت Search وارد کنید. یا اینکه میتوانید در پنجره زیر آن روی شرکت NXP کلیک کنید و سپس LPC2138 را انتخاب نمایید. همانطور که مشاهده می کنید با انتخاب هر میکرو مشخصات آن در سمت راست پنجره نمایش داده می شود. بعد از انتخاب روی گزینه OK کلیک کنید.

keil5

در نهایت از کاربر میخواهد که فایل مربوط به راه اندازی میکرو ( Sturtup.s ) که همیشه در پروژه وجود دارد و به همراه فایل های دیگر کامپایل می شود را به پروژه به صورت اتوماتیک اضافه نماید. با کلیک کردن بر روی گزینه Yes کار ایجاد پروژه جدید تمام می شود.

keil6


ایجاد یک فایل در ویرایشگر KEIL

بعد از ساختن پروژه همانطور که در شکل زیر مشاهده می کنید ، شاخه ای با نام Target 1 ایجاد می شود که درون آن فقط فایل Startup.s وجود دارد. برای نوشتن برنامه به زبان C ، باید یک فایل با پسوند c اضافه نماییم. برای این منظور از منوی File گزینه New را کلیک می کنیم و یا از نوار ابزار روی تصویر New کلیک می کنیم ( همچنین میتوانیم با زدن Ctrl+N نیز این کار را انجام دهیم ).

keil7

بعد از اینکه فایل جدید ایجاد شد باید آن را از منوی File یا از دکمه Save روی نوار ابزار ( و یا Ctrl+S ) ذخیره کرد. حتما دقت کنید که فایل مورد نظر را با اسم دلخواه و با پسوند c. ( مثلا main.c ) و در پوشه اصلی پروژه ذخیره نمایید.

keil8

بعد از ذخیره کردن می بایست فایل مورد نظر را به پروژه اضافه نمود. برای اضافه کردن فایل جدید به پروژه ، از بخش Project روی Source Group کلیک راست می کنیم و از قسمت Add Existing Files To Group ، فایل main.c  را به پروژه اضافه می کنیم.

keil9


انجام تنظیمات پروژه

برای صحیح کامپایل شدن پروژه باید تنظیمات پروژه را انجام داد. برای این منظور از قسمت Project و با کلیک راست روی Target 1 و زدن Options For Target ( یا از روی نوار ابزار ) پنجره تنظیمات را باز می کنیم.

keil10

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

keil11

سپس در مرحله بعد به سربرگ Output رفته و تیک گزینه Create Hex File را می زنیم.

keil12

 


ساختار برنامه نویسی ARM در نرم افزار KEIL

برنامه مورد نظر در نرم افزار Keil درون فایلی که اضافه کردیم ( به نام main.c ) نوشته می شود. همانند برنامه نویسی که در میکروکنترلرهای AVR داشتیم ، در میکروکنترلرهای ARM نیز ساختار برنامه به همان صورت می باشد با این تفاوت که هدر فایلی که به پروژه اضافه می کنیم ، LPC213x.h نام دارد و تابع main در نرم افزار Keil باید خروجی int داشته باشد. بنابراین ساختار برنامه نویسی به صورت زیر خواهد بود.


کامپایل کردن پروژه و ساخت فایل خروجی

بعد از اینکه برنامه کامل شد ، برای کامپایل و ساخت فایل های خروجی ، باید از منوی Project روی گزینه Rebuild All Target File کلیک کنید. همچنین میتوانید این کار را با زدن دکمه مشخص شده در شکل زیر انجام دهید. بعد از کامل شدن پروسه در قسمت پیغام ها ، خطا ها و اخطار های مورد نظر نمایش داده خواهد شد و در صورت 0 بودن خطا ها یعنی کامپایل پروژه با موفقیت انجام شده و فایل های خروجی ( از جمله فایل Hex ) ساخته شده است.

keil13


اضافه کردن فایل خروجی به شبیه سازی پروتئوس

برای شبیه سازی میکروکنترلرهای ARM میتوان از خود نرم افزار Keil استفاده کرد. اما این شبیه سازی به صورت بسیار محدود صورت می گیرد. به طوری که تنها میتوان تغییرات پایه ها و رجیستر ها را در زمان کوتاه مشاهده کرد. اما نرم افزار قدرتمند پروتئوس میتواند برخی از میکروکنترلرهای ARM7 و CortexM3 را در مدار به صورت شبیه سازی بسیار نزدیک به واقعیت انجام دهد. برای اینکه بدانید نرم افزار پروتئوس از چه میکروکنترلرهای ARM پشتیبانی می کند ، درون این نرم افزار رفته و در قسمت انتخاب قطعه عبارت arm را تایپ کنید و از کتابخانه های بوجود آمده روی Microprocessor ICs کلیک کنید. شکل زیر لیست این میکروکنترلرها را نشان می دهد.

( برای مشاهده سایز بزرگتر روی تصویر کلیک کنید )

ARM_Proteus

بعد از انتخاب میکروکنترلر LPC2138 ، بهتر است از یک دکمه برای ریست استفاده کنیم. بنابراین با تایپ button قطعه را به پروتئوس اضافه می کنیم. سپس در نرم افزار پروتئوس به صورت زیر اتصال قطعات را تکمیل می کنیم.

ARM_Proteus2

نکته 1 : چون پروتئوس صرفا یک نرم افزار شبیه سازی است میتوان از قرار دادن کریستال و خازن ها و مقاومت های پایه های ریست و کریستال به جهت تسریع در شبیه سازی ، صرفنظر کرد.

نکته 2 : از آن جایی که ولتاژ عملکرد آی سی 3.3 ولت است ، برای تغذیه آی سی از Generator در نرم افزار پروتئوس استفاده کردیم. بعد از جایگذاری این قطعه روی آن دابل کلیک کرده و ولتاژ آن را روی 3.3 ولت قرار می دهیم.

در پایان روی میکرو LPC2138 دابل کلیک می کنیم و فرکانس کاری میکرو را روی 12Mhz قرار می دهیم. سپس از قسمت انتخاب فایل میتوانیم فایل Hex مورد نظرمان را برای شبیه سازی اضافه کنیم.



برای ادامه آموزش ARM روی تصویر زیر کلیک کنید.

next-image


در صورتی که این مطلب مورد پسندتان بود لایک و اشتراک گذاری فراموش نشود

21+

کاربرانی که این مطلب را پسندیده اند:

  • avatar
  • avatar
این مطلب را با دوستانتان به اشتراگ بگذارید

دیدگاه (12)

  • behnammeshkanloo پاسخ

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

    ۰۲/۱۱/۱۳۹۴ در ۱۷:۳۵
    • محمد حسین پاسخ

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

      ۰۲/۱۱/۱۳۹۴ در ۱۹:۲۰
  • حامد پاسخ

    سلام
    میشه بگین قضیه این plugin ها چیه؟
    مثلا این نرم افزار پیش فرض با کدوم میکرو ها میتونه ارتباط برقرار کنه؟lpc?stm32?
    یا باید بریم برا هر کدوم از میکرو ها plugin مربوطرو دانلود کنیم؟

    ۳۰/۰۱/۱۳۹۵ در ۰۸:۱۱
    • محمد حسین پاسخ

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

      ۳۰/۰۱/۱۳۹۵ در ۱۴:۱۸
  • حامد پاسخ

    من نسخه 5 دارم و یه مشکل
    اینکه بعد انتخاب میکرو به جای اون پیام مربط به startupsیه پنجره دگ با عنوان manage run_time inviroment ظاهر میشه ونمیدونم چیکار باید بکنم
    بعد ساخت پروزه و بیلد کردن برنامه پیغام target nat created میده و بیلد نمیشه

    ۰۱/۰۲/۱۳۹۵ در ۱۲:۰۸
    • محمد حسین پاسخ

      بله دوست عزیز از نسخه 5 به بعد تفاوت هایی وجود داره که توصیه می شود به جای آن از نسخه 4.7 استفاده کنید

      ۰۱/۰۲/۱۳۹۵ در ۱۴:۱۰
  • hameddd پاسخ

    سلام
    من قبلا این نرم افزار و نصب کرده بودم و کار هم میکرد بنا به دلایلی مجبور شدم باک کنم الان که نصب کردم توی انتخاب میکرو میکرویی نمیاره مثلا سری arm7هست ولی هیچی توش نیس
    چیکار باید بکنم؟

    ۰۱/۰۳/۱۳۹۵ در ۲۰:۳۶
    • محمد حسین پاسخ

      سلام دوست عزیز شما احتمالا نسخه 5 نرم افزار را نصب کردید. نسخه 5 تفاوت هایی دارد به صورتی که ابتدا باید پلاگین مربوط به ARM7 را دانلود و نصب کنید سپس New Project و در هنگام انتخاب میکرو در بخش NXP میکروی LPC2138 را انتخاب کنید.

      ۰۲/۰۳/۱۳۹۵ در ۰۷:۰۰
  • hameddd پاسخ

    سلام
    نه نسخه 4 هستش

    ۰۲/۰۳/۱۳۹۵ در ۱۱:۰۴
    • محمد حسین پاسخ

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

      ۰۲/۰۳/۱۳۹۵ در ۱۱:۳۹
  • habib پاسخ

    سلام این ارور به خاطر چیه ؟
    undefined symbol SystemInit (referred from startup_xx.h

    ۲۳/۰۵/۱۳۹۵ در ۱۵:۱۲
    • شجاع داودی پاسخ

      سلام دوست عزیز باید همه فایل های با پسوند c در نرم افزار Keil به پروژه اضافه شود و همه فایل های با پسوند h به صورت include به برنامه اصلی اضافه شود

      ۲۴/۰۵/۱۳۹۵ در ۰۶:۲۲

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

6 + 2 =