Hi, Habe grad das "miniModul515c" mit dem Mikrokontroller "Siemens 80c515c" vor mir liegen. Der Mikrokontroller hat ein Adressraum von 64-KByte. Auf dem Entwicklungsboard können jedoch insgesamt 512-KByte an Flash-Speicher angebracht werden. Um den kompletten Flash-Speicher adressieren zu können verwendet man "Bänke", zwischen denen man hin und her schaltet. Anscheinend wird das mit den Bits FA18 bis FA16 im Controlregister1 gemacht. Es heißt "FA18"-"FA16" wären "hohe Adressleitungen". Was ich nicht verstehe: Was sind hohe Adressleitungen und wie wird genau zwischen den 64-KByte-Bänken des Flash-Speichers hin und hergeschaltet?
Üblicher Weise sind die Bänke 32kB groß, wobei die erste Bank 0x0000-0x7FFF immer aktiv ist. Und darin befindet sich der Umschaltcode für die restlichen Bänke, die nach 0x8000-0xFFFF gemappt werden. Umgeschaltet wird mit einem CPLD in XDATA. Die Interruptvectoren und der Umschaltcode sind damit immer erreichbar.
Aber sagen wirs mal so: Der reine Programmierer, der mit der Entwicklungsumgebung von Keil arbeitet, dürfte wahrscheinlich von all diesen Details sowieso nichts mitbekommen? Das mit "CPLD", den Interruptvektoren und dem Umschaltcode ist sowieso alles vorgegeben / vorkonfiguriert oder? gruß
Der Programmierer muß schon wissen, welches Banking das Board oder der MC hat und den Compiler entsprechend einstellen. Bekannte Boards und MCs werden wohl schon in der Auswahlliste stehen, ansonsten muß man ein eigenes Modell konfigurieren. Einige Hersteller (NXP, Maxim) haben auch 8051 mit erweiterten Adreßbefehlen herausgebracht, die 4MB Flash ohne Banking adressieren können.
Hi, Und wie kann ich software-seitig z. B. erreichen, dass ich zum Bank #0 switche, dass im Adressbereich 0x0000 bis 0xFFFF liegt? Ich weiß, Bank #0 ist protected, aber ich würd trotzdem gern wissen wie ich Bank #0 über die Bits "A18", "A17" und "A16" im "Controlregister-1" aktivieren soll. gruß
Bzw. machen wirs noch einfacher: Es heißt, dass zum Umschalten zwischen den Bänken es die drei "Latches" / Bits "FA18", "FA17" und "FA16" im "Controlregister 1" des Evaluationsboards gibt. Was müsst ich machen, um z. B. zum Bank #1 zu wechseln?
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.