芯片CH32V305RBT6,USB的IAP升級(jí)問(wèn)題。已經(jīng)參考CH32V307EVT\EVT\EXAM\IAP\USB_UART。例程成功,但是自己寫的一個(gè)工程則失敗。
例程成功:燒寫CH32V307EVT\EVT\EXAM\IAP\USB_UART目錄下的CHV30x_IAP工程到芯片,然后CHV30x_APP編譯出bin固件,可以使用WCHMcuIAP_WinAPP.exe成功燒錄并在燒錄完之后自動(dòng)跳轉(zhuǎn)到app
自己寫的一個(gè)工程失?。簾龑慍H32V307EVT\EVT\EXAM\IAP\USB_UART目錄下的CHV30x_IAP到芯片,然后自己的一個(gè)工程(這個(gè)工程是在CH32V307EVT\EVT\EXAM\USB\USBFS\DEVICE\CompositeKM的基礎(chǔ)上改的),編譯出bin固件,使用WCHMcuIAP_WinAPP.exe成功燒錄并在燒錄完之后自動(dòng)跳轉(zhuǎn)到CHV30x_IAP工程(通過(guò)打印可知是跳轉(zhuǎn)到CHV30x_IAP),也就是燒完的結(jié)果是,開(kāi)機(jī)運(yùn)行CHV30x_IAP然后跳轉(zhuǎn)到CHV30x_IAP。如果將PA0接GND(代表運(yùn)行app),那么將會(huì)不斷地從CHV30x_IAP跳轉(zhuǎn)到CHV30x_IAP,無(wú)限循環(huán)。
注意:我已經(jīng)將我自己寫的工程的.LD文件修改成和CH32V307EVT\EVT\EXAM\IAP\USB_UART\CHV30x_APP的.ld文件是一樣的,這樣FLASH (rx) : ORIGIN = 0x00005000, LENGTH =? 228K,依然不行。
FLASH (rx) : ORIGIN = 0x00005000, LENGTH =? 44K也不行
FLASH (rx) : ORIGIN = 0x0000A000, LENGTH =? 228K也不行
我自己的工程編譯出的bin文件大小是28KB。