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
Es gibt auch 8051er, die mehr als 64kByte linear adressieren können. Ein konkreter Typ fällt mir im Moment aber nicht ein.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.