Go Down

Topic: Arduino usato come ISP AVR (Read 5156 times) previous topic - next topic

BrainBooster

La basetta a parte che dici dovrebbe avere un minimo di componenti sù per l'atmega e un ftdi per la connessione al pc.
Praticamente un arduino con textool :)

giangi72

Si e no  :)

I componenti aggiuntivi costano veramente 2 soldi e come programmatore continuerei ad usare l'arduino.
In aggiunta userei l'ide o direttamente avrdude da linea di comando (a sapere come si fa :~)

lesto


Ho lanciato il comando segnalato ed ho avuto un errore sulla porta, non riusciva ad aprirla.
Ho lanciato quindi il comando
Quote
avrdude -p m328p -P com3 -c avrisp -b 19200

ed ho ottenuto il seguente risultato
Quote
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9406
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
         Double check chip, or use -F to override this check.

avrdude done.  Thank you.

Domanda stupida: E ora?

Grazie


stai usando questa guida?
http://arduino.cc/en/Tutorial/ArduinoISP
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

giangi72

Si, ho usato lo schema "Circuit (targeting an AVR on a breadboard)" sia il primo che il secondo e poi ho usato anche quello a questa pagina http://jimsmindtank.com/using-the-arduinoisp-sketch-part-1/

lesto

e che errore ti da usando il metodo del link?
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

giangi72

Quote
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
Double check chip, or use -F to override this check.

Poi ho lanciato il comando
avrdude -p m328p -P com3 -c avrisp -b 19200
ed ho avuto la risposta
Quote
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9406
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
         Double check chip, or use -F to override this check.

avrdude done.  Thank you.

Per questo chiedevo come continuare anche da riga di comando

lesto

avrdude -F -p m328p -P com3 -c avrisp -b 19200
ma sei sicuro del comando? è molto simile(se non lo stesso) a quello usato per programmare il bootloader usando solo il chip FTDI...

io ricontrollerei anche i collegamenti
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

leo72

Ma quel comando mi pare che non faccia nulla, oltretutto.
Il parametro "p" imposta il microcontrollore, "P" la porta da usare, "c" il programmatore e "b" la velocità in baud.
E poi? Nel senso che ti manca il parametro "U" per programmare i fuse o il nuovo firmware.

giangi72

Il comando è quello (senza -F che in questo momento non serve perchè sta solo leggendo).

Espandendolo tramite help leggo
-p m328p =  -p <partno>                Required. Specify AVR device.
-P com3 = -P <port>                  Specify connection port.
-c avrisp = -c <programmer>            Specify programmer type.
-b 19200 = -b <baudrate>              Override RS-232 baud rate.

Quindi non ci sono scritture, solo letture ed, infatti, ottengo il risultato sperato: il device signature.
Lui dice "Expected signature for ATMEGA328P is 1E 95 0F" ed invece ottiene "Device signature = 0x1e9406"




giangi72

Leo72 mi ha preceduto di qualche secondo :)

Quel comando non mi serve per programmare, mi è stato consigliato da Fabio Varesano per controllare il chip e vedere che device signature ha e osa si aspetta

giangi72

Questo fine settimana ho fatto diverse prove.
La cosa più importante è che facendo delle prove di scrittura sul chip come
avrdude -p m328p -P com3 -c avrisp -b 19200 -F -B 3 -U lock:w:0x3f:m
ottengo errori
Quote
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9406
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: reading input file "0x3f"
avrdude: writing lock (1 bytes):

Writing |                                                    | 0% 0.00s ***failed;
Writing | ################################################## | 100% 0.13s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3f:
avrdude: load data lock data from input file 0x3f:
avrdude: input file 0x3f contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x3f != 0x00
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Quindi la scrittura è fallita

giangi72

Per la cronaca il chip che sto cercando di programmare è un ATMega 168P-20PU come leggo sul chip stesso

lesto

e allora per forza che non va, gli dici che è un 328p!
(con il comando -p m328p)
nella pagina del bitbang ci sono i codici per gli altri modelli come il tuo :)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

giangi72

Scusate ho scritto una ca...volata per la fretta.
Il chip che tento di programmare è un ATMega 328P-PU sul chip stesso è anche scritto un 1043.
L'arduino duemilanove che sto usando ha su un chip ATMega 168P-20PU con il numero 1016

lesto

ah ok, comunque a occhio c'è un'errore di comunicazione, se vedi quello che sei andato a scrivere è il bit di lock.. e comunque risulta sabgliato sul chip (0X00 anzichè 0x3f)
ricontrolla i collegamenti e vedi se per caso il 328 è stato bloccato contro le scritture... ma sicuro che non sia fritto?
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy