Уведомления
Очистить все
Вот из одного из проектов выдернул, вариант точно рабочий (STM32F103RB):
#define SYSTEM_MEMORY_ADDRESS 0x1FFFF000
static void JumpToSystemBootloader()
{
HAL_DeInit();
__disable_irq();
SysTick->CTRL = 0;
SysTick->LOAD = 0;
SysTick->VAL = 0;
const uint32_t ptr = (*((uint32_t *)SYSTEM_MEMORY_ADDRESS));
void (*JumpToSystemMemory)(void);
JumpToSystemMemory = (void (*)(void)) (*((uint32_t *) (SYSTEM_MEMORY_ADDRESS + 4)));
__set_MSP(ptr);
JumpToSystemMemory();
while(1);
}
Размещено : 21.10.2024 13:27