求教: CH32V203 IAP , 修改APP地址

CH32V203 自帶例程中IAP的例子,?

APP是從0x08005000開始? (#define FLASH_Base?? 0x08005000)

現(xiàn)在由于FLASH空間不夠, 想把APP改到從0x08004000,?

我修改:?。保骸?define FLASH_Base?? 0x08004000

     2: void SW_Handler(void) {
??????????????????????????????????? __asm("li? a6, 0x4000");
??????????????????????????????????? __asm("jr? a6");

??????????????????????????????????? while(1);
????????????????????????????????????}


????????????????3: APP的LD里,  改成:0x08004000

修改之后, APP沒有運(yùn)行.

求教:?。保耗懿荒芨某?x08004000 ?

  ?。玻哼€要改哪里?。?br>

您好,若要修改IAP以及APP所占FLASH空間的大小,需要注意一下IAP和APP編譯之后程序代碼的大小,若使用的是CH32V03 EVT中的IAP例程,注意IAP編譯之后的程序代碼大小已經(jīng)超過16K了,因此你分配0x08004000的大小是不夠的。目前我們的IAP例程包含了USB和串口兩種升級(jí)方式,你可以根據(jù)自己的需求,去掉一種,精簡一下代碼,然后再根據(jù)代碼大小分配一下IAP的大小。此外需要注意一下工程文件的配置,根據(jù)芯片具體型號(hào)修改ld文件FLASH、RAM大小、啟動(dòng)文件以及相關(guān)宏定義。后續(xù)若有問題,可通過郵箱(lzs@wch.cn)和我溝通


你好

1.例程的IAP大小17K多,所以要改成4000,需要減少IAP的代碼大小,可以把printf去掉,會(huì)降到12K,或選擇使用wch-printf編譯后13K

image.png

2.APP的LD中,F(xiàn)LASH起始地址改為0x00004000,生成Bin用IAP工具下載

3.如果要降低IAP的flash占用除了優(yōu)化代碼外,還可以參考這個(gè)https://www.cnblogs.com/wchmcu/p/17337337.html


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

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