Portál AbcLinuxu, 4. května 2025 17:33

Dotaz: Programování AT89S2051

10.11.2006 21:10 MartinK | skóre: 10 | blog: Blogik
Programování AT89S2051
Přečteno: 3665×
Odpovědět | Admin
Zdravím. Chtěl bych programovat procesory AT89S2052 a AT89S4051 pod linux. Mám programátor, který je kompatibilní s STK500 a AvrIsp. Našel jsem program uisp, ale ten umí jenom procesory ATMega. Nevíte o nějakém programu, který bude schopný tyto procesory naprogramovat? Popřípadě jak donutit uisp aby tyto procesory uměl. Děkuji
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.11.2006 09:38 vasek
Rozbalit Rozbalit vše Re: Programování AT89S2051
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dobry den, ja pouzivam programator Ponyprog z www.hw.cz (maji ho i v GME). Ten ma softik i pro linux.
11.11.2006 13:08 aa
Rozbalit Rozbalit vše Re: Programování AT89S2051
Na strankach PonyProgu jsou i schemata tech HW programatoru. Cili si ho muze i zbastlit.
11.11.2006 13:50 MartinK | skóre: 10 | blog: Blogik
Rozbalit Rozbalit vše Re: Programování AT89S2051
HW mám biprog. Teď jsem se koukal i na ten PonyProg ale ovládací program také nepodporuje AT89x051
11.11.2006 13:35 miro | skóre: 19 | blog: miro
Rozbalit Rozbalit vše Re: Programování AT89S2051
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pred casom som zacal pouzivat AVRDUDE, je to vyborny programator. Akurat momentalne nie som na svojom kompe, tak neviem skontrolovat, ci podporuje procesory AT89S2052 a AT89S4051. Ak ho niekto ma nainstalovany, moze skusit
>avrdude -p ?
11.11.2006 13:58 MartinK | skóre: 10 | blog: Blogik
Rozbalit Rozbalit vše Re: Programování AT89S2051
Zkusil jsem ho naistaloval a standartně je neumí, ale vypadá to, že když si trochu pohraji s /etc/avrdude.conf tak by je umět mohl. :-)
17.11.2006 13:57 MartinK | skóre: 10 | blog: Blogik
Rozbalit Rozbalit vše Re: Programování AT89S2051
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pohrál jsem si s konfiguračním souborem avrdude a pridal do nej nasledujici:
#------------------------------------------------------------
# AT89S2051
#------------------------------------------------------------

part
    id                  = "s2051";
    desc                = "AT89S2051";
#    stk500_devcode      = 0x12;
#    avr910_devcode      = 0x55;
    signature           = 0x1e 0x23 0xff;
    chip_erase_delay    = 4000;
    pgm_enable          = "1 0 1 0  1 1 0 0   0 1 0 1  0 0 1 1",
                          "x x x x  x x x x   x x x x  x x x x";

    chip_erase          = "1 0 1 0  1 1 0 0   1 0 0 x  x x x x",
                          "x x x x  x x x x   x x x x  x x x x";

    timeout		= 15;
    stabdelay		= 100;
    cmdexedelay		= 25;
    synchloops		= 1;
    bytedelay		= 0;
#    pollindex		= 3;
    pollvalue		= 0x01;
    predelay		= 1;
    postdelay		= 1;
#    pollmethod		= 0;


    memory "flash"
        size            = 2048;
        paged           = yes;
        page_size       = 32;
        num_pages       = 64;
        min_write_delay = 4500;
        max_write_delay = 20000;
        readback_p1     = 0xff;
        readback_p2     = 0xff;
        read            = "   0   0   1   0    0   0   0   0",
                          "   x   x   x   x  a11 a10  a9  a8",
                          "  a7  a6  a5  a4   a3  a2  a1  a0",
                          "   o   o   o   o    o  o    o   o";

        loadpage_hi     = "   0   0   1   1    0   0   0   0",
                          "   x   x   x   x  a11 a10  a9  a8",
                          "  a7  a6  a5   0    0   0   0   0",
                          "   o   o   o   o    o   o   o   o";

        write           = "   0   1   0   0    0   0   0   0",
                          "   x   x   x   x  a11 a10  a9  a8",
                          "  a7  a6  a5  a4   a3  a2  a1  a0",
                          "   i   i   i   i    i   i   i   i";

        writepage       = "   0   1   0   1    0   0   0   0",
                          "   x   x   x   x  a11 a10  a9  a8",
                          "  a7  a6  a5   0    0   0   0   0",
                          "   i   i   i   i    i   i   i   i";

        mode            = 0x21;
	delay		= 4;
	blocksize	= 32;
	readsize	= 64;
    ;

    memory "signature"
        size            = 3;
        read            = "0  0  1  0   1  0  0  0    x x x x  x x x x",
                          "x  x  x  x   x  x a1 a0    o o o o  o o o o";
    ;

    memory "lock"
        size            = 1;
        read            = "0  0  1  0   0  1  0  0    x x x x  x x x x",
                          "x  x  x  x   x  x  x  x    x x x x  x x o o";

        write           = "1  0  1  0   1  1  0  0    1 1 1 0  0 x i i",
                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
    ;

    memory "fuse"
        size            = 1;
        read            = "0  0  1  0   0  0  0  1    x x x x  x x x x",
                          "x  x  x  x   x  x  x  x    x x x x  o o o o";

        write           = "1  0  1  0   1  1  0  0    0 0 0 1  i i i i",
                          "x  x  x  x   x  x  x  x    x x x x  x x x x";
    ;
