Forum: Mikrocontroller und Digitale Elektronik 90S8515 und 62256 SRAM


von Zero (Gast)


Lesenswert?

Hallo,

ich habe an den 90S8515 32k SRAM angeschlossen. Kann mir bitte jemand 
erklären wieso ich erst ab der Adresse 0x420 etwas speichern kann? Und 
die nächte freie Adresse bei 0x520 liegt? (also immer +256 byte 
Schritte). Nehme ich z.b. 0x430 stimmt der speicherinhalt nicht mit den 
daten überein.

Fehler in der Verdratung oder muss das so sein.

Kann mir jemand helfen?

von Gerd (Gast)


Lesenswert?

Trägt zwar nichts zur Klärung deiner Frage bei (ob's richtig verdrahtet 
ist, kannst nur Du herausfinden): Wieso machst Du bei 32 k da unten 
herum und nicht ab $8000?

MfG
Gerd

von ant (Gast)


Lesenswert?

Woher weißt Du, ob das das nächste freie Byte ist? Wie die Bytes im 
Speicher verteilt sind, ist ja eigentlich ziemlich egal. Hauptsache, die 
speichernden und aufrufenden Adressen sind identisch. Wenn Du also 
irgendwelche Adreßleitungen vertauscht hast, merkst Du das nicht einmal; 
nur wenn Du welche nicht angeschlossen hast.

von Zero (Gast)


Lesenswert?

Hallo zusammen,

@ Gerd
wie meinst Du das ab $8000... bei 32K habe ich doch nur von $0 bis $8000 
Platz?! oder habe ich da was falsch verstanden?

@ant
ja, vollkommen klar... nur das funktioniert so nicht...
nehme ich z.B. Adresse $200 und speichere dort 512 byte, läuft das 
programm entweder gar nicht, oder ist in so einer Art endlosschleife 
gefangen (z.g. gibt printf nur müll aus)...
ab $280 läuft zwar das programm, der speicherinhalt stimmt aber an ein 
paar stellen mit den Daten nicht überein.
ab $420 und in 256 byte schritten funktioniert alles perfekt...

von Uwe (Gast)


Lesenswert?

Hi
Mal ne blöde Frage. Wie haste es denn angeschlossen?
Port A bringt Low-Adressen/Daten. ALE sagt was gerade drann ist. 256 Byt 
klingt nach fehlender Low-Adresse, ist aber nur ne Vermutung. Externes 
SRam sowiso erst ab 0x260
sonst sind die 1. 0x25f Byte intern also ab 0x8000 wäre OK
Überprüfe das doch mal.
Gruss Uwe

von Gerd (Gast)


Lesenswert?

Ich meine das so: der 8515 kann extern 64 k addressieren (A0..A15), 
abzüglich der Adressen unterhalb $0060 und seiner 512 Byte internes SRAM 
oberhalb (also bis $025F). Also kannst Du doch das externe SRAM auf die 
obere 32k-Seite legen, also ab $8000 bis $FFFF. Oder anders: Wenn A15 
high ist, geht das auf das externe SRAM. Dann hast Du das volle SRAM zur 
Verfügung.

Noch ein paar Ideen, wo es liegen könnte:
- Hast Du im MCUCR korrekt externes SRAM enabled?
- Ist das SRAM schnell genug? (Genaues Timing je nach XTAL, bei 10 MHz 
ein
  muss es schon ein recht schnelles sein. Mach doch mal das
  WAIT-State-Bit im MCUCR an!)
- Die Abstürze weisen darauf hin, dass Du beim Schreiben im internen 
Stack
  herumwurstelst.Wo genau hast Du den Stack hingelegt (RAMEND oder ans
  Ende des externen SRAM?).

MfG
Gerd

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.