// butloader
typedef void (*pFunction)(void);
uint32_t jumpAddress;
pFunction Jump_To_Application;
__disable_irq(); // Note: remember to enable IRQ in application
#define USER_VECT_TAB_ADDRESS
#define VECT_TAB_OFFSET MAIN_PROGRAM_START_ADDRESS
#if defined(USER_VECT_TAB_ADDRESS)
SCB->VTOR = 0x08000000 | VECT_TAB_OFFSET;
#endif /* USER_VECT_TAB_ADDRESS */
jumpAddress = *(__IO uint32_t*) (MAIN_PROGRAM_START_ADDRESS + 4);
Jump_To_Application = (pFunction) jumpAddress;
__set_MSP(*(__IO uint32_t*) MAIN_PROGRAM_START_ADDRESS);
// HAL_DeInit();
Jump_To_Application();
Дошло... как до жирафа... :) Здесь нет системного сброса и переИнита, как в случае загрузки.
Всем спасибо. :)