arduino programmatore avr

ciao a tutti ho trovato su internet un progettino che utilizza un atmaga8l-8pu, ho letto molte discussioni ma vorrei capire tramite voi se riesco a programmare
questo cip tramite arduino usandolo come programmatore. Il progetto utilizza un file .hex
il progetto sarebbe questo http://lutz.in.hagen.de/cms/index.php/en/projects/udmx-mod/udmx-mod/menu-id-31.html
se è si , dove posso trovare una guida semplice in italiano. Calcolate che è il mio primo progetto.

Non c'è una guida in italiano ma LA guida in italiano scritta dal nostro menniti XD

http://www.michelemenniti.it/VHD/Elettronica/GPAT_v3.pdf
a te la versione 3.

spiega principalmente come mettere il bootloader ma da riga di comando carichi il tuo file .hex
magari se sono le prime volte scarica avrdude-gui così ti sarà molto più facile :wink:

EDIT:
però vusb sembra andare bene su atmega8/48 :fearful:
vediamo domani saldo la board con atmega328 e quarzo da 16MHz per usbasp

@ SL: sei sempre generoso :slight_smile:
@ salvodj: l'atmega8 è tranquillamente programmabile, in tutte le sue sub-versioni; la mia Guida al momento ti spiega come caricarci file via IDE, ma a questo si sopperisce facilmente con una riga avrdude; ciò che invece trovi di indispensabile è come collegare il micro via ISP al tuo Arduino; quindi dagli un'occhiata, realizzati i collegamenti su breadboard, poi posta il nome dello sketch e la versione di IDE che stai usando che ti preparo la riga di comando :wink:

@salvodj:
attento che il problema non è tanto programmarlo, l'Atmega8. Con la guida puoi farlo, basta passare tramite terminale ad avrdude i giusti parametri. Il problema è che questo chip non è diretto parente della linea di MCU Atmega88/168/328 per cui a livello interno ci sono delle sottili differenze per cui potresti aver problemi a scrivere codice e compilarlo usando l'IDE di Arduino.
Se quel progetto fornisce un firmware già compilato allora con la guida puoi caricarcelo sopra, se non lo fornisce, devi fare attenzione.

spiega principalmente come mettere il bootloader ma da riga di comando carichi il tuo file .hex

Ma dove?
La guida molto utile spiega principalmente l'upload di bootloader con ArduinoISP, non c'e' nessun upload di file hex con riga di comando :astonished: che tra l'altro mi interesserebbe l'upload corretto di bootloader, immagino intendessi avrdude

I parametri per usare avrdude da terminale sono pochi e sempre quelli, io personalmente credo di averli pubblicati almeno 256 volte (2^8) :stuck_out_tongue_closed_eyes:

/percorso/avrdude -C /percorso/avrdude.conf -P porta -c stk500v1 -b 19200 -U flash:w:/percorso/nomefile.hex:i -p m328p

/percorso/ è la path dove hai i vari file (dipende dal tuo SO)
-P indica la porta a cui è connesso l'Arduino. Ad esempio su Linux ho /dev/ttyACM0
-b 19200 indica la velocità di comunicazione con lo sketch ArduinoISP
-c stk500v1 è il programmatore emulato dall'ArduinoISP: stk500v1 va bene per le UNO (per le MEGA ci vuole stk500v2)
-U indica quale parte della memoria vuoi flashare. nello specifico "flash" indica la flash, ":w" vuol dire write, quindi vuoi scrivere sulla flash, ":/percordo/nomefile.hex" è il firmware compilato (lo trovi nella cartella temporanea dove Arduino IDE compila i tuoi sketch), ":i" è il formato (Intel Hex) del file.
-p m328p indica il tipo di MCU da programmare
-C indica dove trovare il fie avrdude.conf, il file di configurazone per avrdude
eventualmente puoi aggiungere "-e" per fare un'erase del chip e "-v" per la modalità "verbose" (maggiori messaggi)

leo72:
@salvodj:
attento che il problema non è tanto programmarlo, l'Atmega8. Con la guida puoi farlo, basta passare tramite terminale ad avrdude i giusti parametri. Il problema è che questo chip non è diretto parente della linea di MCU Atmega88/168/328 per cui a livello interno ci sono delle sottili differenze per cui potresti aver problemi a scrivere codice e compilarlo usando l'IDE di Arduino.
Se quel progetto fornisce un firmware già compilato allora con la guida puoi caricarcelo sopra, se non lo fornisce, devi fare attenzione.

Leo, ho controllato e nel core ci sono degli #ifndef relativi all'ATmega8 (sembra che abbia un timer diverso dagli altri chip della serie x8.
Quindi anche usando l'IDE di Arduino non dovrebbe avere problemi.

SCARICA AVRDUDE-GUI e dimentichi la linea di comando..

la linea di comando la usa chi ha problemi, chi è su linux e menniti XD

superlol:
SCARICA AVRDUDE-GUI e dimentichi la linea di comando..

la linea di comando la usa chi ha problemi, chi è su linux e menniti XD

e io :smiley:

PaoloP:
Leo, ho controllato e nel core ci sono degli #ifndef relativi all'ATmega8 (sembra che abbia un timer diverso dagli altri chip della serie x8.
Quindi anche usando l'IDE di Arduino non dovrebbe avere problemi.

Se hai controllato, allora sei a posto.
Era probabile, essendo poi l'Atmega8 il primissimo chip in assoluto usato per la prima versione dell'Arduino, che il suo supporto fosse ancora presente nel core.

superlol:
SCARICA AVRDUDE-GUI e dimentichi la linea di comando..

la linea di comando la usa chi ha problemi, chi è su linux e menniti XD

Io non uso la linea di comando, ma il terminale :wink:
E comunque il terminale lo usa chi è un gradino avanti e non si limita a cliccare sui pulsantini di un'interfaccia grafica :stuck_out_tongue: :stuck_out_tongue:

Vi ringrazio per l'aiuto che mi date ma vi volevo informare inoltre che per me è la prima volta che ho a che fare con atmega e avr quindi per il momento per me quello che dite è arabo :slight_smile: . In questo periodo sto programmando i pic della serie 18f con un programmatore comprato su internet. Adesso vi vorrei chiedere se uso un programmatore tipo questo http://www.ebay.it/itm/251101819334?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_2386wt_1396 diventerebbe tutto più semplice??

Cambia lo strumento ma non il metodo.
Con lo sketch ArduinoISP caricato su un Arduino trasformi questa schedina in un programmatore, con l'USBasp che hai linkato tu usi questo come programmatore. Alla fine devi sempre collegare il chip esterno al programmatore scelto e fare quei 2 passaggi nell'IDE.

Io ho anche un programmatore simile all'USBasp, un USBtinyISP, che però alla fine uso pochissimo.

pablos:

spiega principalmente come mettere il bootloader ma da riga di comando carichi il tuo file .hex

Ma dove?
La guida molto utile spiega principalmente l'upload di bootloader con ArduinoISP, non c'e' nessun upload di file hex con riga di comando :astonished: che tra l'altro mi interesserebbe l'upload corretto di bootloader, immagino intendessi avrdude

ciò che sl intendeva dire l'ho spiegato più chiaramente io nel post successivo :wink:
@ tutti: l'ATmega8, come ha sottolineato Leo (che peraltro è lo stesso che ha tirato fuori il problema :sweat_smile:) funziona perfettamente con la stragrande maggioranza dei firmware per Arduino (compatibilmente con la quantità di meoria), come ha dimostrato il buon BUD Pelletta che con quel micro ne ha fatte di tutti i colori; nello specifico salvo ha dichiarato che il firmware è per quel tipo di micro quindi cerchiamo di non terrorizzarlo inutilmente :stuck_out_tongue_closed_eyes:
@ salvodj: con un Topic e senza avere un minimo di idee chiare problemi NON ne risolvi; fai come ti ho detto: impara a realizzare il semplice collegamento ISP, fornisci il nome del file hex e le altre info che ti ho chiesto e ti scriviamo la riga di comando, altrimenti si fa solo un mare di parole. Ciao

ok. Oggi è in consegna breadboard e mi metto subito a lavoro. :slight_smile:

vi volevo far vedere il circuito pcb dove è presente anche una porta icsp

intanto vi allego anche il file hex , ho notato anche che è presente un file asm

dmx.rar (5 KB)

COn il connettore ICSP puoi agganciarti in modo molto semplice per programmare il chip.

Il firmware in formato hex è quello direttamente flashabile, mentre il sorgente in asm significa che è scritto in assembly (quindi non apribile con l'IDE di Arduino).

riguardo la programmazione degli atmega8 da IDE di arduino.

la cosa è fattibilissima basta scegliere dal menu board l'opzione "Arduino NG or older w/ ATmega 8".

però non è il suo caso, infatti lui ha già il codice compilato e deve fare solo l'upload sul micro

superlol:
riguardo la programmazione degli atmega8 da IDE di arduino.

la cosa è fattibilissima basta scegliere dal menu board l'opzione "Arduino NG or older w/ ATmega 8".

E' vero, non mi ricordavo di questa cosa perché per motivi di spazio ho tolto tutte le schede che non mi servono.

però non è il suo caso, infatti lui ha già il codice compilato e deve fare solo l'upload sul micro

Se il sorgente è solo quello in assembly non può compilarlo con l'IDE di Arduino.

Mi sono riletto la guida , se ho ben capito il mio cip atmega8L lo devo configurare in standalone collegandola su breadboard "ps mi è appena arrivata"
In arduino carico lo sketch ArduinoISP che mi permette di usarlo come programmatore, di seguito collegando il mio arduino alla breadboard dove c'è sopra il mio cip "ovviamente adattando il circuito presente nella guida al mio cip"
infine tramite cmd vado nella directory dov'è presente il tool avr e scrivo la riga di comando per caricare il mio file .hex , giusto oppure ho saltato qualcosa??

Poi volevo chiedervi qualcosa per quanto riguarda i collegamenti del mio cip con arduino
partendo da questo

che sarebbero le uscite pin dell'atmega8, collego arduino a quest'ultimo seguendo i collegamenti della guida giusto?

infine volevo chiedervi una cosa che non centra niente con la discussione in questione. Ho comprato un atmega 328 "già con il bootloader precarico" per caricarci sopra un sketch posso rimuovere il vecchio cip e caricargli il nuovo oppure devo seguire una guida ? su internet ho trovato questo http://www.logicaprogrammabile.it/caricare-sketch-atmega328-stand-alone/ però spiega che devo rimuove il cip su arduino e caricare lo sketch collegando il nuovo cip su breadboard.