Frage zum SDCC: generische Pointer & beliebige Speichertypen (I2C-EEPROM, etc.)

Gast #2727023
Hallo,

im SDCC-Handbuch, Kapitel 3.4.1.8 ( 
http://sdcc.sourceforge.net/doc/sdccman.html/node60.html#SECTION00441800000000000000 
) steht im letzten Absatz der Hinweis, dass spezielle Assembler-Routinen 
aufgerufen werden, wenn mit generischen Pointern gearbeitet wird. Die 
Routinen identifizieren anhand des 3.Bytes, um welchen Speichertyp es 
sich handelt (Code, XDATA, etc.) und machen dann den entsprechenden 
Zugriff.

Leider finde ich keine Infos, ob bzw. wie man das 3.Byte beeinflussen 
kann. Ich würde gerne die o.g. Assembler-Routinen entsprechend 
erweitern, sodass ich beispielsweise ein I2C-EEPROM als Segment anlegen 
kann.
Die in diesem Segment angelegten Variablen könnte man dann wie ganz 
normale Variablen ansprechen, die Assembler-Routinen kümmern sich dann 
um I2C oder SPI, oder oder oder...

Das Prinzip gibt's in dieser Art auch beim Keil C51 Compiler, mich würde 
interessieren, ob der SDCC das auch kann.

Ralf

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.