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

Strange not enough ROM area message

Hello all,

I am working on an application that was using around 350KB of program memory. I have changed it in order to add some more features and now the keil compiler complains there is no enough ROM area.

I am using the LPC2387 with 512KB on-chip ROM and I think my current application uses less than 400KB ROM.

Here is the compiler log message:

smv2.axf: Warning: L6914W: option ro-base ignored when using --scatter.

smv2.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .data(at_ip.o).

smv2.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .data(at_ppp_pap.o).

smv2.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .data(at_mem.o).

smv2.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .data(usbuser.o).

smv2.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .data(rt_time.o).

smv2.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .data(at_udp.o).

smv2.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .data(sockettcpclient.o).

smv2.axf: Error: L6406W: No space in execution regions with .ANY selector matching Section .data(dtlibspi.o).

smv2.axf: Error: L6407W: Sections of aggregate size 0x20 bytes could not fit into .ANY selector(s).

And here is the scatter file configuration:

LR_IROM1 0x00003000 0x0007D000  {    ; load region size_region
  ER_IROM1 0x00003000 0x0007D000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x40000040 0xFFC0  {  ; RW data
   .ANY (+RW +ZI)
  }
  RW_IRAM2 0x7FE00000 0x00004000  {
   .ANY (+RW +ZI)
  }
  RW_IRAM3 0x7FD00000 0x00004000  {
   .ANY (+RW +ZI)
  }
}

I have reserved a bootloader area of 0x3000 size.

Does anyone know why I cannot use more than 350K ROM if the ARM has 512KB ROM??

Thank you,

André Moutinho

0