I am new to the ARM Chips and am trying to implement a bootloader using the example code from AN2557.
I am using IAR workbench for ARM 6.2 and a segger Jlink educational JTAG.
In IAR I have 2 separate projects. One for the bootloader and another for the user application.
I have set the bootloader to be programmed at address 0x8000000 and the user app at 0x8003000
when I get to this part in the code:
if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x2000000)
/* Jump to user application */
JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
Jump_To_Application = (pFunction) JumpAddress;
/* Initialize user application's Stack Pointer */
__set_MSP(*(__IO uint32_t*) ApplicationAddress);
it does not execute the If statement. I dont know if I understand exactly whats going on.
Thank you for your help