Hallo Leute.
Ich habe ein kleines Verständnisproblem mit DEM EBI des ATxmega128a1.
Auf Seite 284 dieses Datenblattes
(http://www.atmel.com/dyn/resources/prod_documents/doc8077.pdf) ist
unten eine Tabelle.
wofür ist die da. Habe codebeispiele gesehen, da wird ASIZE (beim
Xplain-board) auf 8K und bei anderen auf 8M gesetzt. wie muss ich das
CTRLA-Register für 8MB SDram einstellen, wenn es bei der Adresse 0x4000
losgeht?
Gruß M.H.
; ldi h1, 0x40 ; BasAddr geht für 8/16kByte AdrSpace
42
; ldi h1, 0x80 ; BasAddr für 32kByte AdrSpace - ansonsten Basisadresse laufend an der Grenze ändern
43
ldi h1, 0x00 ; BasAddr für 8MByte AdrSpace
44
sts EBI_CS3_BASEADDR, h1
45
; ldi h1, 0x00 ; BasAddr geht für 8/16kByte AdrSpace
46
ldi h1, 0x80 ; BasAddr für 8MByte AdrSpace
47
sts EBI_CS3_BASEADDR+1, h1
48
; ldi h1, 0x17 ; AdrSpace 8kByte
49
; ldi h1, 0x1B ; AdrSpace 16kByte
50
; ldi h1, 0x1F ; AdrSpace 32kByte
51
ldi h1, 0x3F ; AdrSpace 8MByte
52
sts EBI_CS3_CTRLA, h1
Hier wird EBI_CS3_CTRLA mit 0x3F geladen. Warum dieser Wert?
und die Basisadresse wird auf 0x8000 gesetzt.
wie komm man auf diese Werte? warum nich Basisadresse: 0x4000
und CTRLA 0xff?????