For IAP upgrade, I think the custom written to address how to rewrite, on this side and I have two address of memory, how to write continuously? ,
PFUNCTION Jump2App=NULL;
If ((((* (volatile u32 *) FLASH_APP_ADDRESS) & amp; 0 x2ffe0000)==0 x20000000) & amp; & ((* (volatile \
U32 *) x000055aa FLASH_FLAG_ADDRESS)==0))//check if the stack address legitimate.
{
Drv_DelayNops (DLY_1MS * 100);
Jump2App=(PFUNCTION) * (volatile u32 *) (FLASH_APP_ADDRESS + 4);//user code area for the second word program start address (reset address)
FLASH_APP_ADDRESS MSR_MSP (* (volatile u32 *));//initialize the APP stack pointer (the first word is used to store the user code area stack address)
//__set_MSP (* (volatile u32 *) FLASH_APP_ADDRESS);
Jump2App ();//jump to APP.
}