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, Srpanj
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 je vodič posebno napisan za USBasp-klon koji se vidi na slikama, no ipak bi trebao raditi s drugima. Ožičenje je prikazano u koraku 5, postoji TL; DR na koraku 9.

Uživati!

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 ispraviti. 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

Rješenje
Rješenje
Rješenje
Rješenje
Rješenje
Rješenje

Da bismo mogli prenijeti novi firmver na ATmega8, moramo steći kontrolu nad njegovim PIN -om RESET. Obično se kratkospojnik na USBaspu može zatvoriti kako bi se omogućilo samoprogramiranje, međutim proizvođač moje ploče nije ga 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, no to je dosadno i može oštetiti vašu ploču. (Probao sam i otkinuo pull-up otpornik, ne preporučujem) 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: Voilà

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 skicom ArduinoISP na njemu. Samo da biste bili sigurni da su vam postavke iste, komentirajte redak 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čunala.

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 ide kako treba, avrdude bi trebao ispisati neke podatke o ATmega8 (osigurači, potpis itd.)

Korak 6: Bljeskanje ATmega8

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

Sastavljanje koda mi nije uspjelo, ali srećom arhiva sadrži sve prevedene programe pod

kanta/firmware

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

usbasp.atmega8.yyyy-mm-dd.hex

Uz radnu vezu s ATmega8, za njegovo bljeskanje potrebno je samo tipkanje

avrdude -cavrisp -pm8 -b19200 -P [PORT] -U bljeskalica: 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. Prerezivanje kratkospojnika na dnu trebalo bi biti dovoljno, ali ni njegovo uklanjanje ne može naštetiti.

Možete ga isprobati tako da ga ponovno priključite na računalo i upišete

avrdude -cusbasp -pm8

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

Korak 8: Rješavanje problema

Rješavanje problema
Rješavanje problema

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

Trebate li dobiti grešku poput

avrdude: error: programm enable: target ne odgovara. 1

ili ako se vrati nevažeći potpis, provjerite ožičenje. Imao sam problem s hrđanjem kablova za napajanje i nestankom struje. Preporučujem da prethodno provjerite sve žice kratkospojnika.

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

Također, svakako postavite ispravnu brzinu prijenosa za Arduino kao ISP, 19200. Može se postaviti s opcijom

-19200

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. Postavite novi firmver na programator
  5. Uklonite vezu na dnu
  6. Nemojte otkinuti SMD otpornike

Preporučeni: