www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Keil -> IAR RAM Test 8051


Autor: Hans Dampf (hans_dampf0_0)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen
versuche gerade einen 8051 RAM Test den ich mit dem Keil Compiler schon 
im Einsatz hatte auf den IAR zu portieren. Nun war es bei Keil möglich 
dem Compiler mit "void GalpatTransparent() using 1" mitzuteilen, dass 
diese Funktion nur mit der Registerbank 1 also nur (R0 - R7) arbeitet. 
Wie kann ich dem IAR Compiler mitteilen dass ich nur die Registerbank1 
für diese Funktion verwenden möchte oder wie kann ich verhindern, dass 
der Compiler die virtuellen Register V0-V7 verwendet. Ich verwende das 
8051 Atmel AT89S8252 Derivat.

Danke für eure Hilfe!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
8051 IAR C/C++ Compiler Reference Guide

S.80: Register banks


Peter

Autor: Hans Dampf (hans_dampf0_0)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hab ich schon probiert aber der Compiler benutzt weiterhin die 
Virtuellen Register im Disassembler.

code:

#pragma register_bank=1
void GalpatTransparent(void)
{
   blabla
}

auch #pragma register_bank=0 hab ich schon ausprobiert

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
void GalpatTransparent(void)
{
  PSW = 8;
   blabla
  PSW = 0;
}


Peter

Autor: Hans Dampf (hans_dampf0_0)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klasse Idee aber der Compiler verwendet immer noch den virtuellen 
Speicher

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Compiler sind eigensinnig.
Wenn sie meinen, für etwas bestimmten Speicher benötigen zu müssen, 
kannst Du sie nicht davon abbringen.

Dann mußt Du es eben in Assembler schreiben.
So kompliziert kann ein RAM-Test ja nicht sein.


Peter

Autor: Hans Dampf (hans_dampf0_0)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Hilfe dann eben in Assembler!

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.