关于CH32V303RCT6 IAP跳转的问题

目前设计BootLoader 和APP1和APP2区,但这个中断向量表的入口地址在官方的307例程中没发现,只进行了一个软复位,然后就可以执行新的程序,想问下有没有和ST32那样的跳转函数SCB->VTOR = APP_ADDRESS;可以直接定位到入口地址的。还是说只需要进行软件复位就可以了。

?NVIC_EnableIRQ(Software_IRQn);

NVIC_SetPendingIRQ(Software_IRQn);如果是这样的话,两个APP都不删除的话,他是跳到哪个APP执行。


您好,CH32V系列MCU进行IAP升级时,不需要像STM32那样进行中断向量偏移设置,这部分在启动文件中有相关处理,如下图。关于你所说的两个APP都不删除的话跳到哪个APP执行,没太明白你的意思,这个根据你设置的跳转地址决定。若你是想开辟两个APP区域,跳到哪个执行根据你的跳转地址决定。后续若有问题,可邮箱(lzs@wch.cn)沟通。

image.png


能不能提供一下这个SW中断程序中设置可变地址的操作,这ASM操作不是很懂

   __asm("li  a6, 0x8000");

    __asm("jr  a6");

,比如目前我的地址是0X8000,我想将这个值变成一个可全局变量,这样可以通过进入中断之前修改。


只有登录才能回复,可以选择微信账号登录