Aiuto bootloader

Salve a tutti

come sara capitato a tutti (credo) ho finito il mio progetto e volendo usare la mega in mio possesso per altri progettini ho preso un ATmega328P U (???) e un Cp2021 per poterlo programmare comodamente da usb

leggo e rileggo la guida dell? ing Menniti e si comincia...
pin 1 ---> Condensatore ceramico 100nF ---> DTR
pin 2 ----> tx cp2021
pin3 ----> rx
pin 7 ----> vcc
pin8 ----> gnd
pin9 ----> oscillatore----> 22pF ----> gnd
pin10 ----> oscillatore ----> 22pF ----> gnd
pin20 ----> vcc
pin 22 ----> gnd

ora qui partono i dubbi...

  1. esattamente che board devo caricare?
  2. posto che il perogrammatore è stato installato che devo mettere nell'IDE ?

ho fatto varie prove (invertire tx e rx, provare cn varie board e vari programmatori compreso 'BusPirate as isp' che credo sia il cp2021 appena instalato....)
ma il risultato è piu o meno sempre lo stesso:
Arduino:1.8.4 (Windows 10), Scheda:"Arduino/Genuino Uno"

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03
Errore durante la scrittura del bootloader

Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"
sono due gg che ci combatto e sinceramente ho finito le idee....

qualcuno sa darmi qualche 'dritta' ?

Allora, prima di tutto hai comprato un chip con o senza bootloader precaricato?
Parti dal presupposto che ti manca la resistenza di pullup da 10kohm su reset.
detto questo tutto dipende se HA o NON HA il bootloader precaricato. Senza questo dato parliamo di aria fritta.
PS: ricorda che il pintx dell'atmega va con l'rx del 2021... ma se non ha il bootloader caricato te ne fai il brodo per il momento del cp2021. :smiley:

anzitutto grazie della risposta...

la res da 10k c'è ho dimenticato di scriverla xD
in assenza di di informazioni da parte del venditore non so se vi sia precaricatoil bootloader. l'unica cosa che posso dire con certezza è che la sigla stampigliata "ATmega328P U"
perdona l'ignoranza ma quel modulino non serve esattamente a questo? caricare il bootloader in ATmega vergini ?

cmq ho provato anche con il metodo su breadboard segnalato nella guida ma nulla....

Arduino:1.8.4 (Windows 10), Scheda:"Arduino/Genuino Uno"

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

Errore durante la scrittura del bootloader

Gli ATmega328P quando escono dalla fabbrinca sono, ovviamnete, senza bootloader. Alcuni venditori ce lo caricano loro e li vendono, con un leggero sovrapprezzo, specificando che il bootloader è precaricato.

Verifica qundi ciò che hai comprato se è un ATmega328P vergine o uno con bootloader precaricato.

Se NON c'è il bootloader (che si può caricare SOLO con programmazione ISP e non certo via seriale/usb), devi avere un programmatore ISP o un secondo Arduno da utilizzare come programmatore ISP seguendo ALLA LETTERA la guida di Menniti che trovi QUI. La guida è più che accurata e verificata, se non ti funziona, sei TU che stai sbagliando, quindi ... verifica ogni singolo collegamento e non dare nulla per scontato; esegui inoltre i passi esattamente come descritti.

Guglielmo

mixmax122:
perdona l'ignoranza ma quel modulino non serve esattamente a questo? caricare il bootloader in ATmega vergini ?

Quale modulino? Metti un link ...

Guglielmo

P.S.: Se invece parli di un modulo basato sul CP2102, no, quello è un adattatore USB <--> Seriale

ciao Guglielmo
questo è il modulo.
la guida dell'ing. Menniti l'ho letta completamente almeno 2 volte e l'ho seguita passo-passo
mi da:
Arduino:1.8.4 (Windows 10), Scheda:"Arduino/Genuino Uno"

avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
Errore durante la scrittura del bootloader

scheda: arduino/genuino
programmatore : Arduino as Isp

avendo una Mega 53 a Reset
52 a 19
51 a 17
50 a 18

Il modulo è un semplice modulo adattatore USB <--> Seriale quindi ... adatto a caricare i programmi SE sulla MCU è presente il bootloader, altrimenti NON serve a nulla.

Come ti ho detto, dato che la guida di Menniti è più che verificata, l'errore è sicuramente o in qualche collegamento o ... è un problema di chip, altre possibilità non ci sono ... ::slight_smile:

Guglielmo

Magari ...
... metti una foto, NITIDA, in cui si vedono BENE tutti i collegamenti ed i componenti.

Guglielmo

configurazione minima..... :confused:

