PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل با keil



mehran1234
15-08-2011, 20:16
سلام
من می خوام با برنامه keil برنامه بنویسم.
اما وقتی که کد رو می نویسم و کامپایل می کنمٰرویه میکرو کار نمی کنه.
جالب اینجاست که وقتی همون کدها رو تویه IAR کپی می کنم
برنامه به راحتی کار می کنه
نمی دونم که مشکل از کجاست.
من این مراحل رو برایه ایجاد پروژه تویه keil میرم:
1-project ---->new uvision project
2-ایجاد یک فایل با پسوند c و سپس افزودن ان به برنامه از manage comonents
3-در target options در تب output گزینه creat HEX file رو هم می زنم.
بعد برنامه رو کامپایل می کنم و برنامه هم هیچ اروری نمی ده و به راحتی کامپایل می شه.
حالا به نظر شما مشکل چیه؟
اینم نمونه کدی که من برای امتحان نوشتم:

#include <LPC23xx.h>
void main (void)
{
IODIR0|=(0x1<<20);
IOSET0|=(0x1<<20);
}

kavir
15-08-2011, 22:54
سلام
اینجا نمونه کدها روببین
کلیه آموزش ها و نکات مهم برد eke2lpc v1.0 کویرالکترونیک - ایـــــــــران میـــــــکرو ™ (You can see links before reply)
خروجی ها رو ناقص تعریف کردین

mehran1234
16-08-2011, 00:22
باور کنید که این برنامه رو فقط با تغییر هدر فایلش تونستم با IAR کامپایل کنم و روی برد هم جواب داد
اما با keil جواب نمی ده.
#include <LPC23xx.h>
void wait(void)
{
long int i ;
for(i=0;i<4000000;i++);
}
int main(void)
{
FIO3DIR =(1<<25);
while (1)
{
FIO3SET = (1<<25);
wait();
FIO3CLR = (1<<25);
wait();
}
}

من به اون آدرس هم سر زدم
تنها فرقش این بود که برای خروجی از fast استفاده کرده بود که من تو این برنامه هم امتحان کردم
اما بازم کار نمی کنه
شما احتمال نمی دید که مشکل از کامپایلر باشه؟
یا باید تنظیمات خاصی رو انجام بدم که انجام نداده باشم؟

mzarkoob
16-08-2011, 04:11
باور کنید که این برنامه رو فقط با تغییر هدر فایلش تونستم با IAR کامپایل کنم و روی برد هم جواب داد
اما با keil جواب نمی ده.
#include <LPC23xx.h>
void wait(void)
{
long int i ;
for(i=0;i<4000000;i++);
}
int main(void)
{
FIO3DIR =(1<<25);
while (1)
{
FIO3SET = (1<<25);
wait();
FIO3CLR = (1<<25);
wait();
}
}

من به اون آدرس هم سر زدم
تنها فرقش این بود که برای خروجی از fast استفاده کرده بود که من تو این برنامه هم امتحان کردم
اما بازم کار نمی کنه
شما احتمال نمی دید که مشکل از کامپایلر باشه؟
یا باید تنظیمات خاصی رو انجام بدم که انجام نداده باشم؟


سلام دوست من
من با این موارد مواجه شدم . دو نکته وجود داره. اول استفاده از دستور SCS |= 0x00000001 و دوم شما دارید از پورت 3 استفاده می کنید . در این حالت فکر کنم باید دستور PINSEL6=0x00; // Set For GPIO را هم اضافه کنید. خودم قبلا این موارد را رعایت نمی کردم و هر کاری می کردم led های روی برد روشن نمی شد!
نبودن موج خروجی در مد شبیه سازی! - ایـــــــــران میـــــــکرو ™ (You can see links before reply)
مشکل در استفاده از مد ورودی - ایـــــــــران میـــــــکرو ™ (You can see links before reply)

bugmenot
16-08-2011, 11:48
سلام
من وقتی که خط به خط برنامه رو دیباگ کردم
فهمیدم که اصلا وارد حلقه main نمی شه.
تویه startup رویه خط 626 که دستورش هم
DAbt_Handler B DAbt_Handler
است می مونه
حالا به نظرتون چه کنم؟
راستی تمام لینکها و نکاتی که گفتید رو هم انجام دادم اما افاقه نکرد

mzarkoob
16-08-2011, 17:04
یه برنامه می ذارم خیلی ساده از ورودی خروجی روی برد استفاده کرده:
در این برنامه هدف این است که ابتدا اگر کلید sw1 روی برد را فشار دهیم led1 روی برد چشمک بزند
فقط چیزی که فکر می کنم باید یاد آوری کنم (چون احتمال میدهم فراموش کرده باشید) آدرس هگز این برنامه از 0x0 شروع شده و اگه خواستید بوت لودر کنید باید بذارید 0x2000 و دوباره اجرا کنید و باینری بسازید.
موفق باشید

mehran1234
16-08-2011, 19:51
من keil 3.7 رو دانلود کردم
حالا وقتی که برنامه رو می نویسم
تویه پروتئوس به راحتی کار می کنه
اما وقتی که با Flash Magic از طریق ISP میکرو رو پروگرم می کنم
کار نمی کنه
به نظر شما مشکل از چیه؟
منظور شما از آدرس هگز برنامه رو نمی فهمم
یعنی شروع IROM رو به 0x2000 تغییر بدم یا یه چیز دیگه؟

gangi
16-08-2011, 21:06
سلام
من وقتی که خط به خط برنامه رو دیباگ کردم
فهمیدم که اصلا وارد حلقه main نمی شه.
تویه startup رویه خط 626 که دستورش هم
DAbt_Handler B DAbt_Handler
است می مونه
حالا به نظرتون چه کنم؟
راستی تمام لینکها و نکاتی که گفتید رو هم انجام دادم اما افاقه نکرد

با سلام

شما دچار مشکل خاصی شده اید!
مثل من:You can see links before reply

تنظیمات پروژه را اینجوری قرار بده:
(به غیر از فرکانس و ادرس مپ که خودش تنظیم می کنه)

Use MicroLib = ok

You can see links before reply

You can see links before reply



اگر راه حلی بهتر پیدا کردی ، اینجا ذکر کن.

با سپاس

mehran1234
16-08-2011, 21:38
خیلی ممنون از کمکتون
با این تنظیمات برنامه به راحتی روی برد کار کرد