目前在调试IAP相关功能,有几个问题:
一、在没有烧录IAP程序,仅仅烧录APP的情况,板子重新断电上电,程序居然能够跑起来,在没有IAP的情况下,板子重新上电应该是跑不起来的。APP的ld文件已经修改如下。。是直接通过MS工程进行烧录的
二、为了验证IAP跳转功能,IAP程序中在main程序起始开头就执行了跳转操作,如下图。然后通过MS工程分别 将IAP和APP程序下载进去(先烧录APP,后烧录IAP),板子重新上电应该能运行IAP代码,然后跳转到APP程序中,但实际发现并不能跳转。IAP程序LD文件修改如下,跳转函数也做了修改,将地址偏移改成了0x4000
以上所有烧录操作都是通过点击MS工程下载按钮进行下载,并且已经取消勾选【Erase All】选项,在下载配置中我发现烧录地址是不可变的,如下图,就算我APP中的LD文件已经修改成了0x4000偏移地址,这个地方还是默认的0x800000地址。会不会就是因为这个原因,所以问题一,才会在没有IAP的情况下也能够运行。。然后问题二 也是因为这个问题,导致后烧录的IAP将先烧录的APP程序给覆盖掉了。。如果是这个原因,那么这个地方的烧录地址怎么修改,或者说我应该怎么调试IAP功能。