Content originally posted in LPCWare by andy22 on Sun Dec 16 19:42:50 MST 2012
Hi,
My project need a second bootloader to update new firmware code through a SW tool.
The LPC11U14 chip has 8 sectors and I will use the first and second sectors to store my bootloader,and in bootlader code ,i will download my firmware through the USB interface.My firmware code will store from sector 2 to 5. When reset the MCU, the code will always excute from the bootloader,and then judge if the code jump to firmware or update the firmware.
I use the function to jump to my firmware:
void nsAPI_Flash_Jump2AppSector(void)
{
typedef void Jump2BootloaderSector(void);
Jump2BootloaderSector *_Jump_ ;
_Jump_ = (Jump2BootloaderSector *)(0x00002000|0xc1);
_Jump_();
}
What the question is i can't jump to it.After i called the function,my system will out of work.
Whether the address I jump to is wrong? But when i change it to 0x0 or 0x00002000,it doesn't work as the same,what should i do?
Please give me some advice,I am now very anxious!