Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Nowy USBASP 2009-02-28 i nowa funkcja, kompilacja avrdude

04 Kwi 2009 11:06 7665 9
  • Poziom 29  
    Nie wiem czy ktoś zauważył, że miesiąc temu wyszedł nowy firmware do usbasp -> http://www.fischl.de/usbasp/

    Zaimplementowano programowe wybieranie predkości programowania, niezależne od zworki. Teraz można wybierać pomiędzy 12 prędkościami - od 500Hz do 1.5MHz. Przypomne że standardowo było 375KHz. Więc można nawet komunikowac się z układem napędzanym kwarcem 32KHz dzielonym przez 8 (zegar 4096Hz). Do polecenia dopisuje się "-B wartość", czyli:

    mniej niż 0.5 lub w ogóle - ustawienie domyślne zworką
    0.5 - 1.0 -> 1.5 MHz
    1.0 - 2.0 -> 750 kHz
    2.0 - 4.0 -> 375 kHz
    4.0 - 8.0 -> 187.5 kHz
    8.0 - 20.96 -> 93.75 kHz
    20.96 - 46.88 -> 32 kHz
    46.88 - 93.75 -> 16 kHz
    93.75 - 187.5 -> 8 kHz
    187.5 - 375.0 -> 4 kHz
    375.0 - 750.0 -> 2 kHz
    750.0 - 1500.0 -> 1 Khz
    więcej niż 1500.0 -> 500 Hz

    Jest jeden problem. Sama aktualizacja firmware nie wystarcza. Trzeba sobie przekompilować avrdude z dołączonym plikiem avrdude.diff, i wtedy to ma działać.
    Łatki tutaj: http://savannah.nongnu.org/patch/?6484

    Dyskusja: http://www.nabble.com/USBasp-improvements-td14156065.html

    Po prostu NIGDZIE nie znalazłem informacji żeby ktoś się tym interesował. Sam skompilować avrdude nie dam rady. Licze na elektrodowiczów, bo to co autorzy obiecują brzmi fantastycznie.

    Pozdrawiam.

    PS specjalnie nie pisze w przyklejonym temacie o usbasp bo tam zaraz ten post zatonie, a myśle że to dobra informacja.
  • Pomocny post
    Poziom 23  
    Z tego co widzę, to patche rozjechały się z tym, co znalazło się w firmware usbasp - w usbasp prędkość ustalana jest przez nową komendę USBASP_FUNC_SETISPSCK, a w ww. patchu dla avrdude przez parametr komendy USBASP_FUNC_CONNECT.
    Sugeruję raczej poczekanie do czasu aż "oficjalny" patch zostanie włączony do SVN-a.

    Dodano po 1 [godziny] 24 [minuty]:

    Poprawka: stosowne zmiany znalazły się na SVN ponad miesiąc temu (różnią się od wspomnianego patcha).
    Wydaje się działać, czas odczytu zależy przynajmniej od parametru -B xx, wypróbuj http://tomeko.net/trash/avrdude_5_6_r815.7z
  • Poziom 29  
    No właśnie, nikt nic nie wie :) . Nawet Thomas Fischl wrzucając nowy firmware na stronę, nie zamieścił na stronie żadnej informacji (tylko w changelog dopisał dwa słowa). Z kolei avrdude 5.6 został opublikowany kilkanaście dni przed powstaniem tego ulepszenia, więc raczej nie ma co liczyć na oficjalną wersję zbyt szybko.

    Porobiłem trochę testów. Na początku avrdude informuje o wybranej częstotliwości
    Cytat:
    avrdude.exe: set SCK frequency to 1 kHz


    Po pierwsze przeliczanie wartości przez firmware trochę się rozjeżdża z tabelką którą podali autorzy, szczególnie skrajne wartości. Np. dla 1.5MHz trzeba wpisać 0.1, a dla 500Hz trzeba wpisać 1500 - poniżej otrzymamy 1KHz.

    Więc układ taktowany 8MHz daje się programować przy prędkości 1.5MHz. Nie mogę sprawdzić czy taka prędkość faktycznie występuje, mam zbyt wolny miernik (autoskalowanie). Najniższa natomiast prędkosć do której udało mi się zjechać, był 1KHz - programowanie trwa wieki. Przy 500Hz po chwili transmisja się wysypuje, ale odczyt i zapis fusebitów kończą sie pomyślnie.
    Cytat:
    avrdude.exe: error: usbasp_transmit: error sending control message: win error: Operacja We/Wy została przerwana z powodu zakończenia wątku lub żądania aplikacji.

    Może musze uaktualnić cygusb0.dll - jeszcze to sprawdze.


    DODANO


    Aktualizacja cygusb0.dll do wersji 0.1.12.1 nic nie dała. Aha i jeszcze jedno, po aktualizacji trzeba zaktualizowac sterownik do usbasp na 0.1.12.1 - znajduje się w paczce z usbasp. Stary sterownik z nową biblioteką - lub odwrotnie - są niekompatybilne i avrdude będzie wyrzucał że nie znalazł programatora.
  • Poziom 17  
    Warto tyle zachodu dla jednej nowej funkcji?
    Mi osobiście poprzednia wersja działa doskonale, a zworkę wyprowadziłem sobie na przełącznik na obudowie i jest bardzo wygodnie :) Może zrobię to na rs232 i z prostego komputera będę wybierał wolniej/szybciej...

    Co nie zmienia faktu, że jestem za tym by rozwiać projekt i również czekam, aż ktoś to wszystko doprowadzi do ładu.
  • Poziom 29  
    Ile zachodu? Przecież już działa. A te drobne mankamenty można pominąć. Jak napisałem wcześniej nie ma co czekać na oficjalną wersję avrdude. Najlepsze jest programowanie układów napędzanych 32KHz zegarem - rzadko który programator to zrobi. A uaktualnić firmware i skopiowac nowy avrdude chyba nie jest ciężko, więc niech kolega potestuje i zobaczy czy koledze działa te 500Hz :)
  • Poziom 33  
    a czy sterownik dla MS również został poprawiony ?
  • Poziom 39  
    Mam takie pytanko jak już mowa o nowym firmware jak to wgrać do tego usbasp
    mecze się i mi nie wychodzi w tym avrdude-gui_v0.2.1
    Obie zworki mam wpięte
    Nowy USBASP 2009-02-28 i nowa funkcja, kompilacja avrdude
    I przy okazji jeszcze jedno pytanie czy tym usbasp da sie odczytać eeprom spi AT25F1024
    I za pomocą jakiego programatora mogę to zgrać?
    Niby mam schemat jak to podpiąć ale to jest 25xxx i nie wiem czy to współgra z 25Fxxxx

    Nowy USBASP 2009-02-28 i nowa funkcja, kompilacja avrdude
  • Poziom 27  
    Nowy firmware można wgrać tylko i wyłącznie drugim programatorem. Pytanie czy warto: wydaje mi się mniej stabilny niż stary, programator dużo częściej mi się zawiesza. Jeśli masz drugi programator to jeszcze spróbuj ustawić typ pliku Intex HEX, zamiast automatycznego.
    Jeśli chodzi o programowanie Eepromu: o ile da się 25xxx, to 25Fxxx też powinno się dać, ale nie jestem przekonany, że USBasp może programować eepromy.
  • Poziom 29  
    Czemu mniej stabilny? Chodzi koledze o obsługę ze strony PC czy o sam programator i jego wsad? Co się zawiesza? Ja od kwietnia używam i pod tym względem nie widzę żadnej różnicy.
  • Poziom 27  
    Stara wersja bardzo rzadko się zawieszała przy podłączaniu do komputera, nigdy też nie zapalał nagle na stałe czerwonej diody (avrdude podaje w takim momencie błąd). Obecna wersja już to niestety robi. Być może są to kwestie sterownika w komputerze, być może w uC, być może sprzętowe, ale zaczęły się po przeprogramowaniu programatora.

    Pomijając już fakt, że przy maksymalnej prędkości programuje o jakieś 5% wolniej niż poprzednio.