跳转至GD32F303系统内存

Jump to GD32F303 System Memory

提问人:김무성 提问时间:10/26/2023 最后编辑:김무성 更新时间:10/30/2023 访问量:20

问:

有许多示例代码用于通过跳转到带有ST32产品的System Momory来下载固件。 我已经尝试过并且很满意并且正在使用中。

但是,GD32 产品的示例代码很少。 而且效果不佳。

请告诉我在哪里修改。

当我运行下面的代码时,我希望跳转到系统内存,但它不起作用。

我不认为这是硬件问题,因为当 Boot1 称为 High 时,它运行良好。

#define boot_addr  0x1FFFF000   
void ResetToSysBoot(void)
{
    void (*SysMemBootJump)(void);
    
    bspDeInit();
    
//    SCB->VTOR = boot_addr;
    
    SysMemBootJump = (void (*)(void)) (*((uint32_t *)(boot_addr +4)));
    __set_MSP(*(uint32_t *)boot_addr);
    
    SysMemBootJump();    
}

void bspDeInit(void)
{
//UartPC_Init(); 
//  HAL_RCC_DeInit();
//  HAL_DeInit();
  
  rcu_deinit();

  SysTick->CTRL = 0;
  SysTick->LOAD = 0;
  SysTick->VAL = 0;
  
// Disable Interrupts
//
//  for (int i=0; i<8; i++)
//  {
//    NVIC->ICER[i] = 0xFFFFFFFF;
//    __DSB();
//    __ISB();
//  }
  __disable_irq();

}
广东

评论


答: 暂无答案