www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Silabs C8051F120 und Code Banking


Autor: Simon Keller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag allerseits

Ich sitze zurzeit an einem Problem, das mir nicht ganz klar erscheint.

Obengenannter uP ersetzt ein altes Modell. Der neue SIlabs-Chip wurde 
schon vor längerer Zeit ausgewählt und eine Prototypen-Platine inkl. 
Peripherie ist auch schon vorhanden. Den uP zu wechseln kommt also nicht 
in Frage.

Ich möchte nun ein altes Programm auf dem neuen uP zum Laufen bringen. 
Dieses ist allerdings grösser als 64kB. Codeoptimierungen wurden 
durchgeführt, kleiner wird er also leider nicht mehr.

Deshalb muss ich nun mit Code-Banking arbeiten, was für mich unnötig 
kompliziert erscheint. Grundsätzlich ist es ja wünschenswert, dass ich 
auf sämltiche Speicherbereiche linear zugreifen kann. Und das der 
Compiler/Linker die Aufteilung auf die Code-Bänke übernimmt.
Nach aktuellem Kenntnisstand ist das allerdings nicht möglich und muss 
von Hand organisiert werden. Dieser Aufwand ist vielleicht zurzeit 
tragbar, aber in Zukunft wird es garantiert neue Funktionen im Programm 
geben, worauf irgendwann die ganze Banking-Geschichte neu organisiert 
werden müsste. Mühsam.

Kann die Aufteilung irgendwie automatisiert werden? Ich hoffe, ein paar 
klärende Antworten zu bekommen.

Grüsse aus der Schweiz

Simon Keller

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt auch 8051er, die mehr als 64kByte linear adressieren können.
Ein konkreter Typ fällt mir im Moment aber nicht ein.

Autor: R. W. (quakeman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Keil C51 Compiler Paket gibt es ein paar Beispiele Für Code-Banking. 
Das schöne dabei ist, daß man selber im eigenen Code nicht sehr viel 
dafür machen muß. Den größten Teil davon übernehmen eigene Routinen im 
Compiler basierend auf vorhandenen Code Bibliotheken.

Ciao,
     Rainer

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.