Flash - Bank

Gast #3044215
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?
#3044224
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.
Gast #3044614
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ß
#3044644
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.
Gast #3044728
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ß
Gast #3044755
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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren