aktualizacja oprogramowania programatora USBasp.

5/5 - (2 votes)

Sprawa typu jak się wie o co chodzi to jest banalnie 😉

Od pewnego czasu obserwowałem pojawiający się w konsoli programatora komunikat:

Can not set clock frequency. Please check for usbasp firmware update.

i niby wszystko jest w porządku, a przynajmniej tak się wydaje. Komunikat sobie wyskakuje, a programator prawidłowo programuje mikrokontrolery.  przeszkadzający komunikat: Can not set clock frequency. Please check for usbasp firmware update.I kto by się tym przejmował, … ale, ten komunikat … ciągle się pojawia …  :mrgreen: Hehehehe jakiś czas wytrzymałem z nim, … bo za każdym razem drażnił bardziej  🙂 No i w końcu postanowiłem się z nim rozprawić definitywnie. W tym celu z witryny http://www.fischl.de pobrałem najbardziej aktualną wersję oprogramowania firmware programatora. Najnowszy na dziś dzień wsad ma następujący opis usbasp.2011-05-28.tar.gz (519 kB) TPI support (upcoming release of avrdude will use it), supports programmers with ATMega88 and ATMega8. Po pobraniu paczki zapoznałem się z załączoną dokumentacją. Na opublikowanym schemacie widać jak na dłoni, że do wykonania upgrade firmware niezbędne jest posłużenie się zworką J2/JP2 (selfprogramming).

Mój programator, który szedł na pierwszy ogień wygląda następująco:

USBasp i widoczna zworka J2

Kolejny, który posiadam nie jest taki stary, pochodzi z innego źródła ma inny wzór PCB, ale również miał załadowane stare oprogramowanie funkcjonalne. I tak samo powoduje pojawianie się identycznego komunikatu w konsoli. W drugim egzemplarzu można już przylutować standardowe gold-pin  (raster 2,54″) w miejsce JP2. Aby wykonać procedurę „aktualizacja oprogramowania programatora USBasp” należy posiadać dwa programatory. Pierwszy pełni standardową rolę, a drugi jest układem programowanym  😛  Po połączeniu wychodzi coś następującego:

przygotowania do upgrade oprogramowania programatora USBASP

widok środowiska IDE przygotowanego do programowania programatoraBy więc wykonać procedurę aktualizacji musiałem otworzyć puste okno nowego projektu w środowisku IDE. Uruchomić funkcję programowania, wczytać pobrany plik hex (usbasp.atmega8.2011-05-28.hex) stosowny do posiadanej wersji sprzętowej. W tym kroku należy uważać gdyż dostępne są również pliki firmware dla µC Atmega48 oraz Atmega88. Kolejnie kasowanie µC, test zawartości, programowanie, kolejny test zawartości i na koniec test spójności po między buforem, a nową zawartością flash. I po strachu  🙂

Procedura przebiegała gładko pominąwszy oczywiście moje błędy gdzie to próbowałem zaktualizować oprogramowanie bez załączenia zasilania, układu programowanego  :mrgreen:

programowanie i zawartość konsoli po jego przebiegu

aktualizacja oprogramowania programatora USBasp

Po zakończeniu procedury komunikat, który jest sprawcą zamieszania zniknął, jak ręką odjął.
Dodatkowo przy pierwszym teście programatora z nowym firmware zauważyłem przyrost szybkości przeprowadzanych operacji. Krótko mówiąc programowanie przebiega zauważalnie szybciej nawet przy kodzie niewielkich rozmiarów. Tak że, każdemu polecę przeprowadzenie tej procedury – aktualizacja oprogramowania programatora USBasp.

A.D. 2016-05-08

Zdziwieniu mojemu nie było końca gdy …
Otóż sprawy miały się tak: w konfiguracji prędkości transmisji programatora nastawione miałem 750KHz – od zawsze. I jakoś nie zwracałem na ten parametr uwagi, czy to przy nowym µC czy też z odzysku, bądź używanym przeze mnie wcześniej. Bez względu na to z jaką prędkością był taktowany µC, niby wszystko funkcjonowało prawidłowo …
błąd podczas próby odczytu sygnaturki µCTaaaak do czasu … kiedy to po aktualizacji firmware w programatorze dobrałem się do modułu z odzysku, gdzie µC jest taktowany wewnętrznym rezonatorem 1MHz. Na dzień dobry dostałem stosowny komunikat ;-D Można go oglądnąć na obrazku obok. Zmieszaniu mojemu nie było końca. Zaczęło się mozolne poszukiwanie przyczyny dysfunkcji … i mozolne sprawdzanie nowo przygotowanego przewodu do programowania. Do czasu, aż wpadłem na pomysł, że być może za szybko próbuje gadać do µC taktowanego rezonatorem 1MHz. Myśl ta okazała się bezcenna w skutkach kiedy to zmniejszyłem prędkość transmisji.

Cała ta sytuacja rzutuje na fakt, że stare oprogramowanie (firmware) programatora  jest „guzik warte”. Po mimo nastawy prędkości była ona ignorowana bo programator nie mógł jej prawidłowo zinterpretować bądź wyegzekwować. Gdy wsad został zmieniony na nowy wszystko zaczęło działać tak jak powinno czego skutkiem jest szybsze programowanie – o czym już wspominałem, oraz ten komunikat.

Tutaj trzeba też przypomnieć o tym, że nowe µC mają fabrycznie wykonaną nastawę na taktowanie wewnętrznym oscylatorem z prędkością 1MHz, i zmiana prędkości komunikacji programatora może okazać się konieczna.

Otagowano , , , .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

12 − 8 =

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.