CH32V203c8t6時(shí)中斷向量表如何重定向?使用自己的BOOT+APP方式

公司有要求,所有MCU必須支持升級(jí),,CH32V203c8t6我APP中用的USB庫(kù),使用U盤讀取文件給另一個(gè)MCU升級(jí),,所以APP已經(jīng)占用了53K的rom,,現(xiàn)在要使用bootloader用USB讀取U盤給ch32v203c8t6自己升級(jí),,但是因?yàn)橐肬SB庫(kù),,也會(huì)占用20K的rom,,ch32v203c8t6只有64K的rom,,使用正常的bootloader+app的雙區(qū)方式20K+53K大于64K不行,,,rom不夠用,因?yàn)榧虞d了兩次USB庫(kù),現(xiàn)在的想法只能使用一次USB庫(kù),,用跳轉(zhuǎn)到地址執(zhí)行,請(qǐng)問有沒有這方面的例程???中斷向量表重定向

您好,根據(jù)你的應(yīng)用情況,可將MCU的FLASH分為三塊區(qū)域:FLASH1、FLASH2、FLASH3,其中IAP程序放在FLASH1區(qū)域,APP程序放在FLASH2區(qū)域,IAP和APP共用的USB庫(kù)放在FLASH3區(qū)域,其中IAP和APP程序在使用時(shí)都會(huì)用到FLASH3區(qū)域的USB庫(kù)文件,整體就是這么一個(gè)思路。附件為參考該模式寫的IAP和APP例程,可以簡(jiǎn)單參考一下,主要需要注意一下ld文件中關(guān)于FLASH的分配。后續(xù)若有問題,可通過郵箱(lzs@wch.cn)和我溝通

icon_rar.gifCH32V203IAP+APP.zip



這個(gè)方法如何保證USB庫(kù)在IAP編譯的時(shí)候跟APP編譯的時(shí)候,函數(shù)的入口地址是一樣的?按理說鏈接的時(shí)候只保留用到的函數(shù)。IAP跟APP可能使用的不一樣。


搞不定啊,,你給我的代碼直接編譯都通不過,,

FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 12K

FLASH1 (rx) : ORIGIN = 0x0000D800, LENGTH = 10K

RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K

HOST_IAP.elf section `.text' will not fit in region `FLASH',,,,,,,,,

HOST_IAP.elf section `.text' will not fit in region `FLASH1',,,,,,,,

region `FLASH' overflowed by 460 bytes,,,,,,,,,

region `FLASH1' overflowed by 8892 bytes


沒有類似于IAR的那種分散鏈接嗎?兩個(gè)向量表,,可以把bootloader與app,,做成一個(gè)工程,,你這個(gè)方法,,感覺不靠譜啊,,,,,


編譯通過了,,,我再研究研究,,您也幫忙看看,,,那種兩個(gè)向量表,,可以把bootloader與app,,做成一個(gè)工程的方法


好了,不需要折騰了,,我優(yōu)化了一下編譯文件,沒用的文件不編譯了,,,flash空間騰出了20KB,,謝謝了


您好,關(guān)于提供的例程,后面測(cè)試了一下,確實(shí)存在一些問題,針對(duì)這類應(yīng)用,這邊會(huì)再看看是否有好的解決方法


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

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