Kurze Frage zu Keil µVision2 und AT89C2051

Gast #206200
Lesenswert?

Hallo Zusammen!

Vorweg: nein, ich möchte mich nicht wirklich in die 8051er einarbeiten,
ich habe lediglich einem Bekannten versprochen, ihm ein kleines Programm
zu kompilieren ;)

Ich vermute, daß ich irgend einen Parameter in den Optionen nicht
richtig eingestellt habe. Kompilieren lässt sich sowohl der standard
Startup-Code sowohl das C-Programm ohne Fehler. Aber dann beim Linken
krachts!

*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   CODE
    SEGMENT: ?PR?EXT_INT0?KOMFORT
    LENGTH:  0072H

Und das bei etlichen "SEGMENT"s.

Ich bin völlig ahnungslos, woran das liegen könnte.
Zu groß kann der Code jedenfalls nicht sein:

************************************************************************ 
******
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 010DH BYTE
(13%) *
************************************************************************ 
******

Program Size: data=20.0 xdata=0 code=269
LINK/LOCATE RUN COMPLETE.  0 WARNING(S),  22 ERROR(S)

Danke schonmal...
Gast #206207
Lesenswert?

@Oldbug: Hast Du eine vollständige Version von Keil? Die Demoversion des
c-compilers hat eine Einschränkung, daß sie nicht unter 2k
Programmspeichergröße läuft. Also nicht Dein Programm muß größer als 2k
sein, sondern der µC muß mehr als 2k Speicher haben. (Der Resetvektor
verzweigt nach 0x0800). Also nimm einen 89C4051, dann klappt es, oder
kauf dir den Keil :-)

Gruß,
Markus_8051
Gast #206208
Lesenswert?

Ahaaaa... Das könnte tatsächlich das Problem sein.
Ich hätte das jetzt genau andersrum erwartet: max. 2k Programmgröße.
Aber die Adresse 0x800 hab ich schon mal entdeckt! Tja, schade
eigentlich...
Gast #206209
Lesenswert?

Es ist definitiv zu groß für das angegebene Code-Segment.


*** ERROR L107: ADDRESS SPACE OVERFLOW
-->>>>    SPACE:   CODE


Der Keil-Compiler liefert auch keine Mathe-Libs in der aktuellen
2K-Linit Demo (V7.50A) mit. Also nicht nur eine 2K-Grenze sonder auch
nix mit Floating Point und co.

Gerd

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren