在 main.c 里面添加
/* USER CODE BEGIN PTD */
typedef void (*pFunction)(void);
/* USER CODE END PTD */
/* USER CODE BEGIN PD */
#define FLASH_APP_ADDR 0x8008000
/* USER CODE END PD */
/* USER CODE BEGIN 0 */
void UserAppStart(void)
{
printf("BOOTLOADER Start\n");
if (((*(__IO uint32_t*)ApplicationAddress) & 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; // jump to application address
/* Initialize user application's Stack Pointer */
__set_MSP(*(__IO uint32_t*) ApplicationAddress); // initial application stack pointer
Jump_To_Application(); // execute jump, application run...
} else {
printf("No APP found!!!\n");
}
}
/* USER CODE END 0 */
参考: http://ibotx.com/?p=191
https://blog.csdn.net/mynameislinduan/article/details/83579725