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
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.