Scusa è ... se ho detto una foto in cui si vedono BENE tutti i collegamenti significa una foto, dall'alto, in cui si vedono bene da dove esattamente partono i fili e dove esattamente dove arrivano ... NON un bel profilo del tutto in cui non si vede un bel nulla di utile ... ::slight_smile:

Come facciamo a verificare se ci sono errori, altrimenti ? ? ?

Guglielmo

P.S.: Presente le foto sulla guida di Menniti? Ecco ... :slight_smile:

ne avevo caricate altre ma erano tutte superiori al mega...

queste rendono meglio ?
sto cominciando a credere che il chip non sia compatibile infatti riporta la sigla ATMEGA328P U (e non PU)
in quel caso se hocompreso be e la guida devo modificare il file board.txt?( la faccenda si complica )

Vedo che hai messo un LED e presumo che sia sul pin D13 (pin 19 del integrato)
Quello all'accensione lampeggia o resta buio?
Se lampeggia c'é il bootloader.

Ciao Uwe

ciao Uwe,
esatto... pin19 ----> 1k ---- led ----> massa

si lampeggia una sola volta.

Attento che quando fai la programmazione ISP quel pin DEVE essere libero con nulla collegato (a parte il filo necessario per la programmazione) altrimenti disturbi il pin del SCK ...

Guglielmo

:o non lo sapevo !!!

mi hai illuso... xD ho provato ma il problema evidentemente nn è quello

Arduino:1.8.4 (Windows 10), Scheda:"Arduino Mini, ATmega328P"

avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
Errore durante la scrittura del bootloader

sinceramente non ho più idee, non mi resta che smontare, dormirci su e riprovare anche se non mi spiego come un metodo cosi ipercollaudato non funzioni
ho il dubbio che la mia mega, che è compatibile, magari nn permette di usare questo metodo anche se avevo capito che fosse totalmente indifferente (eccettuato lo wiring ovviamente che rispetto alla UNO riguarda i pin 50 - 53) (secondo voi se mi attacco direttamente al connettore ICSP aggiro il problema ? )
volendo prendere un programmatore esterno per flashare il bootloader, quale mi consigliereste ?

Buon di a tutti,
@ guglielmo stavo pensando... ma quando dici ALLA LETTERA intendi anche la versione Dell IDE.? devo usare luna di quelle che usa o lui o questo è indifferente?

No, anzi, usa l'ultima versione dell'IDE, la 1.8.5 che la 1.8.4 ha vari buchi; vai poi nelle impostazioni dell'IDE (preferences) e metti il segno di spunta relativamnete hai dettagli di compilazione e di upload (flag verbose) così avremo più dettagli e riporta esattamente sia la "signature" che avrdude si aspetta, sia quella che ha incontrato.

Guglielmo

ti ho letto nel pensiero..
intanto ho rifatto tutti i collegamenti...
il risultato é:

Arduino:1.8.4 (Windows 10), Scheda:"Arduino/Genuino Uno"

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude: Device signature = 0x000000 (retrying)

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

avrdude: Device signature = 0x000000 (retrying)

Errore durante la scrittura del bootloader
Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

in sintise il problema è :
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature
leggendo sul forum c'è chi parla(in inglese) di corrente... ho provato cn un regolatore esterno ma niente

p.s. con dei cavetti mi sn collegato direttamente al connettore icsp dell'Atmega

ICSP CHIP
PIN1 -------->18
PIN3 -------->19
PIN4 -------->17
PIN5 --------> 1

Hai notato che ti dice chiaramente :

avrdude: stk500_recv(): programmer is not responding

... il che significa che NON vede l'arduino che usi come programmatore, quindi .. il problema è a valle del tuo circuito, è proprio nel Arduino Mega che usi come programmatore e che NON viene visto come tale.

Quindi verifica che:

  1. la porta COMx: selezionata sia veramente quella a cui è collegato il tuo Arduino MEGA

  2. Verfica di aver installato sulla MEGA il giusto programma, ovvero ArduinoISP (scritto esattamente così, controlla bene).

  3. Verifica di aver selezionato come programmatore (Tools -> Programmer) "Arduino as ISP" e NON altro

  4. Verifica di aver selezionato solo a questo punto Arduino UNO e di fare qui il Tools -> Burn Bootloader

Guglielmo

deve essere stao un caso... perche ho riprovato varie volte e lo vede

Arduino:1.8.5 (Windows Store 1.8.10.0) (Windows 10), Scheda:"Arduino/Genuino Uno"

C:\Users\mixma\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\mixma\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\mixma\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x000000 (retrying)

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

avrdude: Device signature = 0x000000 (retrying)

Errore durante la scrittura del bootloader
Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

questo lo ottengo con 'Arduino as Isp'

ovviamente nessun'altro programmatore funziona

guiglielmo scusa se approfitto ma se prendo questo riesco a flashare il bootloader ??