OK, Here is my program area.
0x08000000 30K for the BootLoader
0x08007800 226K for the main program
I use the offical BootLoader, So I shoud change these place, I do not know if I am right?
open the ldscript.ld file, change the flash offset?
Would you like to see this link, there kind man give me some tips. stm32duino offical
I only change 3 places in my application, first the ld file, change the FLASH as picture,then platformio.ini as follow
,if I debug my application, step into debug mode then run, it can work sucessfully, see the 0xE000ED08(
SCB->VTOR ) it was 0x08007800, if I quit debug mode, and the MCU reset ,and it run from the bootloader, it can not jump into the application, and see the 0xE000ED08 always be 0x08000000.
The difference between two jump code as the arrow, __set_MSP**(*(__IO **uint32_t***) APPLICATION_ADDRESS);
can work well in the GCC and KEIL, the other one just work in KEIL