Re: Keil C51



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Miłosz Kłosowicz" <news_at_nospam_mikrobit.prv.pl>
Subject: Re: Keil C51
Date: Fri, 16 Nov 2001 09:59:17 +0100



Użytkownik <adamsimka_at_nospam_poczta.onet.pl> napisał w wiadomości
news:2060.000000eb.3bf1879e_at_nospam_newsgate.onet.pl...
Witam!
Kod kompiluje sie caly bez bledow,
ale w linkerze wyskakuje blad: Improper fixup
niewlasciwe polaczenie?? o co chodzi?


121 IMPROPER FIXUP
MODULE: filename (modulename)
SEGMENT: segment-name
OFFSET: segment-address
After evaluation of absolute fixups, an address is not accessible. The
improper
address along with the specific module name, partial segment, and segment
address are displayed. The fixup command is not processed.
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.

To by pasowało do tego co napisałeś, że tylko jedno wywolanie generuje blad.
Spróbuj zmienić model pamieci np na LARGE. Wtedy wszystkie wywolania funkcji
beda uzywac LCALL i bedzie OK.

Miłosz