Sommario:

Guida alla masterizzazione del bootloader Atmega328P-PU (Optiboot): 12 passaggi
Guida alla masterizzazione del bootloader Atmega328P-PU (Optiboot): 12 passaggi

Video: Guida alla masterizzazione del bootloader Atmega328P-PU (Optiboot): 12 passaggi

Video: Guida alla masterizzazione del bootloader Atmega328P-PU (Optiboot): 12 passaggi
Video: How to Burn Boot loader on ATMEGA328 Using Arduino 2024, Dicembre
Anonim
Guida alla masterizzazione del bootloader Atmega328P-PU (Optiboot)
Guida alla masterizzazione del bootloader Atmega328P-PU (Optiboot)

Ancora un altro bootloader Atmega che brucia giude. Ma questa volta scommetto che al primo tentativo ci riuscirai!!

Questo è il tutorial sulla masterizzazione del bootloader di Nick Gammons per le schede Arduino.

Passaggio 1: poche parole

Poche parole
Poche parole

Il microcontrollore Atmega328P-PU è uno dei chip Arduino più popolari che vengono utilizzati in una vasta gamma in tutto il mondo. Ma soprattutto le ossa nude Atmega fa ancora ciò che può fare lo standard Uno R3. Il motivo principale per cui amo questo microcontrollore è la modalità "Low Power". Ho scritto alcuni nuovi schizzi per alcuni sensori e li sto testando da un po' di tempo.

Qualche anno fa, quando ho iniziato a giocare con Arduino, il mio primo ordine è stato un microcontrollore Atmega328P. Più tardi mi sono reso conto che quelli che ho ordinato da Aliexpress sono chip vuoti. Le fiches sono molto economiche su Ali, le puoi acquistare a partire da 1,40$. Ma non hanno contenuto il Bootloader Uno (Optiboot) e senza di esso non ho potuto caricare nessuno schizzo. Pausa dura ah??!! È stata una doccia davvero fredda per me……. Quindi stavo cercando un modo per masterizzare il bootloader nei chip. Ho provato 5 o 6 metodi, ma senza fortuna. Dopo una settimana ho trovato un argomento su un forum di un sito Web che menzionava il tutorial sulla masterizzazione del bootloader di Nick Gammon. Primo tentativo e SUCCESSO!!:D Ora ti mostrerò come masterizzare facilmente il bootloader su chip Atmega328P-PU vuoti senza fare confusione nell'IDE di Arduino.

Passaggio 2: cos'è il bootloader? (Optiboot)

Il bootloader è un piccolo programma (file HEX, 0.5Kbyte) che permette di caricare gli sketch sulla memoria flash direttamente dall'IDE di Arduino. Il file HEX viene sempre eseguito prima del programma principale ed è per questo che è necessario.

Senza bootloader:

-Il microcontrollore PUO' ESSERE ancora PROGRAMMATO! (sì, è possibile), ma avresti bisogno di un programmatore AVR dedicato per farlo. E non è economico!

- Non può essere programmato tramite l'IDE Arduino.

Bootloader supportati di questo metodo:

Atmega8 (1024 byte)

Atmega168 Optiboot (512 byte)

Atmega328 Optiboot (per Uno ecc. a 16 MHz) (512 byte)

Atmega328 (8 MHz) per Lilypad ecc. (2048 byte)

Atmega32U4 per Leonardo (4096 byte) Atmega1280 Optiboot (1024 byte)

Atmega1284 Optiboot (1024 byte)

Atmega2560 con correzioni per il problema del timer watchdog (8192 byte)

Atmega16U2 - il bootloader sul chip dell'interfaccia USB di Uno

Atmega256RFR2 - il bootloader della tavola Pinoccio Scout

Il codice per i seguenti bootloader è incorporato nello sketch e verrà scaricato a seconda della firma rilevata.

Quindi abbiamo tutto ciò di cui abbiamo bisogno.

Passaggio 3: Master Arduino Sketches

Maestro di schizzi Arduino
Maestro di schizzi Arduino
Maestro di schizzi Arduino
Maestro di schizzi Arduino
Maestro di schizzi Arduino
Maestro di schizzi Arduino

Prima di tutto hai bisogno della libreria arduino.

Scaricalo da qui:

Oppure scaricalo da qui.

Dopo averlo scaricato, estrailo nella cartella delle librerie Arduino e cerca Board Programmer. Aprilo ed esegui Board Programmer.ino.

Passaggio 4: la configurazione dell'hardware

