Hallo, ich möchte einen AT89C52 programmieren. Ich verwende einen Keil-Compiler/Linker (V3.52). Der Prozessor hat laut Datenblatt 256x8-bit internal RAM. Mein Programm benötigt mehr als 128 Byte RAM (aber weniger als 256 Byte RAM). Beim Linken kommt eine Fehlermeldung (ERROR 107: ADDRESS SPACE OVERFLOW). Der Stack wird auf IDATA 007FH 0001H UNIT ?STACK gelinkt. Es sieht fuer mich sich aus, als ob der Linker nur von 128 Byte RAM ausgeht. Wie kann ich dem Linker sagen, dass der Prozessor 256 Byte RAM hat?? Gruß Heinz
Für die entsprechenden Linker-option solltest Du im Handbuch oder auf der Keil Webseite fündig werden, Allerdings sind die oberen 128Byte nur als idata zugreifbar. D.h. Du must einige Variablen als idata deklarieren, vorzugsweise Strukturen oder Arrays, die eh über Pointer zugegriffen werden. Peter
Auf der Keil-HP bin ich leider nicht fündig geworden, bzw. das was ich da gefunden hab, hat nicht funktioniert... hab aber jetzt im Internet irgendwo was gefunden mit "RAMSIZE(256)" und das hat dann getan... Thanx für den TIP mit idata... Heinz
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.