Flash SST 39SF020A, SST 49LF040
Moderátor: Moderátoři
Flash SST 39SF020A, SST 49LF040
Vydloub jsem ze starých prken biosový flash viz předmět a začal je zkoumat v programátoru. Obě Xeltec podporuje. Zkusil jsem čtení a OK, texty Avard bios a podobně. Výmaz celý flash do FFh šel taky. Našel jsem v PC dlouhej zdroják v ASM a naprogramoval ho do Flash. Taky OK. Pak jsem začal bádat, co to je výmaz blok a výmaz sektor. V Xeltecu se dá nastavit adresy odkud až kam číst, programovat , mazat a pod. Ale nějak mě není jasný, jak funguje výmaz blok a výmaz sektor. Z datašítu to nějak nechápu. 49LF040 píšou, že má 4 Kbyte sektory a 64 Kbyte bloky. Myslel jsem si, že bloky mají adresy: 0-FFFFh, 10000h-1FFFFh, 20000h- atd. A sektory 0-FFFh, 1000h-1FFFh, 2000k- atd. Výmaz blok jsem zadal 0-FFFFh a nic se nestalo. Výmaz sektor 0-FFFh mi šel, ale taky šlo vymazat třeba jen 0-5h. To je divný, myslel jsem si, že blok i sektor se maže vždy celý.
Nikdy jsem s Flash nic nedělal. Je tu prosím někdo, kdo si hrál s podobnejma Flash a mohl by mě trochu vysvětlit, co je špatně nebo co dělám blbě?
Díky
Jirka
Když tedy chceš zapsat do sektoru změnu, musíš si sektor nejdříve načíst do 4Kbyte buferu v Ramce, tam udělat změnu, vymazat starý sektor a pak zapsat změněný sektor zase zpět. A při každý zápisový a mazací operaci kontrolovat Polling bite, zda už je zápis hotovej. Je to tak?
Ještě mě v manuálu mate, jestli při zápisu sektoru se pošle povolovací zápisová sekvence s počáteční adresou pouze jednou pro celý sektor a pak jen zvyšuješ adresu +1 a měníš data a dáváš /WE nebo /CE a nebo zda musíš posílat povolovací zapisovou sekvenci 4096 x pro každou adresu a dato v sektoru. Jestli jo, tak to žádnej rychlík nebude. Koukám, že to bude nejlepší ubastlit a vyzkoušet...
Jirka
Tieto flash sa zapisuju po bajtoch, takze pre kazdy bajt musis zopakovat cely prikaz. Bajty, kde ma byt 0xFF, sa neprogramuju.
Co sa tyka rychlosti su najlepsie 29EE010/011, resp. W29C020 - tam sa zapisuje po strankach/blokoch tusim 128 alebo 256 B - vymaze a preflashuje sa to cele za par sekund.
Na kontrolu ukoncenia operacie su dve metody: DATA polling a toggle bit.