The app and bootloader are compiled and programmed separately, but it is found that it is not possible to jump from the bootloader to the app program. The offset settings in the app’s platformio.ini are as follows:
board_build.ldscript = ldscripts/AT32F437xM_FLASH.ld
lib_ldf_mode = deep+
build_flags =
-DAPP_BASE_ADDR=0x08010000
-DVTOR_TABLE_ADDR=0x08010000
-DVECT_TAB_OFFSET=0x00010000
AT32F437xM_FLASH.ld
MEMORY
{
FLASH (rx) : ORIGIN = 0x08010000, LENGTH = 4032K - 64K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 384K
}