Can't compile for  HC08 in codewarrior 10.0 ERROR L1100: Segments..overlap

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Can't compile for  HC08 in codewarrior 10.0 ERROR L1100: Segments..overlap

1,351 Views
hernanEche
Contributor I

I get this error

 

 

ERROR L1100: Segments ROM (0x8000) and FLASH_TO_RAM (0xE000) overlap

 When compiling for HC08

 

 

this is a piece of the prm file

 

 

/* This is a linker parameter file for the GT32 */NAMES END /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your own files too. */SEGMENTS /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */    ROM                      =  READ_ONLY    0x8000 TO 0xFFAF;    Z_RAM                    =  READ_WRITE   0x0080 TO 0x00FF;    RAM                      =  READ_WRITE   0x0100 TO 0x087F;    ROM1                     =  READ_ONLY    0xFFC0 TO 0xFFCB;    FLASH_TO_RAM             =  READ_ONLY    0xE000 TO 0xE00F RELOCATE_TO 0x0200; ENDPLACEMENT /* Here all predefined and user segments are placed into the SEGMENTS defined above. */    DEFAULT_RAM                         INTO  RAM;    DEFAULT_ROM, ROM_VAR, STRINGS       INTO  ROM; /* ROM1 In case you want to use ROM1 as well, be sure the option -OnB=b is passed to the compiler. */    _DATA_ZEROPAGE, MY_ZEROPAGE         INTO  Z_RAM;    FLASH_ROUTINE                       INTO  FLASH_TO_RAM;ENDSTACKSIZE 0x250
...
...

 

It worrks great in Codewarrior 5.9, but don't compile and gives ERROR L1100 in Codewarrior 10.0

 

Any Ideas of how to solve this?

 

Thanks in advance!

Labels (1)
0 Kudos
Reply
1 Reply

459 Views
CompilerGuru
NXP Employee
NXP Employee

Don't use the same memory range twice....

 

I guess for CW classic (5.9 is the ide version, latest is version 6.3) the error is just suppressed but basically still there.

 

I would suggest to move FLASH_TO_RAM to 0xFFA0..0xFFAF and change the ROM segment to end at 0xFF9F.

Depending on how the (C or assembly) source code is written, it might contain the 0xE000 address too, has to be adapted as well.

 

Daniel

 

 

0 Kudos
Reply