;

ale když spustím avrdude a chci precist/zapsat flashpamet procesoru zkoncim na teto chybe:
 avrdude -c stk500v2 -p s2051 -P /dev/ttyUSB0 -U flash:r:pokus.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude: Device signature = 0x1e23ff
avrdude: reading flash memory:

Reading |                                                    | 0% 0.00savrdude: stk500v2_paged_load: read instruction not defined for part "AT89S2051"
avrdude: failed to read all of flash memory, rc=-1

avrdude: safemode: Fuses OK

avrdude done.  Thank you.
mate prosim nekdo nejaky napad jak by se to dalo vyresit, vypada to na chybu pri cteni stranek. Mozna by pomohlo aby se cetlo po bytech, ale nevim jak.
17.11.2006 14:22 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Programování AT89S2051
Není náhodou zamčené čtení z flash?
Quando omni flunkus moritati
17.11.2006 15:40 MartinK | skóre: 10 | blog: Blogik
Rozbalit Rozbalit vše Re: Programování AT89S2051
Neni, procesor je uplne novy a nejde ani zapis - zkousel jsem to i s druhym. S AvrStudio ve windows to funguje.
17.11.2006 17:03 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Programování AT89S2051
A nemůžeš použít jiný, podporovaný procesor - třeba AtTiny2313? AT89 jsou přece jenom trochu z módy ;-) a po pár úpravách (např. jinak pojmenované porty) by program měl chodit stejně

Popřípadě bych zkusil ještě vynechat programátor a zapojit procesor přímo k paralelnímu portu (v avrdude.conf popsán jako programátor "dapa"). Eventuelně by to mělo jít i se sériovým portem (programátor "dasa"), ale to jsem nezkoušel. Nicméně u téhle možnosti se obávám, že se ti spíš nepovedl popis toho procesoru a avrdude.conf a že tohle nepomůže
Quando omni flunkus moritati
17.11.2006 17:15 MartinK | skóre: 10 | blog: Blogik
Rozbalit Rozbalit vše Re: Programování AT89S2051
Procesor jiny pouzit nemuzu, ve skole mame TestDesk a AT89C2051, tak jej upravuju s S2051 aby se dal programovat primo v aplikaci a nemusel se ten procesor porad prehazovat mezi programatorem a TestDeskou.
Ted jsem to vyskousel s dasa = serial port banging, reset=rts sck=dtr mosi=txd miso=cts a porad to stejne, talze chyba bude opravdu asi v avrdude.conf
22.3.2009 18:22 jsmach | skóre: 15
Rozbalit Rozbalit vše Re: Programování AT89S2051
89c2051 nemůže programovat stejným způsobem jako AVR apod. (tedy přes 3 vodičovou sběrnici), tyto procesory lze programovat jedině pomocí cca 4 řídících a 8 datových bitů, tj. paralení metodou.
22.3.2009 18:36 MartinK | skóre: 10 | blog: Blogik
Rozbalit Rozbalit vše Re: Programování AT89S2051

 Dobrý den, celou dobu je zde řeč o AT89_S_2051, které právě takhle programovat jdou! Více informací najdete v katalogovém listu.

 The AT89S2051/S4051 is a low-voltage, high-performance CMOS 8-bit microcontroller with 2K/4K bytes of In-System Programmable (ISP) Flash program memory.

 

22.3.2009 20:51 Zmije
Rozbalit Rozbalit vše Re: Programování AT89S2051
Odpovědět | | Sbalit | Link | Blokovat | Admin

Na velké šváby (89S5X) používám program uisp viz. http://hw.cz/Teorie-a-praxe/Software/ART970-UISP---AVR-In-System-Programmer.html

9.4.2012 17:41 me
Rozbalit Rozbalit vše Re: Programování AT89S2051
Tak uz je duben roku 2012 a UISP stale nepodporuje AT89S2051. Neni ten svet Linux uzasny? Jen dalsi dukaz, ze bez know-how vam ani zdrojove kody nepomuzou... Anebo jsou vsichni experti tak lini a misto aby hackovali programovaci SW tak radsi pouziji podporovany chip? Mozna ze ti co skutecne s temito cipy pracuji radsi pouzivaji Windows...

UISP podporuje AT89S51, AT89S52 a pridani AT89S2051 by melo byt snadne, ale z nejakeho duvodu se tak stale nestalo. :-(

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.