Skip to main content
Visitor II
July 13, 2022
Question

Jump to bootloade from application on STM32G48xx and use DFU

  • July 13, 2022
  • 0 replies
  • 552 views

I'm stuck on performing jump to bootloader in order to update firmware via DFU. MCU is STM32G484. On empty project I configured the clock for USB, my code is:

int main(void)
{
 HAL_Init();
 SystemClock_Config();
 /* Initialize all configured peripherals */
 MX_GPIO_Init();
 MX_USB_PCD_Init();
 
 void (*SysMemBootJump)(void);
//volatile uint32_t addr = 0x1FFF0000; //from AN2606 (system memory)
 volatile uint32_t addr = 0x1FFF6FFE; //from AN2606 (bootloader ?)
 __disable_irq();
 SysTick->CTRL = 0;
 HAL_RCC_DeInit();
 for (int i=0;i<5;i++)
 {
 NVIC->ICER[i]=0xFFFFFFFF;
 NVIC->ICPR[i]=0xFFFFFFFF;
 }
 
 __enable_irq(); //re-enablde irq for USB (?)
 
 SysMemBootJump = (void (*)(void)) (*((uint32_t *)(addr + 4)));
__set_MSP(*(uint32_t *)addr);
SysMemBootJump();
 
//shouldn't reach here (?)
 

    This topic has been closed for replies.