Hallo! Momentan stelle ich mein mit dem "Evaluation Kit" - "uVision1" der Firma Keil erstelltes C51-Projekt auf die Vollversion (C51, V7.x, uVision2) um. Soll aus dem Projekt mit "rebuilt target" eine Hex- Datei erzeugt werden, dann gibt der C51-Kompiler fuer jede eingebundene Funktion (einschliesslich der Biblio- theksfunktionen) die folgende Fehlermeldung aus: "error C127: invalid storage class" Auf den gaengigen Homepages habe ich dazu folgende Erklaerung gefunden: "An object was declared with an invalid memory space specification. This occurs if an object is declared with storage-class of auto or register outside of a function." Bisher weiss ich nicht, weshalb in meinem Projet dieser Fehler erzeugt wird. Sowohl in "Options for target" wie auch im Programm mit dem Steuerparameter "#pragma LARGE" weisse ich fuer alle Objekte den externe Datenspeicher zu. Auch ist im Feld "Off Chip Xdata memory" der externe RAM mit 64k eingestellt. Mein Programm ist wie folgt gegliedert: Header-Datei: test.h (Auszug) // Testroutine fuer die gesamte Peripherie extern void test( void ); Hauptprogramm: main.c (Auszug) #pragma LARGE // Testprogramm-Header #include "test.h" void main( void ) { // Testprogramm aufrufen test(); } Quelldatei: test.c (Auszug) #pragma LARGE void test( void ) { // Testroutine } Ich habe bisher alles probeweise variiert. Am weitesten komme ich, wenn ich beim Aufrufparameter eine Speicher- klasse (z.B. xdata) angebe. Der Kompiler meldet dann zwar den obigen Fehler nicht mehr, wohl aber, dass er den Parameter ignoriert - das kann es ja auch nicht sein. Schon im vorraus vielen Dank fuer Eure Antwort!
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.