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 linker behaviour

Ok, I think, BL51 tries to fool me. I tell him where to place my code segments and he gives me this link map:

            TYPE    BASE      LENGTH    RELOCATION   SEGMENT NAME
            -----------------------------------------------------

            * * * * * * *   D A T A   M E M O R Y   * * * * * * *
            REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
            DATA    0008H     0017H     UNIT         SPECIAL
            IDATA   001FH     0001H     UNIT         INDIRECT
            BIT     0020H.0   0006H.5   UNIT         BITS
                    0026H.5   0000H.3                *** GAP ***
            DATA    0027H     0036H     UNIT         INTERN

            * * * * * * *  X D A T A   M E M O R Y  * * * * * * *
            XDATA   0000H     244DH     UNIT         EXTERN

            * * * * * * *   C O D E   M E M O R Y   * * * * * * *
            CODE    0000H     00A0H     UNIT         VECTORP
            CODE    00A0H     895FH     UNIT         PROG
            CODE    89FFH     2DECH     UNIT         TEXT
looks fine and I suppose to find my VECTORPage (ljmp to start, irqs, etc) at location 0 of a ready-to-burn object file. After burning I had to review it with a hex editor to find this garbage:
00000000   70 DC 01 FF  58 41 35 31  20 22 64 65  33 35 32 2E  p...XA51 "de352.
00000010   61 73 6D 22  20 4E 4F 4D  4F 44 35 31  20 47 45 4E  asm" NOMOD51 GEN
00000020   20 53 45 54  28 53 4D 41  4C 4C 29 20  50 52 49 4E   SET(SMALL) PRIN
00000030   54 28 2E 5C  6C 73 74 5C  64 65 33 35  32 2E 6C 73  T(.\lst\de352.ls
00000040   74 29 20 4F  42 4A 45 43  54 28 2E 5C  6F 62 6A 5C  t) OBJECT(.\obj00000050   64 65 33 35  32 2E 6F 62  6A 29 20 45  50 00 00 14  de352.obj) EP...
00000060   C4 F7 41 0F  2E 5C 6F 62  6A 5C 64 65  33 35 32 2E  ..A..\obj\de352.
for the moment I have no more ideas (maybe some knots in brain). This command was needed to get this garbage:
C:\KEIL\C51\BIN\BL51.EXE .\obj\de352.obj, .\obj\clockio.obj, .\obj\init.obj, .\obj\interrupts.obj, .\obj\keyport.obj, .>> obj\logger.obj, .\obj\printer.obj, .\obj\useful.obj, .\obj\variables.obj, .\obj\constanten.obj, .\obj\com_2.obj, .\ob
>> j\display.obj, .\obj\compreter2_lib.obj, .\obj\compreter2.obj, .\obj\vt100.obj, .\obj\charleader.obj TO .\obj\a.out P
>> RINT (.\lst\a.m51) RAMSIZE (256) NODL, NODP, NODS CODE (VECTORP (0X0000), PROG, TEXT)
somebody an idea for me?

0