IAP升级-IAP例程如何修改flash跳转地址

发布时间 2023-03-24 16:56:51作者: WCH_CH32

以CH32V307EVT中IAP例程举例。

代码结构分为IAP+APP,共有两个工程,先下载IAP,再通过WCHMcuIAP_WinAPP工具下载APP,实现在应用升级功能。

IAP例程在flash 0地址起始,所以无需关注中断向量偏移,IAP例程可以实现USB和串口下载。在IAP例程中配置APP跳转地址,跳转方式为触发软件中断,在软件中断中实现跳转。软件中断在ch32v30x_it.c中,具体代码如下图:

 

 

APP目前设置起始地址为0x5000,如想修改其他地址,可在此中断函数中修改为其他的flash地址。

如修改此处APP起始地址,APP工程中LD文件也需对应修改。如下图所示:

 

修改LD文件,相应的中断向量地址会自动偏移。