www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C51 - invalid storage class (error C127)


Autor: Michael Jungnickl (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.