
Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-23 14:49

Se vuoi programmare microcontrollori AVR su Windows hai uno Studio ma su Linux abbiamo solo un Dude.
AVRDUDE è l'interfaccia della riga di comando per programmare i chip AVR, all'inizio può essere un po' difficile da configurare. In questo Instructable, configurerò AVRDUDE e creerò anche un ambiente di programmazione AVR per il terminale Linux.
Per prima cosa installerò tutto AVRDUDE e tutte le dipendenze richieste, quindi creerò uno script BASH che aiuterà nella programmazione
Passaggio 1: ottenere il compilatore e altri strumenti
In altri per programmare i chip AVR è necessario un compilatore speciale noto come gcc-avr e altri strumenti come binutils-avr, avr-libc, gdb-avr ultimo ma non meno importante avrdude.
sudo apt-get install gcc-avr binutils-avr avr-libc gdb-avr avrdude
Passaggio 2: creazione di un modello

Se apri un nuovo schizzo in arduino ottieni un modello di codice che contiene due funzioni, questo ti fa risparmiare molto tempo.
AVRDUDE utilizza C e può essere un po' fastidioso creare sempre un metodo principale ogni volta che si desidera codificare, quindi creerò un modello AVR.
tocca ~/Modelli/AVR.c
Utilizzare il comando touch per creare un file vuoto nella cartella Modelli.
vi ~/Templates/AVR.c
apri il file con il tuo editor di testo preferito, sto usando vi.
#define F_CPU 16000000L
#include #include int main(){ while(){ } return 0; }
Digita il codice sopra e salva il file. Questo codice servirà come nostro modello.
Nota: ho impostato la mia frequenza di clock come 16000000, puoi impostare la tua come qualsiasi altra frequenza forse 8000000.
Passaggio 3: crea un nuovo file
Ora abbiamo un modello per i nostri codici AVR, tutto ciò che dobbiamo fare è creare un nuovo file. Creerò un comando bash che prenderà un argomento (il nome del file), quindi creerò quel file con il modello AVR.
creiamo un file vuoto chiamato "crea"
toccare creare
cambia il permesso del file perché questo sarà uno script BASH
chmod 755 crea
Apri "crea" con il tuo editor di testo. Ora modifichiamo "crea", aggiungiamo i seguenti comandi riga per riga.
#!/bin/bash
Questo è il percorso per l'interprete per "creare" che è bash.
cp ~/Modelli/AVR.c /home/$USER
Questo copia il nostro file modello nella directory home degli utenti.
mv ~/AVR.c $1
Ricorda che ho detto che "crea" accetta un argomento, $ 1 significa che il primo argomento del nostro comando questo argomento è il nome del file previsto, l'ultima cosa che vogliamo sono più file con lo stesso nome file. Il comando rinomina il nome del file con il nostro argomento.
vi $1
Questo è facoltativo ma sarà bello aprire il nostro file, subito dopo averlo creato.
Abbiamo finito con la modifica, crealo, salvalo e chiudilo.
Ecco un esempio di creazione in azione.
./crea lampeggio.c
Questo crea un file noto come blink.c, questo file dovrebbe avere il modello di AVR.c.
Passaggio 4: corriamo
Dobbiamo creare un altro script bash noto come "run", questo script prenderà 3 argomenti (il microcontrollore avr che stiamo usando, il nome del file e il programmatore)
Prendiamolo riga per riga.
#!/bin/bash
il nostro shebang
avr-gcc -Wall -g -0s -mmcu=$1 -o $2.bin $2.c
Il comando sopra compila il nostro codice, '$1' è il nostro primo argomento che è il microcontrollore che stiamo programmando. $2 è il nostro secondo argomento che è il nome del file.
avr-objcopy -j.text -j.data -O ihex $2.bin $2.hex
Questo converte il nostro file compilato in esadecimale.
avrdude -p $1 -c $3 -U flash:w:$2.hex -P usb
Ora Avrdude masterizza il codice nel chip AVR. $3 è il nostro terzo argomento che è il programmatore che stiamo usando.
Salva il file "esegui"
dagli il permesso di esecuzione
chmod 755 eseguito
Ora proviamolo. Diciamo che vogliamo caricare blink.c e stiamo usando direttamente una scheda arduino, stiamo anche usando un programmatore usbasp. Questo è il modo in cui usiamo lo script "run".
./run atmega328p lampeggio USBasp
La scheda arduino ha un chip atmega328p, puoi usare qualsiasi microcontrollore AVR di tua scelta.
Il secondo argomento è il nome del file, ma questa volta non aggiungere l'estensione del file gestita dallo script.
Quindi abbiamo il terzo argomento che è il programmatore che stai utilizzando, sto usando un programmatore USBasp.
Passaggio 5: conclusione
Questo è un ottimo modo per automatizzare la tua esperienza di programmazione avr, puoi spostare i file bash "crea" ed "esegui" su "~/.local/bin" in modo da poter utilizzare gli script da qualsiasi directory di file di tua scelta.
Consigliato:
Arduino come ISP -- Masterizza file esadecimale in AVR -- Fusibile nell'AVR -- Arduino come programmatore: 10 passaggi

Arduino come ISP || Masterizza file esadecimale in AVR || Fusibile nell'AVR || Arduino As Programmer:………………………ISCRIVITI al mio canale YouTube per altri video……..Questo articolo è tutto su arduino come isp. Se vuoi caricare un file esadecimale o se vuoi impostare il tuo fusibile in AVR, non è necessario acquistare un programmatore, puoi farlo
Hacking EXtreme Burner per la programmazione dei dispositivi AVR Atmega: 7 passaggi

Hacking EXtreme Burner per la programmazione dei dispositivi AVR Atmega: questo è il mio primo Instructable su questo sito! Tutti voi bravi ragazzi avete postato un sacco di cose su questo sito, anche molte idee e interessi bizzarri e strani! Molti dei quali ho letto di tanto in tanto, e mi hai ispirato a restituire alla Community! Alth
USARE EXtreme Burner per la programmazione del microcontrollore AVR: 8 passaggi

UTILIZZO DI EXtreme Burner per la programmazione del microcontrollore AVR: Tutti voi fraternità di utenti AVR là fuori, e quelli che stanno appena entrando nel flusso, alcuni di voi hanno iniziato con i microcontrollori PIC e alcuni hanno iniziato con gli AVR ATMEL, questo è scritto per voi! Quindi hai acquistato un USBASP perché è economico ed efficace per eseguire il flashing del
Chip di programmazione con Arduino - ISP AVR che copre ATTiny85, ATTiny2313 e ATMega328: 3 passaggi

Chip di programmazione con Arduino - ISP AVR che copre ATTiny85, ATTiny2313 e ATMega328: l'ho trovato come una bozza di molti anni fa. È ancora utile almeno per me, quindi lo pubblicherò! Questo Instructable è una raccolta di conoscenze raccolte da tutta la rete e anche da 'nstructables. Copre la programmazione di AVR Microco
Come configurare più monitor in Linux: 6 passaggi

Come configurare più monitor in Linux: questo tutorial ti mostrerà come configurare un sistema multi-head nella maggior parte delle distribuzioni Linux, principalmente Ubuntu. si prega di notare, questo è ancora in gran parte incompiuto