2026-03-26 4:23 AM - last edited on 2026-03-26 6:26 AM by mƎALLEm
void JumpToBootloader (void)
{
uint32_t addr = 0x1FFF0000;
__disable_irq();
// 1. Reset hardware periferiche usate (FDCAN in particolare)
__HAL_RCC_FDCAN_FORCE_RESET();
__DSB();
__HAL_RCC_FDCAN_RELEASE_RESET();
// 2. De-init RCC e SysTick
HAL_RCC_DeInit();
SysTick->CTRL = 0;
SysTick->LOAD = 0;
SysTick->VAL = 0;
// 3. Remap e VTOR
__HAL_RCC_SYSCFG_CLK_ENABLE();
__HAL_SYSCFG_REMAPMEMORY_SYSTEMFLASH();
SCB->VTOR = 0;
// FLASH->ACR |= FLASH_ACR_PROGEMPTY;
// 4. Jump
__set_MSP(*(volatile uint32_t*)addr);
void (*SysMemBootJump)(void) = (void (*)(void))(*(volatile uint32_t*)(addr + 4));
SysMemBootJump();
}
2026-03-26 6:25 AM - edited 2026-03-26 6:28 AM
Hello @francescopanini and welcome to the ST community
I have two questions:
1- Did you check your soldering joints?
2- At which temperature range you are performing the test?
3- What is the number of the tested devices? what is the number of the failing devices?
2026-03-26 7:40 AM
Hello,
2026-03-26 7:52 AM
Ok thank you for the feedback.
@francescopanini wrote:
All the tests have been performed at room temperature
Could you please estimate what room temperature you have?
2026-03-26 7:58 AM
@mƎALLEm thank you for the quick followup. The temperature swings between 22 and 26 degrees Celsius according to the sun irradiation to the lab's glass windows.