目前在調(diào)試IAP相關(guān)功能,有幾個(gè)問(wèn)題:
一、在沒(méi)有燒錄IAP程序,僅僅燒錄APP的情況,板子重新斷電上電,程序居然能夠跑起來(lái),在沒(méi)有IAP的情況下,板子重新上電應(yīng)該是跑不起來(lái)的。APP的ld文件已經(jīng)修改如下。。是直接通過(guò)MS工程進(jìn)行燒錄的
二、為了驗(yàn)證IAP跳轉(zhuǎn)功能,IAP程序中在main程序起始開(kāi)頭就執(zhí)行了跳轉(zhuǎn)操作,如下圖。然后通過(guò)MS工程分別 將IAP和APP程序下載進(jìn)去(先燒錄APP,后燒錄IAP),板子重新上電應(yīng)該能運(yùn)行IAP代碼,然后跳轉(zhuǎn)到APP程序中,但實(shí)際發(fā)現(xiàn)并不能跳轉(zhuǎn)。IAP程序LD文件修改如下,跳轉(zhuǎn)函數(shù)也做了修改,將地址偏移改成了0x4000
以上所有燒錄操作都是通過(guò)點(diǎn)擊MS工程下載按鈕進(jìn)行下載,并且已經(jīng)取消勾選【Erase All】選項(xiàng),在下載配置中我發(fā)現(xiàn)燒錄地址是不可變的,如下圖,就算我APP中的LD文件已經(jīng)修改成了0x4000偏移地址,這個(gè)地方還是默認(rèn)的0x800000地址。會(huì)不會(huì)就是因?yàn)檫@個(gè)原因,所以問(wèn)題一,才會(huì)在沒(méi)有IAP的情況下也能夠運(yùn)行。。然后問(wèn)題二 也是因?yàn)檫@個(gè)問(wèn)題,導(dǎo)致后燒錄的IAP將先燒錄的APP程序給覆蓋掉了。。如果是這個(gè)原因,那么這個(gè)地方的燒錄地址怎么修改,或者說(shuō)我應(yīng)該怎么調(diào)試IAP功能。