Kurs podstawowy
Aktualizacja firmware programatora USBasp.

avrdude: warning: cannot set sck period. please check for usbasp firmware update.

 

W poprzednich artykułach dało się zauważyć takie ostrzeżenie widoczne w konsoli programu avrdude. Nie jest to błąd popełniony przez użytkownika, lecz wynik nieaktualnego oprogramowania wewnętrznego programatora. Takie ostrzeżenie widoczne jest praktycznie w każdym nowo zakupionym programatorze USBasp, Zwłaszcza tych tańszych wersjach. Niektórych użytkowników może takie ostrzeżenie denerwować, inni się tym nie przejmują. Niezależnie od nastawienia użytkownika wygląda to nieprofesjonalnie. W tym artykule dowiemy się jak sobie z tym poradzić, a jednocześnie poznamy sposób na wgrywanie programu do mikrokontrolera.

 

sck period warning

Fot.1. Ostrzeżenie, gdy avrdude nie może ustawić prędkości taktowania.

 

Jeśli widzimy to ostrzeżenie oznacza to nic innego, jak nieaktualne oprogramowanie programatora USBasp. W tym przypadku należy pobrać najnowsze firmware ze strony fischl.de lub korzystając z linku na dole artykułu i wgrać je do mikrokontrolera. W tym celu konieczne jest posiadanie drugiego programatora. W tym artykule całą operację wykonamy korzystając z AVRISP MKII oraz Atmel Studio 7.0.  Można to zrobić w każdym innym programatorem z interfejsem ISP.  Najnowsze dostępne oprogramowanie programatora pochodzi z maja 2011 roku. Należy je pobrać i rozpakować na dysku twardym.

Teraz zajmiemy się przygotowaniem sprzętu.

 

usbasp

Fot. 2. Programator USBasp z opisem zworek.

 

Zwykle programatory USBasp wyposażone są w zworkę "self programming", która jest normalnie rozwarta. Należy ją zlokalizować i zewrzeć. Jeśli na płytce programatora w miejscu gdzie powinny być kołki są tylko pola lutownicze, to należy wlutować goldpiny.

 

Fot. 3. Programator USBasp ze zworką na pinach "self programming".

 

Następnie podłączamy tak przygotowany USBasp do programatora, za pomocą którego będziemy aktualizować jego oprogramowanie. Programator USBasp traktujemy jako urządzenie programowane.

 

Fot. 4. Programator USBasp podłączony do klona programatora AVRISP MKII.

 

Podłączamy przewód programatora do wolnego gniazda USB w komputerze i klikamy na ikonę i po otwarciu się narzędzia do programowania wybieramy typ mikrokontrolera, który znajduje się w naszym programatorze i klikamy przycisk Apply.

 

Wybór mikrokokontrolere.

Fot. 5. Wybór mikrokontrolera w narzędziu do programowania.

 

Przechodzimy dalej do zakładki Memories i przeprowadzamy odczyt pamięci flash. Odczytane dane zapiszemy sobie na dysku. Zawsze należy pamiętać o wykonywaniu kopii istniejących danych, które będzie można przywrócić, gdy nowe dane nie spełnią naszych oczekiwań, lub stwierdzimy jakiekolwiek nieprawidłowości po aktualizacji.

 

Fot. 6. Odczyt pamięci flash mikrokontrolera.

 

Aby zapisać zawartość pamięci flash na dysku należy w zakładce Memories kliknąć przycisk Read w sekcji dotyczącej tej pamięci i wskazać miejsce zapisu i nazwę pliku wynikowego.

 

Fot. 7. Zapis pliku wynikowego z zawarością pamięci flash mikrokontrolera.

 

Wybieramy katalog, w którym zapisany ma zostać plik z zawartością pamięci flash oraz podajemy jego nazwę. Ja nazwałm ten plik jako old_firmware.hex. Na koniec klikamy przycisk Zapisz.

 

Przygotowania do aktualizacji oprogramowania programatora USBasp mamy już zakończone. Możemy rozpocząć procedurę wgrywania aktualnego firmware.

 

Fot. 8. Wybranie wsadu, który załadowany ma zostać do mikrokontrolera.

 

Aby wybrać plik z aktualnym oprogramowaniem klikamy przycisk (4) i przechodzimy do katalogu bin, który znajduje się w pobranej przez nas aktualizacji.

 

Fot. 9. Wskazanie pliku wsadowego dla odpowiedniego typu mikrokontrolera.

 

Gdy jesteśmy już w katalogu bin otwieramy katalog firmware, w którym znajdują się pliki .hex. Wybieramy jeden z nich, ten który jest właściwy dla mikrokontrolera obecnego na pokładzie programatora. Tutaj chcę zwrócić uwagę, że musimy być całkowicie pewni, jaki mikrokontroler znajduje się w programatorze. Programator przykładowy posiada zamontowany mikrokontroler ATmega8A, więc dla niego plikiem właściwym będzie usbasp.atmega8.2011-05-28.hex. Po wskazaniu tego pliku klikamy przycisk Otwórz.

 

Fot. 10. Wgrywanie danych do mikrokontrolera.

 

Ustawienia na karcie Memories powinny wyglądać jak na fotografii 10. Wszystko mamy gotowe. Klikamy przycisk Program aby rozpocząć zapis danych do pamięci flash mikrokontrolera. Czekamy na zakończenie operacji. Powinniśmy zobaczyć efekt identyczny jak na fotografii 11.

 

Fot. 11. Widok końcowy po załadowaniu nowych danych do mikrokontrolera.

 

Jeśli wszystko przebiegło pomyślnie zamykamy narzędzie do programowania klikając w przycisk Close. Możemy także zamknąć Atmel Studio, jeśli nie będzie już potrzebne. Odłączamy nasze programatory, zdejmujemy zworkę self programming i podłączamy programator do naszego układu z mikrokontrolerem. Podłączamy programator USBasp do wolnego gniazda USB w komputerze i włączamy zasilanie układu. Sprawdzimy jak wyglądają teraz komunikaty konsoli programu avrdude. Wpisujemy więc polecenie: avrdude -p atmega32 -c usbasp -P usb -B 8

 

Fot. 12. Komunikaty konsoli po aktualizacji firmware.

 

Widzimy, że ostrzeżenie nie jest już wyświetlane. Od tej chwili możemy się cieszyć programatorem USBasp z najnowszym dostępnym oprogramowaniem.

Autor: Orici
Wyświetleń: 2225|Komentarzy: 0|Ocena: 0|Głosów: 0