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

locating code at a specific address

We are using the P87C51MC2 in extended memory. We are currently up to 512K bytes of code (ECODE). For test reasons I would like to locate code at a specific address. If I have main.obj, A.obj, B.obj and C.obj I would like to locate A.obj at 0x2000, B.obj at 0x3000 and C.obj at 0x4000. How do you do this with the linker?

Parents
  • I am interested in using the command line. I looked up CODE and I don't think it applies. CODE is only good from 0x0000 to 0xFFFF. We have ECODE.

    I did find a way using SEGMENTS

    SEGMENTS(?PR?_func_a?file_a(0x810000), ?PR?_func_b?file_b(0x820000) )

    This locates two separate functions in different files at 0x810000 and 0x820000. Note the first underscore on the function name. The compiler gives it that.

Reply
  • I am interested in using the command line. I looked up CODE and I don't think it applies. CODE is only good from 0x0000 to 0xFFFF. We have ECODE.

    I did find a way using SEGMENTS

    SEGMENTS(?PR?_func_a?file_a(0x810000), ?PR?_func_b?file_b(0x820000) )

    This locates two separate functions in different files at 0x810000 and 0x820000. Note the first underscore on the function name. The compiler gives it that.

Children
No data