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

RTX TINY at Contiguous Mode over than 16MB

Dear all,
I want to port the RTX TINY on a DS80C390 liked microchip.The project is under "Contiguous Mode:16MB program" mode. My code space starts at 0x16000. When i include the RTX Tiny, i always receive the following error message. What's wrong? and how should i do?

*** ERROR L121: IMPROPER FIXUP
MODULE: Conf_tny.obj (?RTX51_TINY_KERNAL)
SEGMENT: ?CO?CONF_TNY?5
OFFSET: 00000CH

best regards,
Allen

Parents
  • Why does it seem strange to me to see the phrases "Tiny" and "over 16 MB" in the same subject?

    From the manual:


    This error occurs when an instruction cannot reach the address, i.e. ACALL
    instruction calls a location outside the 2KB block. If you are working with the Cx51
    compiler, you have typically selected the ROM(SMALL) option for a program that
    exceeds the 2KB ROM size. You can locate the instruction, when you open the
    LST file of the translator and search for the instruction that is located in the offset of the specified segment.


    Whatever lives at 0000CH in this object file (see the linker) cannot reach whatever it refers to. You might need to configure RTX51 Tiny differently; you might need to use some linker directives to move whatever it needs closer to the kernel.

    Or maybe RTX51-Tiny doesn't work in contiguous mode. I don't see anything in the RTX51 manual about it, but only a reference to code banking and L51_BANK.A51. This old thread:

    http://www.keil.com/forum/docs/thread3677.asp

    says that that is the case, so unless anything has changed in the last year, you might have to settle for banking your application.

Reply
  • Why does it seem strange to me to see the phrases "Tiny" and "over 16 MB" in the same subject?

    From the manual:


    This error occurs when an instruction cannot reach the address, i.e. ACALL
    instruction calls a location outside the 2KB block. If you are working with the Cx51
    compiler, you have typically selected the ROM(SMALL) option for a program that
    exceeds the 2KB ROM size. You can locate the instruction, when you open the
    LST file of the translator and search for the instruction that is located in the offset of the specified segment.


    Whatever lives at 0000CH in this object file (see the linker) cannot reach whatever it refers to. You might need to configure RTX51 Tiny differently; you might need to use some linker directives to move whatever it needs closer to the kernel.

    Or maybe RTX51-Tiny doesn't work in contiguous mode. I don't see anything in the RTX51 manual about it, but only a reference to code banking and L51_BANK.A51. This old thread:

    http://www.keil.com/forum/docs/thread3677.asp

    says that that is the case, so unless anything has changed in the last year, you might have to settle for banking your application.

Children
No data