Why stm32f2 bootloader check application always failed?
Hello:
I use this to check the address is application in stm32f207VET6.
void go2APP(void) {
uint32_t JumpAddress;
pFunction Jump_To_Application;
//Check
if (((*(__IO uint32_t*) FLASH_APP_ADDR) & 0x2FFE0000) == 0x20000000) {
printf("APP Start...\n");
HAL_Delay(100);
// Jump to user application //
JumpAddress = *(__IO uint32_t*) (FLASH_APP_ADDR + 4);
Jump_To_Application = (pFunction) JumpAddress;
// Initialize user application's Stack Pointer //
__set_MSP(*(__IO uint32_t*) FLASH_APP_ADDR);
Jump_To_Application();
} else {
printf("No APP found!!!\n");
}
}When i erase the whole chip i get this

But when i use jflash to program an application hex to the application address
I get this

Even i use the flash base address to check but also get 0x20020000 .
Should i change the 0x2FFE0000 to 0x2FFD0000 ?
Thank you
