Cuprins:

Cum să actualizați firmware-ul pe o clonă USBasp ieftină: 9 pași
Cum să actualizați firmware-ul pe o clonă USBasp ieftină: 9 pași

Video: Cum să actualizați firmware-ul pe o clonă USBasp ieftină: 9 pași

Video: Cum să actualizați firmware-ul pe o clonă USBasp ieftină: 9 pași
Video: Cum faci UPDATE DE FIRMWARE pe un DVR DAHUA, de pe un stick USB 2024, Noiembrie
Anonim
Cum să actualizați firmware-ul pe o clonă USBasp ieftină
Cum să actualizați firmware-ul pe o clonă USBasp ieftină

Acesta este un mic ghid pentru a clipi un nou firmware pe o clonă USBasp ca a mea. Acest ghid este scris special pentru clona USBasp văzută în imagini, totuși ar trebui să funcționeze în continuare cu alții. Cablajul este prezentat la pasul 5, există un TL; DR la pasul 9.

Bucurați-vă!

Pasul 1: problema

Problema
Problema
Problema
Problema

Avrdude îmi spune că programatorul pe care îl folosesc are un firmware depășit. Jumperul normal pentru auto-programare nu există pe placa mea. Iată cum să remediați acest lucru. Schemele pentru USBasp pot fi găsite la fischl.de.

Pasul 2: Materiale necesare

Vei avea nevoie…

  • Un fier de lipit
  • Un Arduino (de preferință Nano)
  • Unele fire jumper
  • Un PC cu Arduino IDE și avrdude instalat

Pasul 3: Soluția

Soluția
Soluția
Soluția
Soluția
Soluția
Soluția

Pentru ca noi să intermitem un nou firmware pe ATmega8, trebuie să obținem controlul pinului RESET. În mod normal, un jumper pe USBasp poate fi închis pentru a permite auto-programarea, totuși producătorul plăcii mele nu a inclus unul.

Pe ATmega8, pinul RESET este pinul 29, al patrulea pin din partea superioară din stânga. Este conectat la un rezistor de tracțiune de 10k la 5V. Trebuie să-l conectăm la pinul 5 al antetului ICSP.

Am putea încerca să lipim un fir direct pe rezistor sau pinul în sine, totuși este obositor și vă poate deteriora placa. (Am încercat-o și am rupt rezistența de tragere, nu o recomand) De asemenea, există o modalitate mult mai ușoară!

Deși producătorul nu a inclus un jumper real pentru a permite auto-programarea, el a pus un antet sub microcontroler. Putem pur și simplu să lipim un fir și …

Pasul 4: Voilà

Voilà!
Voilà!

Am conectat cei doi pini de resetare! Cele două găuri de pe partea inferioară conectează pinul 29 și pinul 14 al microcontrolerului.

Pasul 5: Configurarea Arduino

Pentru a bloca noul firmware pe programator, avem nevoie de un alt programator, în acest caz un Arduino cu schița ArduinoISP pe el. Doar pentru a vă asigura că configurarea dvs. este aceeași, vă rugăm să decomentați linia 81

// #define USE_OLD_STYLE_WIRING

Acum conectați Arduino cu antetul ICSP de pe programatorul dvs.

Arduino USBasp

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

USBasp rămâne deconectat de la computer.

Deschideți un terminal și tastați

avrdude -cavrisp -pm8 -b19200 -P [Numărul portului dvs. merge aici, ar trebui să fie același ca în IDE Arduino]

Dacă totul merge bine, avrdude ar trebui să imprime câteva informații despre ATmega8 (siguranțe, semnătură etc.)

Pasul 6: intermitent ATmega8

Pentru a bloca cipul, mai avem nevoie de firmware. Accesați fisch.de și descărcați cea mai nouă versiune. Extrageți arhiva și navigați la aceasta folosind shell-ul.

Compilarea codului nu a funcționat pentru mine, dar din fericire arhiva conține toate programele compilate

bin / firmware

Aici ar trebui să vedeți trei fișiere.hex. Alegeți-l pe cel cu același nume ca și cipul dvs. Programatorul meu folosește un ATmega8, așa că am ales

usbasp.atmega8.yyyy-mm-dd.hex

Cu o conexiune funcțională la ATmega8, intermitentul ar trebui să necesite doar tastarea

avrdude -cavrisp -pm8 -b19200 -P [PORT] -U flash: w: [fișier hexagonal]

Dacă totul a fost făcut corect, avrdude ar trebui să scrie și să verifice firmware-ul selectat.

Pasul 7: Asigurați-vă că programatorul funcționează

Asigurarea funcționării programatorului
Asigurarea funcționării programatorului

Pentru a utiliza din nou USBasp ca programator, trebuie să îndepărtăm conexiunea dintre pinul 29 și pinul 14. Tăierea jumperului de pe partea inferioară ar trebui să fie suficientă, totuși îndepărtarea acestuia nu poate afecta niciuna.

Puteți încerca conectându-l din nou la computer și tastând

avrdude -cusbasp -pm8

Chiar dacă avrdude nu poate atinge ținta, ar trebui cel puțin să recunoască noul firmware al programatorului nostru.

Pasul 8: Depanare

Depanare
Depanare

Dacă avrdude arată o astfel de eroare, probabil că are ceva de-a face cu funcția de resetare automată a Arduino. Pentru a ocoli acest lucru, vă rugăm să adăugați un condensator între RESET și GND al Arduino. În general, se recomandă utilizarea unui condensator de 10µF, cu toate acestea, în cazul meu, un condensator de 100µF a funcționat foarte bine.

Dacă aveți o eroare de genul

avrdude: eroare: program enable: target nu răspunde. 1

sau se restituie o semnătură nevalidă, vă rugăm să verificați cablajul. Am avut o problemă cu cablurile de alimentare ruginite și nu mai conduc electricitatea. Vă recomandăm să verificați în prealabil toate firele jumperului.

De asemenea, asigurați-vă că comutați pinul 11 și pinul 12 pe Arduino, dacă problema persistă.

De asemenea, asigurați-vă că setați rata de transmisie corectă pentru Arduino ca ISP, 19200. Poate fi setată cu opțiunea

-b19200

Dacă aveți întrebări sau ați observat o greșeală, vă rugăm să ne anunțați:)

Pasul 9: TL; DR

  1. Lipiți un fir peste cei doi pini de pe partea de jos a plăcii
  2. Configurați un Arduino ca ISP, asigurându-vă că activați schema de cablare veche
  3. Conectați Arduino la programator prin antetul ICSP
  4. Introduceți noul firmware pe programator
  5. Scoateți conexiunea din partea de jos
  6. Nu smulgeți rezistențe SMD

Recomandat: