LPC11xx how to jump second bootloader from user code

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

LPC11xx how to jump second bootloader from user code

2,019 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by steven.weng on Wed May 04 21:18:31 MST 2016
Hi NXPs,
Refer to AN10995 LPC1100 secondary bootloader(http://www.nxp.com/documents/application_note/AN10995.zip)
Using NVIC_SystemReset() to return secondary bootloader from user application code.
Are there any other way to do this?
I use LPC1114 for power control in design(LPC1114 will power on our master cpu via GPIO, LPC1114 is connected gpio and uart pin with our master cpu)
If we want to upgrade LPC1114 application firmware via  uart command from master cpu. In such case, LPC1114 should not be reset because it will cause power off our master cpu.
How could I do ?
Thanks!

Best regards,
Steven
标签 (1)
0 项奖励
回复
4 回复数

1,659 次查看
lpcware
NXP Employee
NXP Employee
bump
0 项奖励
回复

1,659 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by af_bln on Thu May 19 01:19:59 MST 2016
Check the AppNote AN10866
There you will find the answer (read comments):

__asm void boot_jump( uint32_t address ){
   LDR SP, [R0]     ;Load new stack pointer address
   LDR PC, [R0, #4] ;Load new program counter address
}

void execute_user_code(void)
{
    /* Change the Vector Table to the USER_FLASH_START 
    in case the user application uses interrupts */
    SCB->VTOR = USER_FLASH_START & 0x1FFFFF80;

    boot_jump(USER_FLASH_START);
}

0 项奖励
回复

1,659 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by steven.weng on Sun May 08 22:51:33 MST 2016
Hi Andre,
Thanks for your reply.
I know that boot loader in rom will be called after device reset.
Are there another way to jump to 2nd boot loader(boot loader in sector 0 of flash, not boot loader in ROM) from user application code without reset?
Thanks
0 项奖励
回复

1,659 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by andre.marschalek on Sun May 08 06:04:52 MST 2016
its a boot loader called during boot you have to reset your device if you want to boot it
0 项奖励
回复