It seems the flash programming algorithm is a piece of code that is downloaded into the SRAM and executes from there.
But how does it get started if there is nothing yet in the vector table at 0? If the flash is erased then everything in the vector table at zero will be 0xFFFFFFFF, so how does it start executing the algorithm in RAM? (which is at 0x20000000 for example)
I want to know because I want to be able to boot from RAM as well.