CH32F103中關(guān)于IAP中,應(yīng)用程序的中斷向量問(wèn)題

用CH32F103調(diào)試IAP,應(yīng)用程序起始地址為0x8002000;程序可以正常運(yùn)行,程序無(wú)法產(chǎn)生中斷,應(yīng)該應(yīng)用程序中斷向量表有問(wèn)題,RAM起始0x20000000;


生產(chǎn)SCF文件如下:

LR_IROM1 0x08002000 0x00010000? {? ? ; load region size_region

? ER_IROM1 0x08002000 0x00010000? {? ; load address = execution address

? ?*.o (RESET, +First)

? ?*(InRoot$$Sections)

? ?.ANY (+RO)

? ?.ANY (+XO)

? }

? RW_IRAM1 0x20000000 0x00005000? {? ; RW data

? ?.ANY (+RW +ZI)

? }

}

請(qǐng)問(wèn),如何在應(yīng)用程序中響應(yīng)中斷?謝謝!

您好,可以檢查一下在應(yīng)用程序中main函數(shù)的開(kāi)頭是否設(shè)置了中斷向量表偏移,以及flash的起始位置是否改變,如下圖:

image.png


好的,我試試



CH32F203與CH32F103是不是一樣設(shè)置就可以了?



我現(xiàn)在正式板子回來(lái)了,用的是CH32F203,加上SCB->VTOR=FLASH_BASE|0X2000;還是收不到中斷,還有沒(méi)有別的設(shè)置什么的?


您好,F(xiàn)203和F103基本差不多,但FLASH編程方式有點(diǎn)區(qū)別,若使用快速編程方式的話,F(xiàn)103是128字節(jié)編程,F(xiàn)203是256字節(jié)編程,具體可參考應(yīng)用手冊(cè)。你在寫IAP程序的時(shí)候需要注意一下FLASH的編程和擦除。此外,F(xiàn)203系列不同型號(hào),在使用時(shí)需要注意修改一下宏定義和啟動(dòng)文件。

CH32F103應(yīng)用手冊(cè):http://www.findthetime.net/downloads/CH32xRM_PDF.html?

CH32F203應(yīng)用手冊(cè):http://www.findthetime.net/downloads/CH32FV2x_V3xRM_PDF.html?

image.png

image.png


1654689489159990.png

1654689489173580.png


這兩個(gè)地方都設(shè)置了,但是不能主程序運(yùn)行,中斷調(diào)不過(guò)來(lái)


您好,這邊建議你先這樣試一下,先不通過(guò)IAP升級(jí),直接下載用戶程序(就正常程序,不需要進(jìn)行IAP升級(jí)配置)試一下看用戶程序是否能正常運(yùn)行,若可以正常運(yùn)行,建議你讀FLASH內(nèi)容和用戶程序文件對(duì)比一下是否一致,檢查一下是否在升級(jí)過(guò)程中出現(xiàn)問(wèn)題。



我們現(xiàn)在還沒(méi)有IAP來(lái)升級(jí),只是降應(yīng)用程序有KEIL5下載到我們的設(shè)備上,然后來(lái)運(yùn)行發(fā)現(xiàn)產(chǎn)生不了中斷,這個(gè)步驟方法我們?cè)谥皬S家的mcu上使用過(guò)得


? ?老哥,這個(gè)現(xiàn)在有解決嗎,我現(xiàn)在用的ch32F103也是中斷調(diào)不過(guò)來(lái),從0x8000000啟動(dòng)是正常的,加了IAP程序之后,APP從0x8002000啟動(dòng)就不正常


您好,若中斷運(yùn)行不正常,可嘗試在main函數(shù)中加中斷向量偏移試一下,如下圖

image.png


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频