Re: programátor flash AT45DBxx

Marek Sembol hwm.land@gmail.com
Středa Prosinec 21 09:34:38 CET 2005


Tak si dovolim par postrehu. Neco z toho muze byt mou neznalosti
prostredi UNIX, nektere jsou "jasne"
a) na radku 104 je (v pripade !terminal) promenna text neinicializovana.
b) nema byt podminka na radku 86 opacna? (UNIX neznalost)
c) nemate problemy s \n a \r\n ? Jste si jist, ze vite jak se prkladaj v printf?
d) (a tady je IMHO zasadni chyba) vy si neinicializujete v kazdem
bloku *data_block = 0xff; Takze pro dalsi bloky se suma pocita zbesile
a MCU kazdy dalsi (IMHO) odmitne:)
Drzim pazouru,
Marek

On 12/20/05, Jakub Ladman <ladmanj@volny.cz> wrote:
> 1) pamet umi zapisovat jen po celistvych 264byte blocich (strankach), ale da
> se zapisovat libovolne do vnitrniho bufferu pameti a pri jeho naplneni
> flashnout.
> Z toho duvodu jsem zvolil velikost prenaseneho bloku dat 265 byte (prvni byte
> XOR 0xff + vsech dat a 264 byte dat)
> 2) PC posle na seriak ST a ceka na OK od mcu
> prijde-li OK od mcu, posle blok dat. Jsou-li jeste nejaka nezapsana data,
> posle ST, nejsou-li posle EN. Ceka na OK, nebo NO
> 3) mcu prijima data a pocita xor, kdyz prijme 265 byte, tak porovna spocitany
> xor s prvnim byte v bloku, odpovida-li, zapise blok do flash a odpovi OK,
> neodpovida-li posle NO
> 4) prislo-li OK, PC nacita ze souboru dalsi blok dat a odesila stejnym
> zpusobem, prislo-li NO, posila znovu puvodni blok.
>
> Tak to je algoritmus, ale pri jeho zapisu do tech dvou programu nekde mam
> chybu.
>
> Jinak do flash pameti se zapisuje obsah binarniho souboru velikosti cca 880KB
> a zapisuje se vzdy od zacatku pameti.
> Jakub Ladman
> PS: v priloze kod v C programu pro PC, prelozitelny pod linuxem (asi i treba
> pod cygwin)
> Je tam spousta bordelu, ktery tam zustava po pokusech ktere s tim neustale
> delam.
>
>



Další informace o konferenci Hw-list