dingo wrote:
but my question is : how the debuger can make run this program ? The memory window for addresses 0x0000 to 0xb7FF is blank (0xff in each location) .
It is important to get an answe to these , because the same procedure can be applied in bootloader applications to start the application code that resides at a different address in flash than 0x0000.
thank you
Hi, Going through a similar process (in thought anyway)
The debugger (if you are using SWD or JTAG or some emulation), can set the Instruction Pointer and other registers directly. Without a debugger, you can't.
A stub application at 0x0000 which sets teh vector table and jumps to your start address would be the basis of a bootloader.
But beware you cannot delete the code you are running from! So if your bootloader does a flash-erase-all, it had better be running from RAM by then, or you have a dead board and will need a debugger to get it alive again.
Plus, if the power goes out between flaash-erase-all and re-programming the bootloader, you have a dead board anyway.