M16C/62P SRAM über Memory Expansion

Gast #809515
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?
Gast #809538
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.

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