Obsah:

Jak aktualizovat firmware na levném USBasp-klonu: 9 kroků
Jak aktualizovat firmware na levném USBasp-klonu: 9 kroků

Video: Jak aktualizovat firmware na levném USBasp-klonu: 9 kroků

Video: Jak aktualizovat firmware na levném USBasp-klonu: 9 kroků
Video: Jak flashnout BIOS, aktualizovat firmware základní desky (aby šel použít třeba Ryzen 3. generace) 2024, Červenec
Anonim
Jak aktualizovat firmware na levném klonu USBasp
Jak aktualizovat firmware na levném klonu USBasp

Toto je malý průvodce přenesením nového firmwaru na klon USBasp, jako je ten můj. Tato příručka je speciálně napsána pro klon USBasp, který je vidět na obrázcích, přesto by měl fungovat s ostatními. Zapojení je uvedeno v kroku 5, v kroku 9 je TL; DR.

Užívat si!

Krok 1: Problém

Problém
Problém
Problém
Problém

Avrdude mi říká, že programátor, který používám, má zastaralý firmware. Normální propojka pro vlastní programování na mé desce neexistuje. Zde je návod, jak to opravit. Schémata pro USBasp najdete na fischl.de.

Krok 2: Potřebné materiály

Budete potřebovat…

  • Páječka
  • Arduino (nejlépe Nano)
  • Nějaké propojovací vodiče
  • Počítač s nainstalovaným Arduino IDE a avrdude

Krok 3: Řešení

Řešení
Řešení
Řešení
Řešení
Řešení
Řešení

Abychom mohli na ATmega8 flashovat nový firmware, musíme získat kontrolu nad jeho pinem RESET. Normálně lze propojku na USBasp zavřít, aby bylo možné vlastní programování, ale výrobce mé desky ji nezahrnul.

Na ATmega8 je kolík RESET pin 29, čtvrtý pin nahoře zleva. Je připojen k 10k pull-up rezistoru na 5V. Musíme jej připojit k pinu 5 hlavičky ICSP.

Mohli bychom zkusit připájet vodič přímo na odpor nebo samotný kolík, ale je to zdlouhavé a může to poškodit vaši desku. (Zkoušel jsem to a strhl jsem pull-up odpor, nedoporučuji) Také existuje mnohem jednodušší způsob!

Přestože výrobce nezahrnul skutečný propojovací kabel, který by umožnil vlastní programování, umístil záhlaví pod mikrokontrolér. Můžeme jednoduše pájet drát a…

Krok 4: Voilà

Voilà!
Voilà!

Spojili jsme dva resetovací piny! Dva otvory ve spodní části spojují kolík 29 a kolík 14 mikrokontroléru.

Krok 5: Nastavení Arduina

Abychom nový firmware nahráli do programátoru, potřebujeme dalšího programátora, v tomto případě Arduino a na něm skicu ArduinoISP. Abyste se ujistili, že je vaše nastavení stejné, odkomentujte prosím řádek 81

// #define USE_OLD_STYLE_WIRING

Nyní připojte Arduino k hlavičce ICSP na vašem programátoru.

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 zůstává odpojen od počítače.

Otevřete terminál a napište

avrdude -cavrisp -pm8 -b19200 -P [Vaše číslo portu zde, mělo by být stejné jako v Arduino IDE]

Pokud je vše v pořádku, avrdude by měl vytisknout některé informace o ATmega8 (pojistky, podpis atd.)

Krok 6: Flashování ATmega8

K flashování čipu stále potřebujeme firmware. Přejděte na fisch.de a stáhněte si nejnovější verzi. Rozbalte archiv a přejděte do něj pomocí shellu.

Kompilace kódu mi nefungovala, ale naštěstí archiv obsahuje všechny kompilované programy pod

bin/firmware

Zde byste měli vidět tři soubory.hex. Vyberte ten, který má stejný název jako váš čip. Můj programátor používá ATmega8, tak jsem si vybral

usbasp.atmega8.rrrr-mm-dd.hex

S fungujícím připojením k ATmega8 by blikání vyžadovalo pouze psaní

avrdude -cavrisp -pm8 -b19200 -P [PORT] -U flash: w: [hex soubor]

Pokud bylo vše provedeno správně, avrdude by měl zapsat a ověřit vybraný firmware.

Krok 7: Zajistěte, aby programátor fungoval

Zajistěte, aby programátor fungoval
Zajistěte, aby programátor fungoval

Abychom mohli znovu použít USBasp jako programátor, musíme odstranit spojení mezi pinem 29 a pinem 14. Odstřihnutí propojky na spodní straně by mělo stačit, ale jeho odstranění také nemůže ublížit.

Můžete to zkusit zapojením zpět do počítače a zadáním

avrdude -cusbasp -pm8

I když avrdude nemůže dosáhnout cíle, mělo by to přinejmenším potvrdit nový firmware našeho programátora.

Krok 8: Odstraňování problémů

Odstraňování problémů
Odstraňování problémů

Pokud by avrdude vykazoval takovou chybu, pravděpodobně to má něco společného s funkcí automatického resetování Arduina. Abyste tomu zabránili, přidejte mezi RESET a GND Arduina kondenzátor. Obecně se doporučuje použít kondenzátor 10 µF, ale v mém případě 100 µF kondenzátor fungoval dobře.

Pokud se zobrazí chyba jako

avrdude: chyba: povolení programu: cíl neodpovídá. 1

nebo je vrácen neplatný podpis, zkontrolujte zapojení. Měl jsem problém s korozí napájecích kabelů a již nevedl elektřinu. Doporučuji předem zkontrolovat všechny propojovací vodiče.

Pokud problém přetrvává, nezapomeňte také přepnout pin 11 a pin 12 na Arduinu.

Nezapomeňte také nastavit správnou přenosovou rychlost pro Arduino jako ISP, 19200. Lze ji nastavit pomocí možnosti

-b19200

Pokud máte nějaké dotazy nebo jste narazili na chybu, dejte mi prosím vědět:)

Krok 9: TL; DR

  1. Pájejte drát přes dva kolíky na spodní straně desky
  2. Nastavte Arduino jako ISP a nezapomeňte povolit staré schéma zapojení
  3. Připojte Arduino k programátoru pomocí hlavičky ICSP
  4. Nahrajte nový firmware na programátor
  5. Odstraňte připojení ve spodní části
  6. Neodtrhávejte žádné rezistory SMD

Doporučuje: