C51 - invalid storage class (error C127)

Gast #46147
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

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.