آموزش صفر تا صد میکرو آرم ARM ( KEIL )

نرم افزار keil

نرم افزار keil یکی از کامپایلرهای معروف در برنامه نویسی میکروکنترلرهای ARM به زبان C می باشد. نرم افزارهای دیگری نیز مانند IAR ، win arm و سایر کامپایلرها وجود دارند که برای برنامه نویسی استفاده می شود. اما آموزش هایی که قرار است برای شما آموزش داده شود از نرم افزار keil استفاده شده است.

این نرم افزار از امکانات و ویژگی های زیادی وجود دارد که دیباگ کردن از جمله یکی از امکانات keil می باشد که قابلیت شبیه سازی مجازی و اشکال زدایی برنامه را توسط پروگرامرها همراه می کند. از دیگر امکانات این نرم افزار قابلیت تنظیم رجیسترهایی از جمله UART، GPIO و … که تنها با تیک زدن و انتخاب تنظیمات دلخواهتان مقدار رجیستر برای شما نشان داده می شود و می توانید از آن در برنامه خودتان استفاده کنید.

نرم افزاری که در اینجا مورد استفاده می شود نسخه keil uVision4 می باشد. این نرم افزار از ظاهر خیلی راحتی استفاده شده است  و می توانید به راحتی قسمت های مورد نظر خودتان از جمله نوشتن فایل هدر و C را انتخاب کنید. بر خلاف نرم افزار code vision که قابلیت ویزارد در نرم افزار وجود دارد این نرم افزار امکان رجیستری وجود ندارد و باید به صورت دستی انتخاب مقدار دهی شوند. در زیر آموزش این نرم افزار می دهم.

برای ایجاد پروژه در نرم افزار keil مانند شکل زیر به قسمت project و سپس New uVision project را انتخاب کنید تا تنظیمات مربوط به پروژه در این قسمت به شما نشان داده شود.

3-keil-new-project

سپس در پنجره مشاهده شده اسم پروژه خودتان را وارد کنید.

4-keil-save-project

در پنجره select device for target و در قسمت Data base شما شرکت های مختلف ساخت میکرو کنترلر ARM را مشاهده می کنید. می توانید با انتخاب هر کدام از این شرکت ها، میکروهای مربوط به آن در زیر نشان می دهد. چون پروژه ما مربوط به میکرو LPC1768 شرکت NXP می باشد این میکرو را از قسمت دیتابیس  NXP انتخاب می کنیم و تایید و سپس yes را میزنیم.

5-keil-select-device

مانند تصویر زیر مشاهده می کنید در قسمت project فایل target شامل فایل start up ساخته شده است. دکمه file extensions, book and environment را انتخاب کنید.

6-keil-file-add

این پنجره برای اضافه کردن فایل های مورد نیاز پروژه می باشد که می توانید فایل هایی از جمله فایل سیستمی، هدر، کد برنامه c و کتابخانه ها را به آن اضافه کنید. شما ابتدا در محیط نرم افزار از منوی file گزینه new را انتخاب کنید و همین فایل را با پسوند .c یا .cpp ذخیره کنید سپس در پنجره زیر فایل  را به پروژه اضافه کنید.

7-keil-file-add-2

مانند تصویر زیر برنامه نمونه در محیط نرم افزار نوشته شده است. برای ساخت و کامپایل کردن برنامه از دکمه rebuild استفاده کنید.

9-keil-build

یکی از امکانات نرم افزار keil قسمت target option می باشد که تنظیمات مربوط به پروژه در آن انجام می شود.

10-keil-target-option

در قسمت output با انتخاب گزینه Create HEX file می توانید بعد از زدن گزینه rebuild فایل هگز را دریافت کنید.

11-keil-output

برای تنظیمات مربوط به کریستال خارجی که در میکرو استفاده می کنید می توانید از قسمت target استفاده کنید و در قسمت Xtal مقدار کریستال را وارد کنید.

12-keil-taget

از مهم ترین و کاربردی ترین قسمت های نرم افزار قابلیت دیباگ (اشکال زدایی) و شبیه سازی برنامه می باشد که می توانید با رفتن به قسمت debug و با انتخاب گزینه use simulator در سمت چپ از قابلیت شبیه سازی میکرو استفاده کنید و اگر پروگرامر در اختیار دارید می توانید از قسمت سمت راست آن بهره ببرید.

13-keil-debug

شبیه سازی:
برای شبیه سازی و دیباگ کردن در سیمولاتور KEIL  یکی از مهمترین نکات این است که شروع خواندن برنامه از آدرس صفر باشد. در مواقعی که این آدرس به خاطر استفاده از بوت لودر برای پروگرم کردن میکرو تغییر می کند لازم است تا برای عملکرد صحیح در شبیه ساز دوباره مقدار آن صفر گردد. برای این منظور به منوی FLASH رفته و گزینه Configure flash … را انتخاب می کنیم. توجه کنید در سربرگ Debug حتما گزینه Use Simulator  انتخاب شده باشد. سپس در سربرگ Target مقدار ابتدایی IROM1 را صفر نتظیم کنید. پس تایید تنظیمات با کلیک روی START Debug از منوی debug به صفحه شبیه سازی می روید.

برنامه ریزی توسط بوت لودر:
برای ریختن برنامه روی میکرو توسط بوت لودر (در صورتی که بوت لودر روی میکرو توسط پروگرمره دیگری مثل JLINK یا ISP ریخته شده باشد) باید حتما مقدار ابتدایی IROM1 را روی ۰X2000 تنظیم کنید.مقدار طول به دلخواه ، بسته به طول برنامه شما انتخاب می شود که به صورت پیش فرض برابر ۰X80000 است.

تبدیل فایل axf خروجی به فایل bin در Keil برای ریختن روی میکرو LPC1768 از طریق بوت لودر:
برای ریختن برنامه روی میکرو از طریق بوت لودر فرمت خروجی حتما باید به صورت bin  باشد. برای این کار می توان از نرم افزار H converter استفاده کرد یا راه آسانتر انجام چند تنظیم در Keil برای گرفتن خروجی bin است. برای اینکار از منوی Flash گزینه Configure flash … را انتخاب کرده ، در سربرگ Target تیک IROM1 را زده و مقدار ابتدایی آن را برابر ۰X2000 تنظیم کنید. درسربرگ User تیک Run#1 زده و این عبارت را قرار دهید :  fromelf –bin –output=test.bin test.axf به جای test.axf نام فایل axf خروجی را قرارداده و به جای test.bin نامی دلخواه قرار دهید. سپس در سربرگ Asm در قسمت Define مقدار NO_CRP قرار دهید. تنظیمات را تایید کرده و برنامه را کامپایل کنید(زدن کلید f7 یا کلیک روی build target از منوی project). مشاهده می کنید که فایل خروجی به صورت bin در فولدر برنامه تان ایجاد می شود.

پاسخ دهید

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