Discussion Forum

Strange not enough ROM area message

Next Thread | Thread List | Previous Thread Start a Thread | Settings

DetailsMessage
Read-Only
Author
Andre Moutinho
Posted
1-Sep-2010 13:56 GMT
Toolset
ARM
New! 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

Read-Only
Author
Tamir Michael
Posted
1-Sep-2010 14:18 GMT
Toolset
ARM
New! RE: Strange not enough ROM area message

First of all, I think you can use up to 504[KB] (so the size of your internal flash load region should be 0x7E000) - see your user manual (the rest is used by the internal bootloader).

This message

Sections of aggregate size 0x20 bytes could not fit into .ANY selector(s)

indicates that you need 32 bytes you cannot afford. Have you considered using compiler optimizations? Is there a .map file generated (maybe there is not enough information)? If so, what does it tell you?

Read-Only
Author
Andre Moutinho
Posted
2-Sep-2010 14:04 GMT
Toolset
ARM
New! RE: Strange not enough ROM area message

Yes, I forgot to consider the bootloader 0x3000 area. I am trying to optimize the stack sizes. I have post another thread, could you please check this one?
Thanks
Andre

Read-Only
Author
Tamir Michael
Posted
2-Sep-2010 14:09 GMT
Toolset
ARM
New! RE: Strange not enough ROM area message

Another thread? Where? I don't see it in the thread list.

Read-Only
Author
Andre Moutinho
Posted
2-Sep-2010 14:51 GMT
Toolset
ARM
New! RE: Strange not enough ROM area message

Hello, Please check this address:
http://www.keil.com/forum/17481/

Thank you
Andre

Read-Only
Author
Andre Moutinho
Posted
2-Sep-2010 14:52 GMT
Toolset
ARM
New! RE: Strange not enough ROM area message

Hello Tamir, Thanks for your reply.
The thread is here:
http://www.keil.com/forum/17481/

Thank you
Andre Moutinho

Next Thread | Thread List | Previous Thread Start a Thread | Settings