-
1. Data: 2010-02-28 21:39:00
Temat: Powolność programatora STK500v2
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
Witam
Od jakiegoś czasu używam programatorka z USB zakupionego na allegro.
Emuluje on STK500v2. Flash AVR-ka programuje się błyskawicznie, ale
eeprom koszmarnie wolno. Przykładowo 20kB flasha - 6,2s a jedyne 418
bajtów eepromu ponad 40 sekund !!!. Czy to "urok" wszystkich STK500 czy
tylko tego jednego ? Sklecone na szybko usbasp programuje bez porównania
szybciej.
Pozdrawiam
Grzegorz
-
2. Data: 2010-03-01 19:59:58
Temat: Re: Powolność programatora STK500v2
Od: Adam Dybkowski <a...@4...pl>
W dniu 2010-02-28 22:39, Grzegorz Kurczyk pisze:
> Od jakiegoś czasu używam programatorka z USB zakupionego na allegro.
> Emuluje on STK500v2. Flash AVR-ka programuje się błyskawicznie, ale
> eeprom koszmarnie wolno. Przykładowo 20kB flasha - 6,2s a jedyne 418
> bajtów eepromu ponad 40 sekund !!!. Czy to "urok" wszystkich STK500 czy
> tylko tego jednego ? Sklecone na szybko usbasp programuje bez porównania
> szybciej.
Powinno być znacznie szybciej. Poszukaj w archiwum grupy, w zeszłym roku
był wątek o wydajności programowania AVRów różnymi programatorami.
Wyszło na to, że im nowszy wynalazek Atmela tym szybszy - wygrały wtedy
chyba AVR One oraz ISP mkII.
Sprawdź przy okazji, co masz w środku programatora. Jeżeli popierdułkę w
rodzaju USB obsługiwanego programowo przez AVRa (z prędkością LowSpeed
czyli 1,5Mbps) to nic dziwnego. Ja mam klona gadającego jak STK500v2 ale
na pokładzie jest układ FT232 i śmiga na 12Mbps. Ale to i tak wolno w
miarę działa (w stosunku do wydajności programowania ograniczanej przez
sam programowany AVRek) ze względu na algorytm STK500v2, zakładający
m.in. komunikację z pecetem na 115200 bps przez "wirtualny" COM oraz
mały bufor programowania (częste małe paczki danych i potwierdzenia do
przesyłania z/do peceta).
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
-
3. Data: 2010-03-01 21:34:09
Temat: Re: Powolność programatora STK500v2
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
Użytkownik Adam Dybkowski napisał:
> W dniu 2010-02-28 22:39, Grzegorz Kurczyk pisze:
>
>> Od jakiegoś czasu używam programatorka z USB zakupionego na allegro.
>> Emuluje on STK500v2. Flash AVR-ka programuje się błyskawicznie, ale
>> eeprom koszmarnie wolno. Przykładowo 20kB flasha - 6,2s a jedyne 418
>> bajtów eepromu ponad 40 sekund !!!. Czy to "urok" wszystkich STK500 czy
>> tylko tego jednego ? Sklecone na szybko usbasp programuje bez porównania
>> szybciej.
>
> Powinno być znacznie szybciej. Poszukaj w archiwum grupy, w zeszłym roku
> był wątek o wydajności programowania AVRów różnymi programatorami.
> Wyszło na to, że im nowszy wynalazek Atmela tym szybszy - wygrały wtedy
> chyba AVR One oraz ISP mkII.
>
> Sprawdź przy okazji, co masz w środku programatora. Jeżeli popierdułkę w
> rodzaju USB obsługiwanego programowo przez AVRa (z prędkością LowSpeed
> czyli 1,5Mbps) to nic dziwnego. Ja mam klona gadającego jak STK500v2 ale
> na pokładzie jest układ FT232 i śmiga na 12Mbps. Ale to i tak wolno w
> miarę działa (w stosunku do wydajności programowania ograniczanej przez
> sam programowany AVRek) ze względu na algorytm STK500v2, zakładający
> m.in. komunikację z pecetem na 115200 bps przez "wirtualny" COM oraz
> mały bufor programowania (częste małe paczki danych i potwierdzenia do
> przesyłania z/do peceta).
>
Właśnie mam wręcz przeciwnie i to mnie dziwi. Popierdułka sklecona na
szybko z programowym USB (usbasp na ATmega8) popindala jak mały
samochodzik, a klon z FT232 tak się ślimaczy ale tylko przy
programowaniu eepromu. Programatorek to AVR PROG z firmy SIBIT. Teraz
patrzę, że jest nowy firmware. Spróbuję zaaplikować i zobaczymy :-)
Pozdrawiam
Grzegorz
-
4. Data: 2010-03-02 00:18:36
Temat: Re: Powolność programatora STK500v2
Od: rock <f...@g...com>
Jeśli chodzi o programowanie EEPROM z poziomu nowszych AVR Studio
to niestety tak będzie. Trochę szybciej (tak gdzieś z 50%) będzie z
poziomu AVR DUDE.
Po prostu Atmel w swoim środowisku stosuje z zapasem zalecane
odstępy czasowe (Twd_eeprom) między kolejnymi bajtami podczas zapisu
do pamięci EEPROM.
To że USBASP zakaszania podczas zapisu do eeprom-u wynika tylko z
niefrasobliwości
twórców oprogramowania obsługującego ten standard.
Pozdrawiam.
-
5. Data: 2010-03-02 08:00:08
Temat: Re: Powolność programatora STK500v2
Od: J.F. <j...@p...onet.pl>
On Sun, 28 Feb 2010 22:39:00 +0100, Grzegorz Kurczyk wrote:
>Emuluje on STK500v2. Flash AVR-ka programuje się błyskawicznie, ale
>eeprom koszmarnie wolno. Przykładowo 20kB flasha - 6,2s a jedyne 418
>bajtów eepromu ponad 40 sekund !!!.
A sprawdzales czy to kazy bajt dlugo, czy czeka 39s, i dopiero zaczyna
programowac ?
Ewentualnie odwrotnie - programuje w sekunde, a potem czeka.
Moze byc jakis problem z emulacja przerwan ..
J.
-
6. Data: 2010-03-02 08:27:06
Temat: Re: Powolność programatora STK500v2
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
Użytkownik rock napisał:
> Jeśli chodzi o programowanie EEPROM z poziomu nowszych AVR Studio
> to niestety tak będzie. Trochę szybciej (tak gdzieś z 50%) będzie z
> poziomu AVR DUDE.
> Po prostu Atmel w swoim środowisku stosuje z zapasem zalecane
> odstępy czasowe (Twd_eeprom) między kolejnymi bajtami podczas zapisu
> do pamięci EEPROM.
> To że USBASP zakaszania podczas zapisu do eeprom-u wynika tylko z
> niefrasobliwości
> twórców oprogramowania obsługującego ten standard.
>
To ze straaaaasznym zapasem. Wg specyfikacji Atmel zaleca 9ms. Dajmy dwa
razy tyle plus dwie do równego rachunku czyli 20ms. Z tego wynika, że te
400 bajtów powinno się zaprogramować w czasie ok 8s a nie 40s !
Równoległy STK200 na kilku opornikach lub buforze też pocinał sporo
szybciej :-)
Pozdrawiam
Grzegorz
-
7. Data: 2010-03-02 09:03:34
Temat: Re: Powolność programatora STK500v2
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
Autopoprawka.
Odpowiadam sam sobie :-)
Problem dotyczy systemu Linux. Pod WinXP jest ok. Podejrzewam kwestię
konfiguracji /dev/ttyUSB0
Pozdrawiam
Grzegorz
-
8. Data: 2010-03-02 22:22:59
Temat: Re: Powolność programatora STK500v2
Od: Adam Dybkowski <a...@4...pl>
W dniu 2010-03-02 10:03, Grzegorz Kurczyk pisze:
> Autopoprawka.
> Odpowiadam sam sobie :-)
> Problem dotyczy systemu Linux. Pod WinXP jest ok. Podejrzewam kwestię
> konfiguracji /dev/ttyUSB0
Miło wiedzieć. Też mam ten USBowy programator firmy SIBIT i żadnych
problemów (pod WinXP). Czy nowy firmware coś zmienia szczególnego?
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
-
9. Data: 2010-03-02 22:49:10
Temat: Re: Powolność programatora STK500v2
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
Użytkownik Adam Dybkowski napisał:
>
> Miło wiedzieć. Też mam ten USBowy programator firmy SIBIT i żadnych
> problemów (pod WinXP). Czy nowy firmware coś zmienia szczególnego?
>
Niestety pod Linuxem nadal to samo. Coś musi być z obsługą FTDI pod
linuxem. Nie wgrywałem żadnych specjalnych sterowników. Linux
(Ubuntu9.10) sam wykrył programator jako /dev/ttyUSB0 i tak ustawiłem
avrdude. Ruszyło od pierwszego kopa, ale właśnie z taką niespodzianką.
Coś mi się wydaje, że problem jest związany z buforowaniem w FTDI.
Podczas programowania eepromu lecą krótkie paczki (programowanie bajt po
bajcie). Przy programowaniu flascha lecą całe strony i bufor FTDI szybko
się zapełnia i dane szybko pojawiają się po stronie RS-a.
Pozdrawiam
Grzegorz
-
10. Data: 2010-03-03 23:44:44
Temat: Re: Powolność programatora STK500v2
Od: Adam Dybkowski <a...@4...pl>
W dniu 2010-03-02 23:49, Grzegorz Kurczyk pisze:
> Niestety pod Linuxem nadal to samo. Coś musi być z obsługą FTDI pod
> linuxem. Nie wgrywałem żadnych specjalnych sterowników. Linux
> (Ubuntu9.10) sam wykrył programator jako /dev/ttyUSB0 i tak ustawiłem
> avrdude. Ruszyło od pierwszego kopa, ale właśnie z taką niespodzianką.
> Coś mi się wydaje, że problem jest związany z buforowaniem w FTDI.
> Podczas programowania eepromu lecą krótkie paczki (programowanie bajt po
> bajcie). Przy programowaniu flascha lecą całe strony i bufor FTDI szybko
> się zapełnia i dane szybko pojawiają się po stronie RS-a.
W sterowniku dla Windows jest okienko ustawień zaawansowanych, gdzie
można m.in. zmniejszyć czas oczekiwania przed wysłaniem danych (gdy
bufor nie jest zapełniony, standardowo 16ms a minimalnie 1ms). Może masz
gdzieś też upchnięte podobne ustawienia w Linuxie, albo można jest
ustawić niestandardowym ioctl'em? Wtedy nie problem dodać to nawet w
źródłach avrdude.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.