PDA

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



smahdy
20-07-2012, 14:04
سلام
من برا پروگرام کردن با usb با زمین کردن پایه p120 و زدن reset به وضعیت پروگرام کردن میرم
ادرس شروع هم به 2000 تغییر میدم و همین طور NO_CRP رو وارد میکنم
فایل bin. رو هم با keil به این صورت تولید می کنم که دستور منوی flash و run#1 دستور
fromelf --bin --output=fre_test.bin fre_test.axf
رو وارد میکنم ولی فایل bin به صورت ی پوشه تولید میشه نه یک فایل مشخص!!!!!!!!
در ضمن از نرم افزار H-JTAG V0.9.2 هم برا تبدیل hex به bin استفاده کردم ولی میکرو با این فایل پروگرام نمیشه
به نظر شما مشکل کارم کجاس؟
ممنون

smahdy
23-07-2012, 20:08
سلام اقا کسی نیس کمک کنه
روال پروگرام کردن با bootloader رو برام توضیح بده
ممنون

kavir
24-07-2012, 11:37
سلام
من قبلا با lpc2378 کار کردم
مورد دومی که نوشتی پروگرام نمیشه از باینری که کانورت کردی چه خطایی برات میزنه؟
برای ساخت فایل باینری از کیل توی مجلات فکر میکنم بود
مورد بعدی پروگرام کردن خود برنامه بوت لودر هست یکبار کل میکرو رو کامل پاک کنید و بعد پروگرام کنید
نتیجه هم بگید
یا حق

mehrad_jahrom
24-07-2012, 16:53
سلام، من خودم اول با bootloader پروگرام می کردم. ولی خیلی از برنامه ها کار نمی کرد. پیشنهاد می کنم که از j-link استفاده کنید. من واقعا راضیم و خیلی از برنامه هایی که قبلا روی bootloader کار نمی کرد، الان با j-link کار می کنه که نشون می ده برنامه درست بوده و فقط مشکل از boodloader بوده.

smahdy
25-07-2012, 00:35
سلام ممنون از وقتی که گذاشتید
منظورم از اینکه پروگرام نمیشه اینه که مثلا ی برنامه ساده رو که وضعیت یک پایه رو تغییر میده با H-JTAG V0.9.2 فایل هگزش رو به bin تبدیل میکنم و این فایل رو روی میکرو میریزم بعدش میکرو رو ریست میکنم ولی برنامه روی میکرو عمل نمیکنه!
در ضمن من برنامه بوت لودر در پروگرام کردم و فایل با فرمت bin که خود شرکت داده رو با همین روش روی میکرو میریزم و میکرو بدرستی عمل میکنه پس مشکل از فایلی هست که من از هگز به bin تبدیل کردم
توی یکی از مجلات pmmهم روش تولید فایل با فرمت bin رو توضیح داده . من همون کارا رو انجام میدم ولی به جای ی فایل ی پوشه بهم میده!

در واقع من الان از flash magic استفاده میکنم و تا حالا مشکلی نداشتم ولی برد من جایی که قرار میگیره فقط با لپ تاپ میشه پروگرامش کرد برا همین درگیر usb و bootloader شدم
حالا شما دوستان به این مشکل من تا حالا بر نخوردید؟و روشی برا پروگرام کردن با usb به جز ای سراغ دارید؟
ممنون

kavir
25-07-2012, 00:38
سلام
در کل پیشنهاد می کنم از بوت لودر استفاده نکنید
یک جیلینک بگیرید و خودتون راحت کنید بوت لودر راه اساسی نیست
خیلی دوستان دیگه هم که سری های اول کار کرده بودن مشکل در تنظیمات وقفه و.. داشتند
موفق باشید

نیما شفیعی
11-03-2013, 23:00
سلام
در کل پیشنهاد می کنم از بوت لودر استفاده نکنید
یک جیلینک بگیرید و خودتون راحت کنید بوت لودر راه اساسی نیست
خیلی دوستان دیگه هم که سری های اول کار کرده بودن مشکل در تنظیمات وقفه و.. داشتند
موفق باشید


سلام
من از برد EKE2LPCV استفاده می کنم تا حالا هم برای پرگرام کردن از Bootloader استفاده می کردم . روش خیلی سریع و راحتی هست. فقط با کپی کردن باینری برنامه پروگرام می شه.
فقط در برنامه ای که از اینتراپت استفاده می کنم و وقتی آدرس برای ساختن فایل باینری به 0x2000 تغییر می دم برنامه دیگه کار نمی کنه
فکر می کنم از آدرس وقفه ها باشه ادرس تعریف شده یک جوری به آدرس جدید تغییر پیدا کنه:sa:
کسی می دونه چه تغییری توی برنامه باید بدم تا برنامه با Bootloader کار کنه؟؟؟؟:0013:
این برنامه چه تغییری کنه درست می شه



#include "LPC23xx.H"


char position=0;

void FIQ_Handler(void) __irq{
position=!position;
if (position==0) {FIO0CLR=0x00200000;
FIO3SET = 0x00000001;}
else {FIO0SET=0x00200000;FIO3CLR = 0x00000001;};
T0IR=0x00000001; //acknowledge
VICVectAddr=0x00000000; //acknowledge
}

int main(){
PINSEL6 = 0; /* Ensure ETM interface is diabled, enable LEDs */
SCS |= 0x00000001;
FIO3DIR = 0x000000FF; /* P2.0..7 defined as Outputs */
FIO3MASK = 0x00000000;

T0TCR=0x02;
T0PR=0x01;
T0MR0=6000000;//0x01E84800; //32000000
T0MCR=0x03; //enable interrupt on MR0 and reset timer0 when MR0=TC
T0TCR=0x01;
//VICVectAddr4=(unsigned long)IRQ_Handler;
VICIntSelect=0x00000010; //set timer0 to FIQ interrupt mode
VICIntEnable=0x00000010;
SCS |=0x00000001;
FIO0MASK=0x00000000;
FIO0DIR=0xFFFFFFFF;
FIO0CLR=0x00000000;

while(1);
}

mansoory
12-03-2013, 09:38
فرزندم این دستور از CMSIS رو یادت رفته اضافه کنی:
(NVIC_SetVTOR(0X2000

توضیحات کاملی رو میتونید در فروم مربوط به آموزش CMSIS ببینید(پیوست). (باتشکر از esi)
موفق باشید

نیما شفیعی
16-03-2013, 23:27
مرسی mansoory , زحمت کشیدی
توضیحات عالی بود
:wink: