IDE ufficiale del Atmel per gli AVR non è compatibile con sistema di programmazione di Arduino, ma è possibile utilizzarlo per programmare direttamente AVR utilizzato da Arduino.
Arduino utilizza un proprio booloader via seriale RS232 (emulata via USB) per la programmazione del firmware. IDE ufficiale prevede la programmazione via ISP o per i dispositivi che lo sopportano via JTAG.
La programmazione degli AVR è ben documentata nei data sheet e application note del Atmel.
[ARDUINO] ATTINY 85 programmazione e installazione IDE
Moderatore: Paolino
23 messaggi
• Pagina 2 di 3 • 1, 2, 3
0
voti
Ottime notizie sono riuscito a programmare gli attiny85 con arduino in modalita ISP pero ho dovuto scaricare la IDE 0022. Comunque sia grazie lo stesso TardoFreak e xyz per avermi dato qualche dritta.
Alla prossima,
Mattia.
Alla prossima,
Mattia.
-
MattiaFalascina
0 3 - Messaggi: 32
- Iscritto il: 16 feb 2012, 15:52
0
voti
Salve a tutti,
avevo già precedentemente fatto una richiesta simile (come programmare un'Atmega16 attraverso Arduino e AVR Studio 5), e volevo informarvi che programmare un AVR (Atmega, Attiny o altri), usando Arduino come programmatore e AVR Studio 5 come IDE, è possibile.
Una volta collegato Arduino al PC tramite USB (con lo sketch AVRISP caricato) e collegato l'AVR da programmare ad Arduino, uso avrdude (incluso sia nell'IDE dell'Arduino, sia in AVR Studio) per programmare il device attraverso questa linea di comando (da inserire nel prompt):
Da notare che:
il parametro -p dovrà essere sostituito, nel tuo caso, con t85;
il parametro -P dovrà essere adattato in modo da specificare la porta seriale a cui è connesso Arduino (lo puoi facilmente vedere nell'IDE di Arduino);
nel parametro -U dovrà essere specificato il file HEX corrispondente al programma che vuoi flashare (es. per il file main.hex dovrà essere:
Come puoi capire, non è certamente un'operazione rapida e comoda quella di andarsi a copiare ogni volta il file HEX prodotto da AVR Studio e eseguire la linea di comando. Per questo ho creato uno script Batch da integrare con AVR Studio 5 che mi semplifica molto il lavoro.
Lo script è il seguente, modificato per il tuo AVR: (fai copia-incolla in Blocco Note, salva con estensione .bat)
Ti ricordo di cambiare la linea
Assicurati inoltre che avrdude.conf e avrdude.exe sia nella cartella dello script (o raggiungibile dal PATH di sistema se hai presente). Per comodità ti allego un file ZIP con avrdude.exe, avrdude.conf e lo script. Ti ricordo che dopo aver estratto l'archivio, dovrai comunque modificare il file t85program.bat e specificare la tua porta COM.
Adesso non ti so dire esattamente come configurare AVR Studio perché in questo momento sono sotto Ubuntu. Tra un po' passo a Windows e ti scrivo la procedura esatta, comunque se non mi ricordo male devi aggiungere un nuovo tool esterno e specificare lo script Batch che hai creato e impostare come parametro la directory del progetto\*.hex.
Aspetta 2 minuti e ti dico.
avevo già precedentemente fatto una richiesta simile (come programmare un'Atmega16 attraverso Arduino e AVR Studio 5), e volevo informarvi che programmare un AVR (Atmega, Attiny o altri), usando Arduino come programmatore e AVR Studio 5 come IDE, è possibile.
Una volta collegato Arduino al PC tramite USB (con lo sketch AVRISP caricato) e collegato l'AVR da programmare ad Arduino, uso avrdude (incluso sia nell'IDE dell'Arduino, sia in AVR Studio) per programmare il device attraverso questa linea di comando (da inserire nel prompt):
- Codice: Seleziona tutto
avrdude -p m16 -b 19200 -C avrdude.conf -c avrisp -P COM3 -U flash:w:flashmemory.hex
Da notare che:
il parametro -p dovrà essere sostituito, nel tuo caso, con t85;
il parametro -P dovrà essere adattato in modo da specificare la porta seriale a cui è connesso Arduino (lo puoi facilmente vedere nell'IDE di Arduino);
nel parametro -U dovrà essere specificato il file HEX corrispondente al programma che vuoi flashare (es. per il file main.hex dovrà essere:
- Codice: Seleziona tutto
avrdude -p t85 -b 19200 -C avrdude.conf -c avrisp -P COM3 -U flash:w:main.hex
Come puoi capire, non è certamente un'operazione rapida e comoda quella di andarsi a copiare ogni volta il file HEX prodotto da AVR Studio e eseguire la linea di comando. Per questo ho creato uno script Batch da integrare con AVR Studio 5 che mi semplifica molto il lavoro.
Lo script è il seguente, modificato per il tuo AVR: (fai copia-incolla in Blocco Note, salva con estensione .bat)
- Codice: Seleziona tutto
@echo off
echo.
echo. Attiny 85 Programmer Script for Arduino as ISP
echo.
setlocal
if "%~1"=="" goto help
echo Checking config file...
if not exist avrdude.conf goto noconf
echo Checking HEX file...
if not exist %1 goto nohex
set PORT=COM3
set BAUD=19200
if not "%2"=="" set PORT=%2
if not "%3"=="" set BAUD=%3
echo.
echo Current settings:
echo Current HEX file: %~1
echo Current port: %PORT%
echo Current baud: %BAUD%
echo.
if exist flashmemory.hex del flashmemory.hex>nul
copy %1 flashmemory.hex>nul
:prog
avrdude -p t85 -b %BAUD% -C avrdude.conf -c avrisp -P %PORT% -U flash:w:flashmemory.hex
if errorlevel 1 goto prog
if exist flashmemory.hex del flashmemory.hex
echo.
echo Programming finished, press any key to exit.
pause>nul
echo.
goto :EOF
:help
echo Use
echo. T85PROGRAM hexfile [serialport] [serialbaud]
echo.
echo hexfile HEX file name to insert to the MCU
echo serialport Serial port on where your programmer is connected
echo (default COM3)
echo serialbaud Serial baud of the transmission (default 19200)
echo.
goto end
:nohex
echo Specified HEX file doesn't exists: %~1
echo.
goto end
:noconf
echo Can't find AVRDUDE configuration file: avrdude.conf
echo.
goto end
:end
echo Press any key to exit...
pause>nul
echo.
goto :EOF
Ti ricordo di cambiare la linea
- Codice: Seleziona tutto
set PORT=COM3
Assicurati inoltre che avrdude.conf e avrdude.exe sia nella cartella dello script (o raggiungibile dal PATH di sistema se hai presente). Per comodità ti allego un file ZIP con avrdude.exe, avrdude.conf e lo script. Ti ricordo che dopo aver estratto l'archivio, dovrai comunque modificare il file t85program.bat e specificare la tua porta COM.
Adesso non ti so dire esattamente come configurare AVR Studio perché in questo momento sono sotto Ubuntu. Tra un po' passo a Windows e ti scrivo la procedura esatta, comunque se non mi ricordo male devi aggiungere un nuovo tool esterno e specificare lo script Batch che hai creato e impostare come parametro la directory del progetto\*.hex.
Aspetta 2 minuti e ti dico.
- Allegati
-
- t85program.zip
- (199.37 KiB) Scaricato 137 volte
0
voti
Allora, piccola premessa: io sto usando AVR Studio 5, e quindi la procedura che ti sto per elencare funziona su AVR Studio 5, anche se credo che tra AVR Studio 4 (che penso sia quello tu abbia) e AVR Studio 5, non ci sia molta differenza.
Su AVR Studio 5, per incorporare lo script, ho fatto così:
Vai sul menù Tools > External Tools...
Nella finestra che si apre aggiungi un nuovo strumento esterno facendo click su Add e inserisci i seguenti parametri (senza le virgolette):
Title: "Program Attiny85"
Command: premi sul pulsante "..." e seleziona lo script Batch t85program.bat.
Arguments: "$(ProjectDir)Debug\*.hex"
Initial directory: qui devi prendere il percorso (solo il percorso) dal valore della casella Command, cioè: se per esempio nella casella Command c'è scritto
Lascia il resto com'è e fai Ok.
Ora, quando crei un progetto, dopo averlo compilato, vai sul menù Tools e seleziona Program Attiny85.
Se non ci sono problemi la programmazione dovrebbe andare a buon fine. Se ti dà qualche tipo di errore fammi sapere così ti posso aiutare.
Nota: ricordati di compilare il progetto prima di usare il comando, se non lo compili, viene flashata l'ultima compilazione eseguita.
Spero che tutto funzioni e di esserti stato d'aiuto
Su AVR Studio 5, per incorporare lo script, ho fatto così:
Vai sul menù Tools > External Tools...
Nella finestra che si apre aggiungi un nuovo strumento esterno facendo click su Add e inserisci i seguenti parametri (senza le virgolette):
Title: "Program Attiny85"
Command: premi sul pulsante "..." e seleziona lo script Batch t85program.bat.
Arguments: "$(ProjectDir)Debug\*.hex"
Initial directory: qui devi prendere il percorso (solo il percorso) dal valore della casella Command, cioè: se per esempio nella casella Command c'è scritto
- Codice: Seleziona tutto
C:\Utenti\Giacky98\Desktop\attiny85\t85program.bat
- Codice: Seleziona tutto
C:\Utenti\Giacky98\Desktop\attiny85
Lascia il resto com'è e fai Ok.
Ora, quando crei un progetto, dopo averlo compilato, vai sul menù Tools e seleziona Program Attiny85.
Se non ci sono problemi la programmazione dovrebbe andare a buon fine. Se ti dà qualche tipo di errore fammi sapere così ti posso aiutare.
Nota: ricordati di compilare il progetto prima di usare il comando, se non lo compili, viene flashata l'ultima compilazione eseguita.
Spero che tutto funzioni e di esserti stato d'aiuto
0
voti
Complimenti per la trovata! ..... comunque sia per il momento gli attiny85 li programmo con arduino e la sua ide e devo dire che una cavolata, ma cio non toglie che appena avro tempo provero anche con il tuo metodo.
-
MattiaFalascina
0 3 - Messaggi: 32
- Iscritto il: 16 feb 2012, 15:52
0
voti
Ho appena scritto un articolo su questo:
viewtopic.php?f=15&t=33742
Inoltre per la programmazione di un ATMega usando arduino leggi questa guida, è in italiano :)
http://www.michelemenniti.it/VHD/Elettr ... PAT_v3.pdf
viewtopic.php?f=15&t=33742
Inoltre per la programmazione di un ATMega usando arduino leggi questa guida, è in italiano :)
http://www.michelemenniti.it/VHD/Elettr ... PAT_v3.pdf
0
voti
Certo, lo so che programmare attraverso l'IDE di Arduino con tutte le librerie e funzioni già fatte è comodo, ma non da soddisfazione... non so se mi spiego A me non piace la pappa pronta, e programmare un AVR "per davvero", mettendo le mani su tutti quei registri e costanti e compagnia bella, dà molta soddisfazione
0
voti
sono perfettamente d'accordo con te mi sono avvicinato al mondo dei microcontrollori da poco quindi sto ancora muovendo i " primi passi " , leggo continuamente guide e discussioni che possono tornarmi untili, quindi per il momento sto ancora imparando cio non toglie che prima o poi mi piacerebbe imparare a fare cose un piu complesse, ma il mio grande limite è l' elettronica, avvero capire perché si fa quel determinato circuito e come si arriva a cancepirlo non parlo di circuiti complessi ma di circuiti semplici ... a tal proposito mi piacerebbe avere qualche consiglio su l'acquisto di qualche buon libro per partire bene con l'elettronica, premetto anche che sono uno studente dell' itis al 4° anno "faccio elettronica " da un anno e mezzo quasi ma per diversi motivi non riesco a comprenderla del tutto un per colpa mia un po perché(a mio parere) nella mia scuola si fa troppa teoria e poca pratica ovvero tante chiacchiere e niente di concreto per quanto riguarda l'elettronica.
-
MattiaFalascina
0 3 - Messaggi: 32
- Iscritto il: 16 feb 2012, 15:52
0
voti
giacky98 ha scritto:Certo, lo so che programmare attraverso l'IDE di Arduino con tutte le librerie e funzioni già fatte è comodo, ma non da soddisfazione... non so se mi spiego A me non piace la pappa pronta, e programmare un AVR "per davvero", mettendo le mani su tutti quei registri e costanti e compagnia bella, dà molta soddisfazione
Puoi dirlo forte
23 messaggi
• Pagina 2 di 3 • 1, 2, 3
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 3 ospiti