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

Address Overflow error for Code

I am using philips MC2 controller. Following are the memory classes defined:
ACTIVE MEMORY CLASSES OF MODULE:

BASE START END USED MEMORY CLASS
==========================================================
000000H 700000H 77FFFFH 00A2B6H HDATA
7F0000H 7F0000H 7F04FFH 000100H EDATA
000000H 000000H 0006FFH 000440H XDATA
910000H 910000H 91FFFFH 01000BH CODE
900000H 900000H 90FFFFH 0000FCH CONST
000000H 910000H FFFFFFH 01975FH ECODE
000000H 910000H FFFFFFH 000002H HCONST
000000H 900000H 90FFFFH 000EFDH ECODE_CFI
LX51 LINKER/LOCATER V3.60 10/09/2003
14:59:56 PAGE 4

7F0020H.0 7F0020H.0 7F002FH.7 000007H.3 BIT
7F0000H 7F0000H 7F007FH 000068H DATA
000000H 000000H 0000FFH 000005H PDATA
7F0000H 7F0000H 7F00FFH 000002H IDATA

I am getting address overflow error for code memory. If i remove some portion of code then it fits in the CODE memory Class. otherwise it overflows. The expectation is that the linker should be using ECODE instead. What can be reason ? I can only use memory in the range 0x900000-0xFFFFFF for code.

Parents
  • The linker does not move segments from one memory space to another. It merges segments that are located in same memory class but it does not move them to a different memory class.

    The memory class (code, ecode, xdata, ...) of a segment is determined when that segment is created (in the assembler or in the compiler).

    When you looked at the Memory Map Of Module did you notice which of your program segments were located in CODE memory?

    Jon

Reply
  • The linker does not move segments from one memory space to another. It merges segments that are located in same memory class but it does not move them to a different memory class.

    The memory class (code, ecode, xdata, ...) of a segment is determined when that segment is created (in the assembler or in the compiler).

    When you looked at the Memory Map Of Module did you notice which of your program segments were located in CODE memory?

    Jon

Children
No data