ایجاد پروژه در نرم افزار Keil Uvision
جهت فراگیری آموزش برنامه نویسی و راه اندازی میکروکنترلرهای ARM ابتدا طبق توضیحات داده شده در پست قبلی (آموزش نحوه نصب نرم افزار Keil Uvision) نرم افزار را نصب نموده و سپس آنرا باز کنید, برای نوشتن برنامه به زبان C ابتدا باید یک پروژه ایجاد کنید, به همین جهت به منوی Project برید و در آنجا گزینه New Uvision Project را انتخاب کنید (تصویر زیر).
انتخاب پردازنده
در پنجره ای که باز می شود یک نام مناسب برای پروژه وارد کنید و آن را در مسیر دلخواه خود ذخیره کنید. بعد از انجام عملیات ذخیره سازی پنجره ای باز می شود, در این پنجره شما باید پردازنده مورد نظر خود را انتخاب کنید (پردازنده ای که می خواهید برایش برنامه بنویسید) جهت انجام بهتر و هماهنگی با آموزش سایت از شاخه Atmel میکروکنترلر AT91SAM7X256 را انتخاب کنید. (این میکرو در پرتئوس برای شبیه سازی نیز موجود می باشد) و سپس بر روی گزینه OK کلیک کنید, پیغامی که ظاهر می شود را نیز تائید کنید (تصویر زیر).
از منوی File گزینه New را انتخاب کنید, مشاهده می کنید که یک ویرایشگر متن در صفحه باز می شود, از منوی فایل گزینه save را انتخاب کنید و فایل را در کنار پروژه با نام دلخواه و با پسوند C (برای درج پسوند در آخر نام عبارت C را بنویسید) ذخیره کنید.
ایجاد فایل متنی و ذخیره پروژه
اکنون باید فایل متنی را به پروژه معرفی کنید. برای این کار در پالت Project Workspace روی گزینه Target 1 کلیک راست کنید و در آننجا گزینه ی manege components را انتخاب کنید در صورت که پالت project workspace در برنامه شما وجود ندارد از منوی view گزینه project window را انتخاب نمایید. همچنین دقت کنید که گزینه file انتخاب شده باشد (گزینه ای که در پایین پالت با فلش مشخص شده) – (تصویر زیر).
بعد از انتخاب manege components پنجره زیر باز می شود:
بر روی Add File کلیک کنید و در پنجره ای که باز می شود, فایل متنی که با پسوند C ذخیره کردید باز کنید (بر روی Add یکبار کلیک کنید و سپس پنجره را ببندید) مشاهده می کنید که با کلیک روی ok فایل متنی project workspace افزوده می شود. مراحل ایجاد پروژه به پایان رسید.
برای شروع برنامه زیر را در فایل متنی که از این به بعد به آن ویرایشگر گفته می شود کپی کنید. از سخت بودن این کدها نترسید, وقتی آن ها را یاد بگیرید به آسانی آن ها پی خواهید برد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include /*AT91SAM7X256 definitions*/ #include void wait (void); int main (void) { AT91F- PIO – Ctg Output (AT91C-BASE, AT91C- PIO- PB 0); AT91F-PIO – Clear Output (AT91C- BASE, AT91C-PIO-PB 0); wait (); AT91F-PIO- Set Output (AT91C-BASE- PIOB, AT91C- PIO-PB 0); wait (); } void wait (void) { usnsigned int n; for (n=0 ; n<7372800; n++); } |
کامپایل کردن برنامه و ایجاد خروجی HEX
در بالای پنجره ی project workspace و بر روی آیکون target options کلیک کنید یا از منوی flash گزینه Configure Flash tools را انتخاب نمایید.
در پنجره باز شده, تب output را انتخاب کنید و گزینه create hex file را تیک بزنید و سپس بر روی ok کلیک کنید. با انجام دادن این عمل فایل هگز hex به خروجی فایل های پروژه افزوده می شود (شکل زیر).
در همین پنجره (پنجره بالا) بر روی target کلیک کنید و در بخش xtal} mhz} مقدار فرکانس کاری میکرو را مشخص کنید (مقدار کریستالی که به میکرو متصل است را در این بخش بنویسید.)
مقدار کریستال 18.432 مگاهرتز است.
نکته : مقدار کریستال, با زمان تولید شده رابطه مستقیم دارد. در صورتی که مقدار کریستال متصل شده به میکرو یکی نباشد, برنامه به درستی اجرا نمی شود.
در این مرحله قصد کامپایل کردن برنامه را داریم, برای این کار به منوی Project بروید و در آنجا گزینه build target را انتخاب کنید. با این کار برنامه کامپایل می شود و کد هگز مربوطه در محل ذخیره فایل اصلی ذخیره می شود. در صورتی که خطا یا اشکالی در برنامه وجود داشته باشد, در قسمت output window پیغام خطا به نمایش در می آید.
نکته : در صورتی که پالت output window در برنامه شما وجود ندارد از منوی view گزینه output window را انتخاب نمایید.
با سلام . . .اول ممنون از سایت خویتون . . .آقا راستش من تازه کار با ARM رو شروع کردم. به یه مشکلی خوردم توی این مرحله (ببخشید نمیدونم همینجا باید بپرسم یا . . .)من تمام مراحل بالا رو رفتم (البته حتی sam7x256 رو هم نداشتم و از http://www2.keil.com/mdk5/legacy/ گرفتم) ولی موقع کامپایل بازم ارور میگیره: http://uupload.ir/files/18zg_untitled.png من تازه کارم . . .ممنون میشم راهنمایی کنین . . .
سلام دوست عزیز نظر لطف شماست
در تصویری که قرار دادید error موجود مربوط به کتابخانه قطعه میشه، شما کتابخانه ای که دانلود کرده اید را در کجا قرار داده اید؟
سلام من تازه کار با arm شروع کردم دقیقا همین برنامه بالا رو نوشتم اما یه error میده پایین نوشته میدونم کتابخونه libe-AT91SAM7X256.h شناسایی نمیکنه واین کتابخونه هم توی پوشه ARM/INC/Atmel/sam7x این کتابخونه نداره میشه برام ایملش کنید یا اینجا قرار بدید ؟:compiling test2.c…test2.c(2): error: #5: cannot open source input file “libe-AT91SAM7X256.h”: No such file or directoryTarget not created
سلام دوست عزیز
این کتابخونه را یا باید بنویسید و یا میتونید به راحتی از اینترنت دانلود کنید، برای دانلودش یه جستجوی ساده در گوگل کافی.
من این برنامه رو که مینویسم در خط دوم که مربوط به lib هست error دارم.ممنون میشم راهنماییم کنید.
باید کتابخانه تراشه مورد استفاده در برنامه را به قسمت lib نرم افزار اضافه کنید.
سلاماقا من اصلا نتونستم این برنامه رو کامپایل کنماولا که تو کیل 5 کلا تو قسمت select device for target میکروهای at91 وجود نداره ، در صورتی که تو device database هست.تو کیل 4 هم که این میکرو وجود داره ، با ارور بقیه ی دوستان روبرو میشیم ; که خب متاسفانه راهنمایی هاتون در مورد رفعش برای شخص خودم راه گشا نبودهامیدوارم بتونید علاقه مندان رو بیشتر کمک کنید