ATMega162 und externer SRAM

Hallo!

Ich hab bei einem Projekt mit dem Mega162 das Problem, dass beim externe SRAM die oberen 8 Adressleitungen (AD8:15) scheinbar nicht verwendet werden, obwohl die Register entsprechend gesetzt sind (hoffe ich). Setze ich Adresse 0x500 auf einen bestimmten Wert widerholt sich dieser alle 256 Bytes (nur 8 Adressleitungen). In meiner Schaltung gehen AD0:7 aufs Latch und AD8:15 direkt zum SRAM. Die Ansteuerung der unteren 255 Bytes funktioniert auch einwandfrei. Folgende Register setzte ich bei der initialisierung in dieser Reihenfolge:

sbi(MCUCR,SRE); sbi(MCUCR,SRW10); sbi(EMCUCR,SRW11); cbi(SFIOR,XMM2); cbi(SFIOR,XMM1); cbi(SFIOR,XMM0);

Hat jemand eine Idee warum das so nicht funktioniert?

Vielen Dank schonmal, Florian

Reply to
Florian Schenk
Loading thread data ...

Hast Du das JTAG-Interface per Fuse-Bit abgeschaltet? Per default ist es enabled, und dann sind PC4-7 vom JTAG-Interface belegt.

Gruß, Sebastian

Reply to
Sebastian Voitzsch

Nach dem, was ich dem Datenblatt entnehme, ja; aber ich habe das ext. RAM-Interface selbst noch nicht benutzt. Guck doch mal bei verschiedenen Projekten in die Sources, da sollte sich doch was finden lassen. Hast Du mal nachgesehen, ob sich auf den Ports tatsächlich nix tut? Nicht, daß Du irgendwo in der Schaltung einen Fehler hast und der AVR korrekt arbeitet?

Gruß, Sebastian

Reply to
Sebastian Voitzsch

Was macht Dein Compiler daraus? Die Assembler-Befehle "sbi" und "cbi" können die entsprechenden Register nicht adressieren.

Jan-Hinnerk

Reply to
Jan-Hinnerk Reichert

Jan-Hinnerk Reichert schrieb:

Wenn ich die Register aber danach auslese passen die Werte. Ich schau mir mal den Assembler-Code an und melde mich dann nochmal.

Gruss, Florian

Reply to
Florian Schenk

Weshalb sbi() und cbi() ja mittlerweile auch als deprecated gelten. Kann man genauso gut gleich richtiges C schreiben:

MCUCR |= (1

Reply to
Joerg Wunsch

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.