avr32 - ap7000 - sdram problem
Jan Waclawek
konfera@efton.sk
Neděle Prosinec 14 16:42:43 CET 2008
Tak odvolavam co som odvolal...
Vytiahol som STK1000 + JTAG mkII, oprasil, rozchodil (samozrejme som zapojil "normalne" polarizovany power jack, aby som po klasickej desatminutke zistil, ze norski studenti patria medzi tych, co pokladaju za "normalne" mat plus na plasti), rozchodil to debilne AVR32Studio (a.k.a. Eclipse - tiez program ktory nevie rozchodit priponu v mene adresara), natiahol priklad a tocha som sa pohral s nastavenim SRDAM kontrolera. Potom som si poriadne pozrel dokumentaciu (schemy) k STK1000...
Je to tam tak, ze tam je skutocne jedna 8MByte 32-bit SDRAM (512k x 32 x 4 bank) pripojena skutocne ako 32-bitova. Hornych 16 bitov dat SDRAM su sice zdielane s LCD kontrolerom, ale LCD kontroler ma tie iste piny vyvedene aj inde (a tam su zdielane s MAC), a su aj ako take pouzite (tie oddelovace co som spominal skutocne prehadzuju medzi LCD a MAC - zle som si to pozrel a myslel som si, ze prehadzuju medzi LCD a 16 bitmi SDRAM, nie je to tak). Takze je SDRAM plnohodnotne 32-bitovo pouzitelna.
Ked som nastavil v SDRAMC.CR.BW nulu (ako je default v tom example), tak to chodilo ocividne o nieco rychlejsie, a vedel som zapisovat do vsetkych byte (skusal som rozhrania 0x200000, 0x400000, 0x800000 tam uz samozrejme cital stale nieco ine nez co som zapisal, dokonca pri kazdom citani cital nieco ine, co je v poriadku, kedze to je uz nad 8Mb, t.j. mimo adresneho priestoru pamate).
Ked som dal do SDRAMC.CR.BW jednicku (ale nie nastavenim v info struct na 16, lebo to tam je ocividne zle, ale priamo pri zapisovani do registra), tak medzi 0x400000 a 0x800000 vznikla "diera", tiez s takym nahodne vracanym obsahom; zaujimave je, ze na 0x800000 je pamat odzrkadlena, t.j. sa odtial cita presne to co bolo zapisane na adresu 0x000000. Aj celkovo ten soft bezi o nieco pomalsie, co spolu so "stratou" "polovice" kapacity pamate je jasny dokaz ze skutocne ide o 16-bitovy pristup.
(Tie adresy co uvadzam samozrejme nie su absolutne ale su to offsety voci absolutnemu zaciatku SDRAM, ako je to dane v structe sdram_info).
Takze by ste mohli IMHO vyjst z toho softwaru k appnote AVR32114, je vyskusany a naozaj funguje ako 32-bit.
wek
Další informace o konferenci Hw-list