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

Writing the Program in both Flash bank A and Flash bank B in LPC43S57

Hi,

I am using LPC43S57 controller.

The program size is 335K bytes. Flash bank A size is 512kB and around 200kB is used by the bootloader and remaining 312kB is not enough for the program.

There is Flash bank B with size of 512kB. But when I configure the scatter file to use the Flash bank B the program doesn't executes.

Below I have attached the scatter file configuration.

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x1A030000 0x00050000  ; load region size of region
{
  ER_IROM1 0x1A030000 0x00050000  ; execution address and size    Flash Bank A
  {
	*(InRoot$$Sections)
	*.o (RESET, +First)
    *(.init_array)
	.ANY (+RO)
  }
 
  RW_IRAM1 0x10000000 0x00008000  ; RW data bytes   32KB Local SRAM
  {
   .ANY (+RW +ZI)
  }
  
  RW_IRAM2 0x10080000 0x00009FE0  ; RW data bytes    32KB + 8KB -32Bytes Local SRAM
  {
   *(STACK)
  }
  
  RW_IRAM3 0x10089FE0 FILL 0xAAAAAAAA 0x00000020 ; RW data This section 32Bytes is reserved for IAP 
  {  
  }

  RW_IRAM4 0x20000000 0x00010000  ; RW data bytes  4 x 16 kB AHB SRAM
  {
   .ANY (+RW +ZI)
  }

  RW_RAM1 0x28000000 0x800000  ; RW data, slower performing  SDRAM 8MB
  { 
	*(HEAP)
	.ANY (+RW +ZI)
  }
}

LR_IROM2 0x1B010000 0x00040000 
{
   ER_IROM2 0x1B010000 0x00040000  ; execution address and size    Flash Bank A
  {
	.ANY (+RO)
  }
}

If anyone has the solution or example code to use both the Flash bank A and B, Kindly share it with me.

Parents
  • That is an endless loop that the program might reached due to some error condition. However, it is a bit strange, that all registers read 0. Does the Call Stack window give any information? And please also share the mapfile of this build so that we might can find out what is there.

Reply
  • That is an endless loop that the program might reached due to some error condition. However, it is a bit strange, that all registers read 0. Does the Call Stack window give any information? And please also share the mapfile of this build so that we might can find out what is there.

Children