-
GD32F470如何调用芯片的bootloader???
各位专家大家好,请问有没有在GD32芯片上试过调用芯片的bootloader实现程序升级功能的,请指导。我最近在GD32F470上尝试调用芯片bootloader,发现并不能够成功,程序能掉跳转到0x1FFF0000地址,但不能给ISP软件回应。不是硬件的问题,因为我通过设置BOOT0、BOOT1引脚可以正确实现程序升级。我的具体实现是在SystemInit()函数开始即跳转到bootloader区,代码如下:voidSystemInit(void){uint32_ti;pFunctionJumpToApplication;//--------------------------------------------------------------------------------if(0x32f1==RTC_BKP0){rcu_periph_clock_enable(RCU_PMU);pmu_backup_write_enable();RTC_BKP0=0x1234;__set_PRIMASK(1);SysTick->CTRL=0;SysTick->LOAD=0;SysTick->VAL=0;/*关闭所有中断,清除所有中断挂起标志*/for(i=0;i<8;i++){NVIC->ICER=0xFFFFFFFF;NVIC->ICPR=0xFFFFFFFF;}/*使能全局中断*/__set_PRIMASK(0);JumpToApplication=((pFunction)(*(__IOuint32_t*)(0x1FFF0000+4)));__set_MSP(*(__IOuint32_t*)0x1FFF0000);JumpToApplication();}//---------------------------------------------------------------------------------......其他无关操作.........
2022-11-28 3