پیش نیاز : دوره آموزشی AVR
دسترسی سریع به بخش های قبلی :
مقدمه
میکروکنترلرهای ARM سری LPC21xx یکی از راحت ترین میکروکنترلرها از نظر برنامه نویسی و سخت افزار مورد نیاز می باشند که طیف وسیعی از پروژه ها را نیز پوشش می دهند. ضمن اینکه جزو معدود میکروکنترلرهای ARM هستند که در نرم افزار پروتئوس وجود دارند و میتوان آن ها را همانند میکروکنترلرهای AVR در پروتئوس شبیه سازی کرد. بنابراین هدف اصلی کار با این میکرو کاملا آموزشی است زیرا برنامه نویسی ساده تر و قابلیت شبیه سازی در نرم افزار پروتئوس را دارند.
دانلود و نصب نرم افزار Keil 5.15
نرم افزار Keil یک کامپایلر ، شبیه ساز و پروگرام کننده همه میکروکنترلرها و تراشه های مبتنی بر ARM می باشد که امتیاز آن نیز برای خود شرکت ARM می باشد. به علت کامل تر بودن نسخه 5.15 نسبت به نسخه های پیشین و برطرف شدن برخی از باگ ها ، از این نسخه از نرم افزار برای برنامه نویسی کلیه میکرو کنترلرها استفاده خواهیم کرد. برای دانلود و آموزش نحوه نصب به وبسایت الکترو ولت بخش دانلود نرم افزارها مراجعه نمایید.
لینک دانلود نرم افزار کامپایلر KEIL UV5.15
شروع به کار با نرم افزار KEIL
بعد از نصب و فعالسازی نرم افزار ، برنامه به صورت زیر باز می شود. همیشه بعد از باز کردن کامپایلر ، آخرین پروژه انجام شده باز می شود که میتوانید آن را از مسیر Project و با کلیک روی گزینه Close Project ببندید.
ایجاد یک پروژه جدید در Keil
از منوی Project روی گزینه New Uvision Project کلیک کنید. با کلیک روی این گزینه از شما می خواهد تا یک مسیر برای ذخیره پروژه انتخاب نمایید.
به علت جداسازی و در کنار هم بودن تمام پروژه آدرس پروژه جدید را در یک پوشه خالی انتخاب نمایید. سپس نام فایل اصلی پروژه را انتخاب نموده و روی گزینه Save کلیک کنید. با این کار فایل اصلی پروژه با پسوند uvproj ذخیره می شود.
در مرحله بعد پنجره ی Select Device باز می شود که نوع میکرو مورد نظر را باید در آن انتخاب نمود. همانطور که مشاهده می کنید زمانی که بخش Vendor ( فروشنده ) روی Software Packs قرار داشته باشد تعداد کمی از هسته های ARM قابل مشاهده می باشد. برای مشاهده دیگر هسته های ARM ی که آنها را نصب کرده اید ، مطابق شکل زیر بخش Vendor را روی Lagancy Device Database قرار دهید.
سپس میتوانید نام قطعه مورد نظر خود را در قسمت Search وارد کنید. یا اینکه میتوانید در پنجره زیر آن روی شرکت NXP کلیک کنید و سپس LPC2138 را انتخاب نمایید. همانطور که مشاهده می کنید با انتخاب هر میکرو مشخصات آن در سمت راست پنجره نمایش داده می شود. بعد از انتخاب روی گزینه OK کلیک کنید.
در نهایت از کاربر میخواهد که فایل مربوط به راه اندازی میکرو ( Sturtup.s ) که همیشه در پروژه وجود دارد و به همراه فایل های دیگر کامپایل می شود را به پروژه به صورت اتوماتیک اضافه نماید. با کلیک کردن بر روی گزینه Yes کار ایجاد پروژه جدید تمام می شود.
ایجاد یک فایل در ویرایشگر KEIL
بعد از ساختن پروژه همانطور که در شکل زیر مشاهده می کنید ، شاخه ای با نام Target 1 ایجاد می شود که درون آن فقط فایل Startup.s وجود دارد. برای نوشتن برنامه به زبان C ، باید یک فایل با پسوند c اضافه نماییم. برای این منظور از منوی File گزینه New را کلیک می کنیم و یا از نوار ابزار روی تصویر New کلیک می کنیم ( همچنین میتوانیم با زدن Ctrl+N نیز این کار را انجام دهیم ).
بعد از اینکه فایل جدید ایجاد شد باید آن را از منوی File یا از دکمه Save روی نوار ابزار ( و یا Ctrl+S ) ذخیره کرد. حتما دقت کنید که فایل مورد نظر را با اسم دلخواه و با پسوند c. ( مثلا main.c ) و در پوشه اصلی پروژه ذخیره نمایید.
بعد از ذخیره کردن می بایست فایل مورد نظر را به پروژه اضافه نمود. برای اضافه کردن فایل جدید به پروژه ، از بخش Project روی Source Group کلیک راست می کنیم و از قسمت Add Existing Files To Group ، فایل main.c را به پروژه اضافه می کنیم.
انجام تنظیمات پروژه در KEIL
برای صحیح کامپایل شدن پروژه باید تنظیمات پروژه را انجام داد. برای این منظور از قسمت Project و با کلیک راست روی Target 1 و زدن Options For Target ( یا از روی نوار ابزار ) پنجره تنظیمات را باز می کنیم.
در صفحه تنظیمات و در سربرگ Target باید تنظیمات مربوطه را به صورت شکل زیر انجام داد.
سپس در مرحله بعد به سربرگ Output رفته و تیک گزینه Create Hex File را می زنیم.
ساختار برنامه نویسی ARM در نرم افزار KEIL
برنامه مورد نظر در نرم افزار Keil درون فایلی که اضافه کردیم ( به نام main.c ) نوشته می شود. همانند برنامه نویسی که در میکروکنترلرهای AVR داشتیم ، در میکروکنترلرهای ARM نیز ساختار برنامه به همان صورت می باشد با این تفاوت که هدر فایلی که به پروژه اضافه می کنیم ، LPC213x.h نام دارد و تابع main در نرم افزار Keil باید خروجی int داشته باشد. بنابراین ساختار برنامه نویسی به صورت زیر خواهد بود.
1 2 3 4 5 6 7 8 |
#include <lpc213x.h> int main (void){ while(1){ } } |
کامپایل کردن پروژه و ساخت فایل خروجی
بعد از اینکه برنامه کامل شد ، برای کامپایل و ساخت فایل های خروجی ، باید از منوی Project روی گزینه Rebuild All Target File کلیک کنید. همچنین میتوانید این کار را با زدن دکمه مشخص شده در شکل زیر انجام دهید. بعد از کامل شدن پروسه در قسمت پیغام ها ، خطا ها و اخطار های مورد نظر نمایش داده خواهد شد و در صورت 0 بودن خطا ها یعنی کامپایل پروژه با موفقیت انجام شده و فایل های خروجی ( از جمله فایل Hex ) ساخته شده است.
اضافه کردن فایل خروجی به شبیه سازی پروتئوس
برای شبیه سازی میکروکنترلرهای ARM میتوان از خود نرم افزار Keil استفاده کرد. اما این شبیه سازی به صورت بسیار محدود صورت می گیرد. به طوری که تنها میتوان تغییرات پایه ها و رجیستر ها را در زمان کوتاه مشاهده کرد. اما نرم افزار قدرتمند پروتئوس میتواند برخی از میکروکنترلرهای ARM7 و CortexM3 را در مدار به صورت شبیه سازی بسیار نزدیک به واقعیت انجام دهد. برای اینکه بدانید نرم افزار پروتئوس از چه میکروکنترلرهای ARM پشتیبانی می کند ، درون این نرم افزار رفته و در قسمت انتخاب قطعه عبارت arm را تایپ کنید و از کتابخانه های بوجود آمده روی Microprocessor ICs کلیک کنید. شکل زیر لیست این میکروکنترلرها را نشان می دهد.
بعد از انتخاب میکروکنترلر LPC2138 ، بهتر است از یک دکمه برای ریست استفاده کنیم. بنابراین با تایپ button قطعه را به پروتئوس اضافه می کنیم. سپس در نرم افزار پروتئوس به صورت زیر اتصال قطعات را تکمیل می کنیم.
نکته 1 : چون پروتئوس صرفا یک نرم افزار شبیه سازی است میتوان از قرار دادن کریستال و خازن ها و مقاومت های پایه های ریست و کریستال به جهت تسریع در شبیه سازی ، صرفنظر کرد.
نکته 2 : از آن جایی که ولتاژ عملکرد آی سی 3.3 ولت است ، برای تغذیه آی سی از Generator در نرم افزار پروتئوس استفاده کردیم. بعد از جایگذاری این قطعه روی آن دابل کلیک کرده و ولتاژ آن را روی 3.3 ولت قرار می دهیم.
در پایان روی میکرو LPC2138 دابل کلیک می کنیم و فرکانس کاری میکرو را روی 12Mhz قرار می دهیم. سپس از قسمت انتخاب فایل میتوانیم فایل Hex مورد نظرمان را برای شبیه سازی اضافه کنیم.
برای ادامه آموزش ARM روی تصویر زیر کلیک کنید.
در صورتی که این مطلب مورد پسندتان بود لایک و اشتراک گذاری فراموش نشود
دیدگاه (18)
سلام، خیلی متشکرم، واقعا عالی بود، لطفا روند آموزش را سریعتر نمایید.
با تشکر
سلام دوست عزیز بسیار سپاسگزارم بنده تمام تلاشم را می کنم …
سلام
میشه بگین قضیه این plugin ها چیه؟
مثلا این نرم افزار پیش فرض با کدوم میکرو ها میتونه ارتباط برقرار کنه؟lpc?stm32?
یا باید بریم برا هر کدوم از میکرو ها plugin مربوطرو دانلود کنیم؟
سلام دوست عزیز به علت اینکه تعداد آی سی های ARM رو به افزایش بوده و هست این پلاگین ها از Keil نسخه 5 به بعد بوجود آمده تا حجم اصلی نرم افزار کاهش پیدا کنه
من نسخه 5 دارم و یه مشکل
اینکه بعد انتخاب میکرو به جای اون پیام مربط به startupsیه پنجره دگ با عنوان manage run_time inviroment ظاهر میشه ونمیدونم چیکار باید بکنم
بعد ساخت پروزه و بیلد کردن برنامه پیغام target nat created میده و بیلد نمیشه
سلام دوست عزیز شما مراحل پروژه را به درستی نرفتید اگه مطابق همین آموزش جلو بروید هیچ مشکلی بوجود نمی آید
سلام
من قبلا این نرم افزار و نصب کرده بودم و کار هم میکرد بنا به دلایلی مجبور شدم باک کنم الان که نصب کردم توی انتخاب میکرو میکرویی نمیاره مثلا سری arm7هست ولی هیچی توش نیس
چیکار باید بکنم؟
سلام دوست عزیز شما باید پلاگین اضافه مربوطه را در نسخه 5 به بعد نرم افزار KEIL دانلود و نصب کنید تا بیاید
سلام
نه نسخه 4 هستش
نباید مشکلی پیش بیاد نرم افزار خود را پاک کنید و نسخه موجود در بخش دانلود نرم افزار ها را از سایت دانلود و نصب نمایید نمایید
سلام این ارور به خاطر چیه ؟
undefined symbol SystemInit (referred from startup_xx.h
سلام دوست عزیز باید همه فایل های با پسوند c در نرم افزار Keil به پروژه اضافه شود و همه فایل های با پسوند h به صورت include به برنامه اصلی اضافه شود
با سلام
خطای couldn’t load project.axf هنگام تولید فایل hex چطور رفع میشه.
با تشکر
سلام احتمال قوی شما فایل c. را از قسمت منوی keil به پروژه خود اضافه نکردید
ببخشید جزوه ی سری coretex رو نمیزارید؟
سلام دوست عزیز بله خواهم گذاشت
عالی بود ممنونم
سلام وقت بخیر میخاستم برام پروژه ایی با نرم افزار کِیل و lpc2378 شبیه سازی کنید چطور باید باهاتون ارتباط داشته باشم ؟؟