Hi, the STM32F427 has 256KB ram.
In the file USB_Device/DFU_Standalone/Src/main.c
/* Test if user code is programmed starting from USBD_DFU_APP_DEFAULT_ADD address */
if(((*(__IO uint32_t*)USBD_DFU_APP_DEFAULT_ADD) & 0x2FFE0000 ) == 0x20000000)
/* Jump to user application */
JumpAddress = *(__IO uint32_t*) (USBD_DFU_APP_DEFAULT_ADD + 4);
JumpToApplication = (pFunction) JumpAddress;
/* Initialize user application's Stack Pointer */
__set_MSP((*(__IO uint32_t*) USBD_DFU_APP_DEFAULT_ADD ));
the boot fail at the BOLD line.
If the initial stack pointer is located in a position greater than 64K the IF fail.
I think that for a microcontroller with 256KB of ram the condition shold be:
if (((*(__IO uint32_t*)USBD_DFU_APP_DEFAULT_ADD) & 0x2FFC0000 ) == 0x20000000)
Do you have any comment?