C51 - invalid storage class (error C127)

Gast #46147
Lesenswert?

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!

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