 Strange not enough ROM area message Andre Moutinho 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 |