Sommario:

Come aggiornare il firmware su un clone USBasp economico: 9 passaggi
Come aggiornare il firmware su un clone USBasp economico: 9 passaggi

Video: Come aggiornare il firmware su un clone USBasp economico: 9 passaggi

Video: Come aggiornare il firmware su un clone USBasp economico: 9 passaggi
Video: RC Modellismo Caserta - Caricabatterie bilanciatore mini game box usb 2WARRIOR B6 CPUD 100W/150W 2024, Dicembre
Anonim
Come aggiornare il firmware su un clone USBasp economico
Come aggiornare il firmware su un clone USBasp economico

Questa è una piccola guida per eseguire il flashing del nuovo firmware su un clone USBasp come il mio. Questa guida è stata scritta specificamente per il clone USBasp visto nelle immagini, tuttavia dovrebbe funzionare anche con altri. Il cablaggio è mostrato al punto 5, c'è un TL;DR al punto 9.

Divertiti!

Passaggio 1: il problema

Il problema
Il problema
Il problema
Il problema

Avrdude mi dice che il programmatore che sto usando ha un firmware obsoleto. Sulla mia scheda non esiste il normale jumper per l'autoprogrammazione. Ecco come risolverlo. Gli schemi per USBasp sono disponibili su fischl.de.

Passaggio 2: materiali necessari

Avrai bisogno…

  • Un saldatore
  • Un Arduino (preferibilmente Nano)
  • Alcuni ponticelli
  • Un PC con Arduino IDE e avrdude installati

Passaggio 3: la soluzione

La soluzione
La soluzione
La soluzione
La soluzione
La soluzione
La soluzione

Per poter eseguire il flashing del nuovo firmware sull'ATmega8, dobbiamo ottenere il controllo del suo pin RESET. Normalmente, un jumper sull'USBasp può essere chiuso per abilitare l'autoprogrammazione, tuttavia il produttore della mia scheda non ne ha incluso uno.

Su ATmega8, il pin RESET è il pin 29, il quarto pin in alto da sinistra. È collegato a una resistenza di pull-up da 10k a 5V. Dobbiamo collegarlo al pin 5 dell'intestazione ICSP.

Potremmo provare a saldare un filo direttamente sul resistore o sul pin stesso, tuttavia è noioso e può danneggiare la scheda. (L'ho provato e ho strappato il resistore di pull-up, non lo consiglio) Inoltre, c'è un modo molto più semplice!

Sebbene il produttore non abbia incluso un vero ponticello per abilitare l'autoprogrammazione, ha inserito un'intestazione sotto il microcontrollore. Possiamo semplicemente saldare un filo e…

Fase 4: Voilà

Ecco!
Ecco!

Abbiamo collegato i due pin di reset! I due fori sul fondo collegano il pin 29 e il pin 14 del microcontrollore.

Passaggio 5: configurazione di Arduino

Per eseguire il flashing del nuovo firmware sul programmatore, abbiamo bisogno di un altro programmatore, in questo caso un Arduino con lo sketch ArduinoISP su di esso. Solo per assicurarti che la tua configurazione sia la stessa, decommenta la riga 81

// #define USE_OLD_STYLE_WIRING

Ora collega Arduino con l'intestazione ICSP sul tuo programmatore.

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)

L'USBasp rimane scollegato dal PC.

Apri un terminale e digita

avrdude -cavrisp -pm8 -b19200 -P[Il tuo numero di porta va qui, dovrebbe essere lo stesso dell'IDE di Arduino]

Se tutto va bene, avrdude dovrebbe stampare alcune informazioni sull'ATmega8 (fusibili, firma, ecc.)

Passaggio 6: far lampeggiare l'ATmega8

Per flashare il chip, abbiamo ancora bisogno del firmware. Vai su fisch.de e scarica la versione più recente. Estrai l'archivio e naviga verso di esso usando la shell.

La compilazione del codice non ha funzionato per me, ma fortunatamente l'archivio contiene tutti i programmi compilati sotto

cestino/firmware

Qui dovresti vedere tre file.hex. Scegli quello con lo stesso nome del tuo chip. Il mio programmatore usa un ATmega8, quindi ho scelto

usbasp.atmega8.yyyy-mm-dd.hex

Con una connessione funzionante all'ATmega8, il lampeggio dovrebbe richiedere solo la digitazione

avrdude -cavrisp -pm8 -b19200 -P[PORTA] -U flash:w:[file esadecimale]

Se tutto è stato fatto correttamente, avrdude dovrebbe scrivere e verificare il firmware selezionato.

Passaggio 7: assicurarsi che il programmatore funzioni

Assicurarsi che il programmatore funzioni
Assicurarsi che il programmatore funzioni

Per utilizzare nuovamente l'USBasp come programmatore, dobbiamo rimuovere la connessione tra il pin 29 e il pin 14. Tagliare il ponticello sul fondo dovrebbe essere sufficiente, ma anche rimuoverlo non fa male.

Puoi provarlo ricollegandolo al PC e digitando

avrdude -cusbasp -pm8

Anche se avrdude non riesce a raggiungere l'obiettivo, dovrebbe almeno riconoscere il nuovo firmware del nostro programmatore.

Passaggio 8: risoluzione dei problemi

Risoluzione dei problemi
Risoluzione dei problemi

Se avrdude dovesse mostrare un errore come questo, probabilmente ha qualcosa a che fare con la funzione di ripristino automatico di Arduino. Per aggirare questo problema, aggiungi un condensatore tra RESET e GND dell'Arduino. In genere si consiglia di utilizzare un condensatore da 10 µF, tuttavia nel mio caso un condensatore da 100 µF ha funzionato bene.

Se dovessi ricevere un errore come

avrdude: errore: abilitazione del programma: il target non risponde. 1

o viene restituita una firma non valida, controllare il cablaggio. Ho avuto un problema con i miei cavi di alimentazione che si arrugginivano e non conducevano più elettricità. Consiglio di controllare in anticipo tutti i cavi dei ponticelli.

Assicurati anche di cambiare pin 11 e pin 12 su Arduino, se il problema persiste.

Assicurati anche di impostare la velocità di trasmissione corretta per Arduino come ISP, 19200. Può essere impostato con l'opzione

-b19200

Se avete domande o avete individuato un errore, fatemelo sapere:)

Passaggio 9: TL;DR

  1. Saldare un filo attraverso i due pin sul fondo della scheda
  2. Configura un Arduino come ISP, assicurandoti di abilitare il vecchio schema di cablaggio
  3. Collega Arduino al programmatore tramite l'intestazione ICSP
  4. Flashare il nuovo firmware sul programmatore
  5. Rimuovere la connessione sul fondo
  6. Non strappare alcun resistore SMD

Consigliato: