This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Jump from to bootloader to Internal RAM.

Hello All,
I have a problem in jumping from internal flash to execute another program that started from internal RAM. I use an external RAM for the HEAP and RW as shown in the scatter. MCU is LPC1788 with 32 MByte of external RAM.

LR_IROM1 0x10000000  {    ; load region size_region
  ;ER_IROM1 0x00000000 0x00080000  {  ; load address = execution address
  ; *.o (RESET, +First)
  ; *(InRoot$$Sections)
  ; .ANY (+RO)
  ;}
  ER_IROM1 0x10000000 0xF7D0  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }

  IRAM_STACK 0x1000F7D0 0x800 {  ; RW data
    startup_LPC177x_8x.o (STACK)

  }

  IRAM_HEAP 0xA0000000 0x40000 {  ; RW data
    startup_LPC177x_8x.o (HEAP)
  }

  RW_RAM1 0xA0040000 UNINIT 0xA2000000  {  ; RW data
   .ANY (+RW +ZI)

  }

each time the MCU goes to the 0x00000000 and wait for a command to fill the internal RAM at 0x10000000 and run the second program.

As shown in the picture, all configuration is correct, the RAM is occupied correctly. But the boot_jump would not work and the second program can not run from the RAM!!! Should i do something when i jump to the second prgoram at the start of the internal RAM? the architecture is cortex-M3 and there is no need to change MEMMAP! Am i right?

Best Regards,
Mostafa