Forum: Mikrocontroller und Digitale Elektronik M16C/62P SRAM über Memory Expansion


von yakana (Gast)


Lesenswert?

Hallo,

Ich werde einfach nicht schlau aus den Handbüchern und den gefundenen 
Themen.

Setup: Ich habe einen M16C/62P Controller und einen externen 256KB SRAM. 
Angeschlossen ist dieser mit 20 Adressleitungen und 16 Datenleitung.

Eingestellt habe ich den Controller auf Memory Expansion Mode, non 
multiplexed usw...

was muss ich nun in sect30.inc und ncrt.a30 ändern, damit der Compiler 
far Variablen automatisch in den SRAM ablegt?

von crazy horse (Gast)


Lesenswert?

void SetExMem(){
prcr = 0x02;      //Protection aus
pm0 = 0x81;       //Memory Expansion Mode RD WR BCKL ein
prcr = 0x00;      //Protection

pur1 = 0x02;      //Pull-Up für CS-Leitungen
csr = 0x0F;       //Alle CS einschalten
}

sect30.inc:
;---------------------------------------------------------------
; Far RAM data area
;---------------------------------------------------------------
  .section  data_FE,DATA
  .org    30000H    //hier tatsächliche Startadresse eintragen (abhängig 
von memory mode und verwendeter CS-Leitung)
data_FE_top:

  .section  bss_FE,DATA,ALIGN
bss_FE_top:

  .section  data_FO,DATA
data_FO_top:

  .section  bss_FO,DATA
bss_FO_top:


das sollte es gewesen sein.
Bleibt noch die Programmierung der waitstates, je nach Taktfrequenz und 
Zufriffszeit.

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.