急!!CH32V203 IAP相关问题

目前在调试IAP相关功能,有几个问题:

一、在没有烧录IAP程序,仅仅烧录APP的情况,板子重新断电上电,程序居然能够跑起来,在没有IAP的情况下,板子重新上电应该是跑不起来的。APP的ld文件已经修改如下。。是直接通过MS工程进行烧录的

image.png


二、为了验证IAP跳转功能,IAP程序中在main程序起始开头就执行了跳转操作,如下图。然后通过MS工程分别 将IAP和APP程序下载进去(先烧录APP,后烧录IAP),板子重新上电应该能运行IAP代码,然后跳转到APP程序中,但实际发现并不能跳转。IAP程序LD文件修改如下,跳转函数也做了修改,将地址偏移改成了0x4000

image.png

image.png

image.png

以上所有烧录操作都是通过点击MS工程下载按钮进行下载,并且已经取消勾选【Erase All】选项,在下载配置中我发现烧录地址是不可变的,如下图,就算我APP中的LD文件已经修改成了0x4000偏移地址,这个地方还是默认的0x800000地址。会不会就是因为这个原因,所以问题一,才会在没有IAP的情况下也能够运行。。然后问题二 也是因为这个问题,导致后烧录的IAP将先烧录的APP程序给覆盖掉了。。如果是这个原因,那么这个地方的烧录地址怎么修改,或者说我应该怎么调试IAP功能。

image.png

CH32V203用MRS分别下载IAP与APP程序,无法运行 - 沁恒微电子社区 (wch.cn)

看我这帖子。


image.png@JikiMo 按照这上面的方法试过,第二种方法会把iap程序给擦掉,第一种方法可以烧录,但是按照第一种方法,APP没跑起来,不知道是不是跳转失败了。大佬能指导一下么



贴下你的跳转代码。第二种方法是这样来操作的,先下载IAP,选择全擦,然后到APP程序,按上面的图设置好,然后点击仿真按钮,七星瓢虫的那个图标,这个时候MRS会下载程序,如果正常跳转,会正常进去到APP的仿真状态,就是会自动打开了.s启动文件。


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