Sadržaj:

Kako ažurirati firmver na jeftinom USBasp-klonu: 9 koraka
Kako ažurirati firmver na jeftinom USBasp-klonu: 9 koraka

Video: Kako ažurirati firmver na jeftinom USBasp-klonu: 9 koraka

Video: Kako ažurirati firmver na jeftinom USBasp-klonu: 9 koraka
Video: Chia Mining с настройкой плоттера MadMax для Windows [сборка AMD Ryzen 5 3600 для настольных ПК] 2024, Novembar
Anonim
Kako ažurirati firmver na jeftinom USBasp-klonu
Kako ažurirati firmver na jeftinom USBasp-klonu

Ovo je mali vodič za prebacivanje novog firmvera na USBasp-klon poput mog. Ovaj vodič je posebno napisan za USBasp-klon koji se vidi na slikama, ali bi i dalje trebao raditi s drugima. Ožičenje je prikazano u koraku 5, postoji TL; DR na koraku 9.

Uživajte!

Korak 1: Problem

Problem
Problem
Problem
Problem

Avrdude mi kaže da programer kojeg koristim ima zastarjeli firmver. Normalni kratkospojnik za samoprogramiranje ne postoji na mojoj ploči. Evo kako to popraviti. Sheme za USBasp mogu se pronaći na fischl.de.

Korak 2: Potrebni materijali

Trebat će vam…

  • Lemilica
  • Arduino (po mogućnosti Nano)
  • Neke kratkospojne žice
  • Računalo s instaliranim Arduino IDE -om i avrdudeom

Korak 3: Rješenje

Rjesenje
Rjesenje
Rjesenje
Rjesenje
Rjesenje
Rjesenje

Da bismo mogli prenijeti novi firmver na ATmega8, moramo steći kontrolu nad njegovim RESET pinom. Obično se kratkospojnik na USBaspu može zatvoriti kako bi se omogućilo samoprogramiranje, međutim proizvođač moje ploče ga nije uključio.

Na ATmega8, RESET pin je pin 29, četvrti pin na vrhu s lijeve strane. Spojen je na 10k pull-up otpornik na 5V. Moramo ga spojiti na pin 5 ICSP zaglavlja.

Mogli bismo pokušati lemiti žicu izravno na otpornik ili sam pin, međutim to je dosadno i može oštetiti vašu ploču. (Probao sam i otkinuo pull-up otpornik, ne preporučujem ga) Također, postoji mnogo lakši način!

Iako proizvođač nije uključio pravi kratkospojnik za omogućavanje samoprogramiranja, stavio je zaglavlje ispod mikrokontrolera. Možemo jednostavno lemiti žicu preko i …

Korak 4: Voila

Voilà!
Voilà!

Povezali smo dva pina za resetiranje! Dvije rupe na dnu povezuju pin 29 i pin 14 mikrokontrolera.

Korak 5: Postavljanje Arduina

Za prebacivanje novog firmvera na programer potreban nam je drugi programer, u ovom slučaju Arduino sa ArduinoISP skicom. Samo da biste bili sigurni da je vaše postavljanje isto, komentirajte red 81

// #definirajte USE_OLD_STYLE_WIRING

Sada povežite Arduino s ICSP zaglavljem na svom programeru.

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 ostaje isključen iz računara.

Otvorite terminal i upišite

avrdude -cavrisp -pm8 -b19200 -P [Vaš broj porta ide ovdje, trebao bi biti isti kao u Arduino IDE -u]

Ako sve prođe kako treba, avrdude bi trebao ispisati neke podatke o ATmega8 (osigurači, potpis itd.)

Korak 6: Bljeskanje ATmega8

Za fleširanje čipa još uvijek nam je potreban firmver. Idite na fisch.de i preuzmite najnoviju verziju. Izvucite arhivu i dođite do nje pomoću ljuske.

Sastavljanje koda mi nije uspjelo, ali na sreću arhiva sadrži sve kompajlirane programe pod

kanta/firmver

Ovdje biste trebali vidjeti tri.hex datoteke. Odaberite onu sa istim imenom kao i vaš čip. Moj programer koristi ATmega8, pa sam odabrao

usbasp.atmega8.yyyy-mm-dd.hex

S radnom vezom s ATmega8, za njegovo bljeskanje potrebno je samo tipkanje

avrdude -cavrisp -pm8 -b19200 -P [PORT] -U blic: w: [hex datoteka]

Ako je sve učinjeno ispravno, avrdude bi trebao napisati i provjeriti odabrani firmver.

Korak 7: Uvjerite se da programer radi

Uvjerite se da programer radi
Uvjerite se da programer radi

Da bismo ponovno koristili USBasp kao programer, moramo ukloniti vezu između pina 29 i pina 14. Rezanje kratkospojnika na dnu trebalo bi biti dovoljno, ali ni njegovo uklanjanje ne može naštetiti.

Možete ga isprobati tako da ga ponovo priključite na računar i otkucate

avrdude -cusbasp -pm8

Čak i ako avrdude ne može postići cilj, trebao bi barem priznati novi firmver našeg programera.

Korak 8: Rješavanje problema

Rješavanje problema
Rješavanje problema

Ako bi avrdude pokazao ovakvu grešku, to vjerojatno ima neke veze sa funkcijom automatskog resetiranja Arduina. Da biste to zaobišli, dodajte kondenzator između RESET i GND Arduina. Općenito se preporučuje upotreba kondenzatora od 10 μF, međutim u mom slučaju kondenzator od 100 μF radio je sasvim u redu.

Trebate li dobiti grešku poput

avrdude: greška: omogućavanje programa: cilj ne odgovara. 1

ili ako se vrati nevažeći potpis, provjerite ožičenje. Imao sam problem s time da su mi kablovi za napajanje zahrđali i više nisam provodio električnu energiju. Preporučujem da prethodno provjerite sve žice kratkospojnika.

Također, prebacite iglu 11 i pin 12 na Arduinu, ako problem potraje.

Također provjerite jeste li postavili ispravnu brzinu prijenosa za Arduino kao ISP, 19200. Može se postaviti s opcijom

-b19200

Ako imate pitanja ili ste uočili grešku, slobodno me obavijestite:)

Korak 9: TL; DR

  1. Lemite žicu preko dva igla na dnu ploče
  2. Postavite Arduino kao ISP -a, pazeći da omogućite staru shemu ožičenja
  3. Spojite Arduino na programer putem ICSP zaglavlja
  4. Umetnite novi firmver u programator
  5. Uklonite vezu na dnu
  6. Nemojte otkinuti SMD otpornike

Preporučuje se: