Forum: Mikrocontroller und Digitale Elektronik Flash - Bank


von Kevin (Gast)


Lesenswert?

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?

von Peter D. (peda)


Lesenswert?

Ü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.

von Kevin (Gast)


Lesenswert?

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ß

von Peter D. (peda)


Lesenswert?

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.

von Kevin (Gast)


Lesenswert?

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ß

von Kevin (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.