Forum: Mikrocontroller und Digitale Elektronik Kurze Frage zu Keil µVision2 und AT89C2051


von OldBug (Gast)


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

von Peter Dannegger (Gast)


Lesenswert?

Hängs doch einfach mal als Anhang ran.


Peter

von OldBug (Gast)


Lesenswert?

Hm, da muss ich erst mal nachfragen, ob ich das veröffentlichen darf!
Aber das geht eh erst wieder ab Montag :\

Ich meld mich dann nochmal :)

von OldBug (Gast)


Lesenswert?

Ah, da fällt mir noch was ein, würdest Du mir auch per eMail helfen
wollen? ;)

von Peter Dannegger (Gast)


Lesenswert?

Ah, da fällt mir noch was ein, würdest Du mir auch per eMail helfen
wollen? ;)

Ja, aber erst wieder ab Montag.


Peter

von OldBug (Gast)


Lesenswert?

Ok, danke...

von OldBug (Gast)


Lesenswert?

So, Montag :-)

  Adressenaustausch, aber wie? Ich kann Dir meine anbieten:

  pd$esw-gmbh.de

  ...ich Antworte dann mit Anhang ;)

von Markus_8051 (Gast)


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

von OldBug (Gast)


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

von Gerd (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.