lpcware

Second bootloader

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
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!

Outcomes