La configurazione dell'hardware
La configurazione dell'hardware
La configurazione dell'hardware
La configurazione dell'hardware
La configurazione dell'hardware
La configurazione dell'hardware
La configurazione dell'hardware
La configurazione dell'hardware

Ci sono 3 modi per effettuare il cablaggio prima della programmazione:

- Usa lo scudo AVR ISP

- Arduino A ad Arduino B

- E il metodo breadboard

Nella foto puoi vedere come effettuare il cablaggio. Sulla breadboard non servono proprio i condensatori ceramici, ma va aggiunto il cristallo da 16Mhz.

Sto usando il mio shield AVR ISP questa volta.

L'obiettivo di questo metodo è che il programma utilizzi il monitor seriale per accedere alla memoria flash per scrivere l'Optiboot (bootloader)

Passaggio 5: la programmazione

La Programmazione!
La Programmazione!
La Programmazione!
La Programmazione!

Una volta completata la configurazione dell'hardware, esegui Board Programmer.ino!

Compila e carica sul tuo Arduino, ma non chiudere la finestra!! ne avrai bisogno:)

Il caricamento richiederà alcuni secondi.

Passaggio 6: disconnettiti

Dopo aver caricato lo schizzo, scollega l'Arduino dal PC e collega tutto se hai intenzione di farlo sulla breadboard.

Se usi lo scudo AVR, inserisci il chip Atmega nella presa ZIF e "bloccalo".

Molto importante: finché l'hardware non è configurato, il processore non deve ricevere VCC!! In questo modo rischi un danno!!

Passaggio 7: connettiti

Collegare!
Collegare!

Ok! L'hardware è impostato e tutto è a posto colleghiamo l'Arduino al PC.

Quindi apri il monitor seriale e imposta la velocità di trasmissione 115200 e vedrai questo.

Nel monitor seriale puoi vedere che Arduino è entrato in modalità di programmazione. Freddo!!:)

Poiché vogliamo programmare Uno (Atmega328P), digita una "U" nel prompt del messaggio e premi invio.

Passaggio 8: stato di programmazione

Stato di programmazione!
Stato di programmazione!

Nella finestra successiva vedrai questo.

Non usciremo o verificheremo, digita una G e premi invio!

Passaggio 9: inizia il divertimento!:)

Il divertimento inizia!:)
Il divertimento inizia!:)

Dopo aver premuto invio vedrai questo:

Cancellazione chip…Scrittura bootloader…

Commettere pagina a partire da 0x7E00 Commettere pagina a partire da 0x7E80

Commettere la pagina a partire da 0x7F00

Commettere la pagina a partire da 0x7F80

Scritto. Verifica in corso…

Nessun errore trovato.

Fusibili di scrittura …LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Byte di blocco = 0xEF Calibrazione orologio = 0x9E

Fatto.

Modalità di programmazione disattivata. Digita 'C' quando sei pronto per continuare con un altro chip…

E buona giornata!!:D Il tuo chip Atmega328P è ora pronto per caricare gli schizzi!

Questo è stato facile non è vero?:)

Passaggio 10: un nuovo chip

Se vuoi programmare un altro chip disconnetti Arduino dal tuo PC, sostituisci il chip con uno vuoto. Ricollega Arduino e ripeti i passaggi.

Se il monitor seriale non risponde dopo aver ricollegato Arduino, niente panico, chiudilo e aprine uno nuovo.

Passaggio 11: ESCLUSIONE DI RESPONSABILITÀ

NON POSSIEDO NULLA DI TUTTO QUESTO!! Tutto il merito va a Nick Gammon!!

Ho appena mostrato questo metodo in questo Instructable.

Spero che lo troverai utile.

Buona giornata.

Passaggio 12: quando accadono cose strane

Quando succedono cose strane
Quando succedono cose strane
Quando succedono cose strane
Quando succedono cose strane

Recentemente ho ricevuto questo Arduino Nano con processore Atmega328P-MU.

Quindi ho provato a caricare uno schizzo su di esso, ma non ci sono riuscito. Il processore non ha risposto a nulla con le opzioni Atmega328.

OK! Quindi forse il bootloader è danneggiato e necessita di una riscrittura. L'ho collegato con un altro arduino e ho fatto la masterizzazione del bootloader. Ancora niente……!!!!

Ok allora mi serve un freno (caffè e sigaretta)!! Come ultima possibilità ho selezionato di nuovo Arduino Uno come obiettivo. Caricamento completato:D

In questo momento ho un Nano che si comporta come un Arduino Uno. Non so perché sia successo, ma penso che sia dovuto alla firma del processore. Comunque ha davvero reso la mia giornata ed è un po' divertente:)

Consigliato: