We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi all , I’ve got a problem with Flash Magic Ethernet BootLoader . The original sample for LPC1768 works fine but with a little change I made in the source code of the bootloader program . Here’s the line I added : SCB->VTOR = 0x00002000; in the code below:
void execute_user_code(void) { void (*user_code_entry)(void); SCB->VTOR = 0x00002000; user_code_entry = (void (*)(void))(USER_START_SECTOR_ADDRESS | 0x00000001); user_code_entry(); }
I can load some of my own programs into the microcontroller through ethernet (Via Flash Magic) , But when I load Some others , they don’t work at all . Thanks in advanced
Bootloader Settings :
IROM1 = 0 , SIZE = 0x80000 IROM2 Not Used
IRAM1 Not Used IRAM2 = 0x20082000 , Size = 0x1000
/////////////
Program Settings :
IROM1 = 0x2000 , SIZE = 0x80000 IROM2 Not Used
IRAM1 =0x10000000,size=0x8000 IRAM2 = 0x2007C000 , Size = 0x6000 It seems the problem lies on IRAM1 & IRAM2 Settings or lies on the different initialization settings between the bootloader program and my own programs which are loaded into the microcontroller or lies on SCB->VTOR. I don’t exactly know how to set IRAM1 & IRAM2 in different programs . I just use different places in RAM and don’t know if some places are allocated to something or not or am I free to choose wherever interested or not ?
Isn’t the programs loaded supposed not to dependent on the bootloader program initialization ? For example PLL ,TIMER, UART,… settings are set for some programs and they work perfectly when not using a bootloader . Now the bootloader has some settings for PLL and timer and uart . For uart the first initialization is executed(BootLoader) and now the second is executed(The program loaded) with some changes . If I don’t have the exact same settings as bootloader settings on my program , the uart doesn’t work on the program !
The strange point is why there wasn’t the line I added to the bootloader program (SCB->VTOR = 0x00002000;) ?
any help ?
Thanks in advanced
Sorry , above in program settings : IROM1 = 0x2000 , SIZE = 0x7E000