Spisu treści:

Jak zaktualizować oprogramowanie układowe na tanim klonie USBasp: 9 kroków
Jak zaktualizować oprogramowanie układowe na tanim klonie USBasp: 9 kroków

Wideo: Jak zaktualizować oprogramowanie układowe na tanim klonie USBasp: 9 kroków

Wideo: Jak zaktualizować oprogramowanie układowe na tanim klonie USBasp: 9 kroków
Wideo: Jak znajdować i pobierać oprogramowanie i sterowniki produktów HP 2024, Listopad
Anonim
Jak zaktualizować oprogramowanie układowe na tanim klonie USBasp?
Jak zaktualizować oprogramowanie układowe na tanim klonie USBasp?

To jest mały przewodnik po flashowaniu nowego oprogramowania na klonie USBasp, takim jak mój. Ten przewodnik został napisany specjalnie dla klonu USBasp widocznego na zdjęciach, jednak powinien nadal działać z innymi. Okablowanie pokazano w kroku 5, w kroku 9 jest TL; DR.

Cieszyć się!

Krok 1: Problem

Problem
Problem
Problem
Problem

Avrdude mówi mi, że programator, którego używam, ma przestarzałe oprogramowanie układowe. Na mojej płytce nie ma normalnej zworki do samodzielnego programowania. Oto jak to naprawić. Schematy USBasp można znaleźć na fischl.de.

Krok 2: Potrzebne materiały

Będziesz potrzebować…

  • Lutownica
  • Arduino (najlepiej Nano)
  • Niektóre przewody połączeniowe
  • Komputer PC z zainstalowanym Arduino IDE i avrdude

Krok 3: Rozwiązanie

Rozwiązanie
Rozwiązanie
Rozwiązanie
Rozwiązanie
Rozwiązanie
Rozwiązanie

Abyśmy mogli sflashować nowe oprogramowanie do ATmega8, musimy przejąć kontrolę nad jego pinem RESET. Normalnie zworkę na USBasp można zamknąć, aby umożliwić samodzielne programowanie, jednak producent mojej płytki nie przewidział takiej.

W ATmega8 pin RESET to pin 29, czwarty pin na górze od lewej. Jest podłączony do rezystora podciągającego 10k do 5V. Musimy go podłączyć do pinu 5 nagłówka ICSP.

Moglibyśmy spróbować przylutować przewód bezpośrednio do rezystora lub do samego pinu, jednak jest to uciążliwe i może uszkodzić twoją płytkę. (Próbowałem i zerwałem rezystor podciągający, nie polecam) Jest też o wiele prostszy sposób!

Chociaż producent nie zamieścił prawdziwej zworki umożliwiającej samodzielne programowanie, umieścił nagłówek pod mikrokontrolerem. Możemy po prostu przylutować drut w poprzek i…

Krok 4: Voila

Voila!
Voila!

Podłączyliśmy dwa piny resetowania! Dwa otwory na spodzie łączą pin 29 i pin 14 mikrokontrolera.

Krok 5: Konfiguracja Arduino

Aby sflashować nowe oprogramowanie do programatora, potrzebujemy innego programatora, w tym przypadku Arduino ze szkicem ArduinoISP. Aby upewnić się, że twoja konfiguracja jest taka sama, odkomentuj wiersz 81

// #define USE_OLD_STYLE_WIRING

Teraz połącz Arduino z nagłówkiem ICSP na swoim programatorze.

Arduino USBasp

5V Pin 2 (VCC) GND Pin 4/6/8/10 (GND) Pin 10 Pin 5 (Reset) Pin 11 Pin 9 (MISO) Pin 12 Pin 1 (MOSI) Pin 13 Pin 7 (SCK)

USBasp pozostaje odłączony od komputera.

Otwórz terminal i wpisz

avrdude -cavrisp -pm8 -b19200 -P[Tu podaje się numer portu, powinien być taki sam jak w Arduino IDE]

Jeśli wszystko pójdzie dobrze, avrdude powinno wydrukować informacje o ATmega8 (bezpieczniki, podpis itp.)

Krok 6: Flashowanie ATmega8

Aby sflashować chip, nadal potrzebujemy oprogramowania. Udaj się na fisch.de i pobierz najnowszą wersję. Wypakuj archiwum i przejdź do niego za pomocą powłoki.

Kompilacja kodu nie zadziałała u mnie, ale na szczęście archiwum zawiera wszystkie skompilowane programy w ramach

pojemnik/oprogramowanie układowe

Tutaj powinieneś zobaczyć trzy pliki.hex. Wybierz ten o tej samej nazwie co twój chip. Mój programista używa ATmega8, więc wybrałem

usbasp.atmega8.rrrr-mm-dd.hex

Przy działającym połączeniu z ATmega8 flashowanie powinno wymagać tylko wpisywania

avrdude -cavrisp -pm8 -b19200 -P[PORT] -U flash:w:[plik szesnastkowy]

Jeśli wszystko zostało zrobione poprawnie, avrdude powinno napisać i zweryfikować wybrane oprogramowanie.

Krok 7: Sprawdzenie, czy programator działa

Upewnienie się, że programator działa
Upewnienie się, że programator działa

Aby ponownie użyć USBasp jako programatora, musimy usunąć połączenie między pinem 29 a pinem 14. Powinno wystarczyć przecięcie zworki na spodzie, ale jej usunięcie też nie zaszkodzi.

Możesz go wypróbować, podłączając go z powrotem do komputera i pisząc

avrdude -cusbasp -pm8

Nawet jeśli avrdude nie może osiągnąć celu, powinno przynajmniej potwierdzić nowe oprogramowanie naszego programisty.

Krok 8: Rozwiązywanie problemów

Rozwiązywanie problemów
Rozwiązywanie problemów

Jeśli avrdude pokaże taki błąd, prawdopodobnie ma to coś wspólnego z funkcją automatycznego resetowania Arduino. Aby to obejść, dodaj kondensator między RESET a GND Arduino. Generalnie zaleca się stosowanie kondensatora 10µF, jednak w moim przypadku kondensator 100µF działał dobrze.

Jeśli pojawi się błąd, taki jak

avrdude: error: programm enable: cel nie odpowiada. 1

lub zwrócony został nieprawidłowy podpis, sprawdź okablowanie. Miałem problem z rdzewieniem kabli zasilających i brakiem przewodzenia prądu. Zalecam wcześniejsze sprawdzenie wszystkich przewodów połączeniowych.

Upewnij się również, że przełączyłeś pin 11 i pin 12 w Arduino, jeśli problem będzie się powtarzał.

Upewnij się również, że ustawiłeś poprawną prędkość transmisji dla Arduino jako ISP, 19200. Można to ustawić za pomocą opcji

-b19200

Jeśli masz jakieś pytania lub zauważyłeś błąd, daj mi znać:)

Krok 9: TL; DR

  1. Przylutuj drut przez dwa szpilki na spodzie płyty
  2. Skonfiguruj Arduino jako ISP, upewniając się, że włączony jest stary schemat okablowania
  3. Połącz Arduino z programatorem przez nagłówek ICSP
  4. Flash nowe oprogramowanie układowe na programatorze!
  5. Usuń połączenie na dole
  6. Nie zrywaj żadnych rezystorów SMD

Zalecana: