i run custom bootloader at defautl reset handler that then jump to app reset vector located after in flash
is that what you trying to do ?
i can debug and load the app over eclipse/ac6 without bootloader overwrite
but reset and boot will go by the bootloader (that can be debug also )
I did this on a f407 but the same can aply to any cpu until you relocate vector handler
for this to work your app ld neeed to be addapted and app vector table changed
basiclay in ld file change the app “FLASH” to start after where you boot loader is
fo ex say 128K loader at flash origin
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K
FLASH (rx) : ORIGIN = 0x8002000, LENGTH = 896K // origin+128K 1size 024K-128K
in the CMSIS driver look at /Drivers/CMSIS/system_stm32f4xx.c or yoru cpu xxxx.c
- define VECT_TAB_OFFSET 0x20000 /*!< Vector Table base offset field. */
As your app is offset so does your vector table it need to be relocated to where the app handler are
if shall work ! you boto load must ensure to relad teh proper app reset handler and also disbae irq before to jump on app
eclispe opencocd wil only program the flash that is the in app not the bootlaoder.