Hi Rohit,In this case you could develop the bootloader and flash programming code as two separate projects.The flash programming project is compiled and link using SRAM as program address.Then you can generate hex image, and insert this into your boot loader project as a constant array.Inside your boot loader, you can copy this constant array into SRAM.To jump from boot loader to flash programming code, personally I got used to use embedded assembly:/* ARM RVDS or Keil MDK */__asm void jump_to_sram(void){ LDR R0,=0x20000000 ; starting address of program in SRAM. LDR R1,[R0] ; Get initial MSP value MOV SP, R1 ; Set SP value LDR R1,[R0, #4] ; Get initial PC value BX R1}You can use function pointer to do the same.regards,Joseph