Obsah:

Ako aktualizovať firmvér na lacnom klone USBasp: 9 krokov
Ako aktualizovať firmvér na lacnom klone USBasp: 9 krokov

Video: Ako aktualizovať firmvér na lacnom klone USBasp: 9 krokov

Video: Ako aktualizovať firmvér na lacnom klone USBasp: 9 krokov
Video: How to update any Samsung TV via USB 2024, Júl
Anonim
Ako aktualizovať firmvér na lacnom klone USBasp
Ako aktualizovať firmvér na lacnom klone USBasp

Toto je malý návod na prenos nového firmvéru na klon USBasp, ako je ten môj. Táto príručka je napísaná špeciálne pre klon USBasp zobrazený na obrázkoch, napriek tomu by mal fungovať aj s inými. Zapojenie je zobrazené v kroku 5, v kroku 9 je TL; DR.

Užite si to!

Krok 1: Problém

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

Avrdude mi hovorí, že programátor, ktorý používam, má zastaraný firmvér. Normálny jumper pre vlastné programovanie na mojej doske neexistuje. Tu je postup, ako to opraviť. Schémy pre USBasp nájdete na fischl.de.

Krok 2: Potrebný materiál

Budete potrebovať…

  • Spájkovačka
  • Arduino (najlepšie Nano)
  • Niektoré prepojovacie vodiče
  • Počítač s nainštalovaným Arduino IDE a avrdude

Krok 3: Riešenie

Riešenie
Riešenie
Riešenie
Riešenie
Riešenie
Riešenie

Aby sme mohli na ATmega8 flashovať nový firmvér, musíme získať kontrolu nad jeho pinom RESET. Normálne je možné prepojku na zariadení USBasp zavrieť, aby sa umožnilo samočinné programovanie, výrobca mojej dosky ho však neuviedol.

Na ATmega8 je kolík RESET pin 29, štvrtý kolík zhora zľava. Je pripojený k 10k pull-up odporu na 5V. Musíme ho pripojiť k pinu 5 hlavičky ICSP.

Mohli by sme skúsiť spájkovať drôt priamo na odpor alebo samotný kolík, je to však únavné a môže to poškodiť vašu dosku. (Skúsil som to a odtrhol pull-up odpor, neodporúčam) Tiež existuje oveľa jednoduchší spôsob!

Napriek tomu, že výrobca neuviedol skutočný prepojovací kábel, ktorý by umožňoval automatické programovanie, umiestnil záhlavie pod mikrokontrolér. Jednoducho môžeme spájkovať drôt a …

Krok 4: Voilà

Voilà!
Voilà!

Pripojili sme dva resetovacie kolíky! Dva otvory v spodnej časti spájajú kolík 29 a kolík 14 mikrokontroléra.

Krok 5: Nastavenie Arduina

Na flashovanie nového firmvéru na programátor potrebujeme ďalší programátor, v tomto prípade Arduino a na ňom skicu ArduinoISP. Aby ste sa uistili, že je vaše nastavenie rovnaké, odošlite prosím komentár na riadok 81

// #define USE_OLD_STYLE_WIRING

Teraz pripojte Arduino k hlavičke ICSP na svojom programátore.

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 zostane odpojený od počítača.

Otvorte terminál a napíšte

avrdude -cavrisp -pm8 -b19200 -P [Tu je uvedené vaše číslo portu, malo by byť rovnaké ako v Arduino IDE]

Ak je všetko v poriadku, avrdude by mal vytlačiť niekoľko informácií o ATmega8 (poistky, podpis atď.)

Krok 6: Flashovanie ATmega8

Na flashovanie čipu stále potrebujeme firmvér. Prejdite na stránku fisch.de a stiahnite si najnovšiu verziu. Rozbaľte archív a prejdite naň pomocou shellu.

Kompilácia kódu mi nevyšla, ale našťastie archív obsahuje všetky skompilované programy pod

bin/firmvér

Tu by ste mali vidieť tri súbory.hex. Vyberte ten, ktorý má rovnaké meno ako váš čip. Môj programátor používa ATmega8, tak som si vybral

usbasp.atmega8.rrrr-mm-dd.hex

S funkčným pripojením k ATmega8 by blikanie malo vyžadovať iba písanie

avrdude -cavrisp -pm8 -b19200 -P [PORT] -U blesk: w: [hex súbor]

Ak bolo všetko vykonané správne, avrdude by mal zapísať a overiť vybraný firmvér.

Krok 7: Zaistite, aby programátor fungoval

Zaistite, aby programátor fungoval
Zaistite, aby programátor fungoval

Aby sme mohli USBasp znova použiť ako programátor, musíme odstrániť prepojenie medzi pinom 29 a pinom 14. Odstrihnutie prepojky na spodnej strane by malo stačiť, ale jeho odstránenie tiež nemôže uškodiť.

Môžete to vyskúšať tak, že ho zapojíte späť do počítača a napíšete

avrdude -cusbasp -pm8

Aj keď avrdude nemôže dosiahnuť cieľ, malo by to aspoň potvrdiť nový firmvér nášho programátora.

Krok 8: Riešenie problémov

Riešenie problémov
Riešenie problémov

Ak by avrdude ukazoval takúto chybu, pravdepodobne to má niečo do činenia s funkciou automatického resetovania Arduina. Aby ste tomu zabránili, pridajte kondenzátor medzi RESET a GND Arduina. Všeobecne sa odporúča použiť 10 µF kondenzátor, v mojom prípade však 100 µF kondenzátor fungoval dobre.

Ak sa vám zobrazí chyba ako

avrdude: chyba: povolenie programu: cieľ neodpovedá. 1

alebo sa vráti neplatný podpis, skontrolujte svoje zapojenie. Mal som problém s tým, že mi hrdzavili napájacie káble a už nevedú elektrický prúd. Odporúčam vopred skontrolovať všetky prepojovacie vodiče.

Ak problém pretrváva, nezabudnite prepnúť kolíky 11 a 12 na zariadení Arduino.

Nezabudnite tiež nastaviť správnu prenosovú rýchlosť pre Arduino ako ISP, 19200. Je možné ju nastaviť pomocou možnosti

-b19200

Ak máte otázky alebo ste zistili chybu, dajte nám vedieť:)

Krok 9: TL; DR

  1. Spájkujte drôt cez dva kolíky v spodnej časti dosky
  2. Nastavte Arduino ako ISP a uistite sa, že povolíte starú schému zapojenia
  3. Pripojte Arduino k programátoru cez hlavičku ICSP
  4. Nahrajte nový firmvér do programátora
  5. Odstráňte pripojenie v spodnej časti
  6. Neodstraňujte žiadne rezistory SMD

Odporúča: