Go Down

Topic: Besoin d aide pour réparer une board uno 16u2 et 328p (Read 2208 times) previous topic - next topic

68tjs

j'ai essayé de passer en mode dfu mais en reliant les pin 5 et 6 je crois rien ne ce passe.
Je l'ai fait une fois mais avec une UNO R2 (atmega8U2).
A l'époque c'était un vrai bord*l.
La version R3 avec le 16U2 est différente et normalement le flashage en mode DFU est plus simple.

Je pense que le site jumeau (arduino.org) est plus clair :
http://www.arduino.org/learning/tutorials/hackings/reflash-atmega-16u2

Mais dans une réponse précédente je n'avais pas donné que des conseils d'achat, j'avais aussi donné une méthode de dépannage.
On ne bouge qu'une seule chose à la fois et on règle les problèmes en série un par un.

Il me semble avoir compris que les deux micros ont été "re-traités".
Il faut séparer les variables en vérifiant les micros un par un.
Ce que je pense :
Le plus simple est de commencer par vérifier le 328p avec une interface USB/UART (usb/ttl).
Une fois que l'on sait avec certitude que le 328p est bon on passe au 16U2.

shyriu42

écoute je suis d'accord avec toi, a part le fait que je soi parti en cacahuètes je suis très rigoureux dans le dépannage mais encore une fois tous ce que vous me dites je l'ai fait ou essayé avant de faire n'importe quoi.
La méthode est claire pour passer en mode DFU mais elle ne marche pas en court circuitant les pins rien ne ce passe. Et encore une fois je suis d'accord avec toi pour procéder par ordre et je souhaite effectivement remettre en fonction le 328p mais la encore une fois montage sur breadboard liaison avec un uno avec arduinoisp cela me conduit à une erreur alors est ce que quelqu'un peux me proposer une méthode claire pour refaire fonctionner le 328p je suis prêt. j'ai juste regardé quasi tout les tutos youtube sur comment burn bootloader mais je suis devant un mur je dois surement rater quelques chose mais je ne vois pas quoi tellement ça me parait simple. Le hic c'est que chaque démarches ce soldes par un échec. WTF.

68tjs

L'info donné par fdufnews est très importante : la signature est celle d'un atmega328.
Le suffixe p de l'atmega328p signifie "picopower".
Tu n'a pas approvisionné le bon modèle. Néanmoins cela peut peut-être fonctionner mais c'est à vérifier, relis la réponse de fdufnews.

La dernière version de la doc d'avrdude que j'ai trouvé se trouve ici :
http://download.savannah.gnu.org/releases/avrdude/

Dans la ligne de commande comme celle -ci-dessous , tirée de la doc avrdude  as tu essayé de remplacer m328p par m328 ?
$avrdude -p m128 -blabla -blabla.........

Autre info trouvée sur le réseau:
avrdude 6.3 incompatible avec USBasp
https://github.com/arduino/avrdude-build-script/issues/1


chimere322

Bonjour,
Quote
A force d'essais sans succès avec Progisp sur le port ISP prêt du reset j'ai eu la bonne idée d'essayer sur l'autre port sans savoir qu'il correspondais au chip 328p et j'ai donc réussi à flash le 328p avec le .hex du 16u2 (lol)
 
Le monsieur à confondu l'isp pour le 16U2 avec l'icsp pour le 328 et dans ce cas il a tout plomber.Pour le 328, aucun soucis pour flasher le bootloader, et d'ailleurs pourquoi un bootloader est 'il obligatoire?. Perso, je flash mes programmes avec un USBtiny avec l'IDE. Maintenant si je rentre comme dit plus haut l'ISP du 16U2 dans le 328, je vais avoir de sérieux problèmes. En bref le Monsieur a fait du n'importe quoi et tout mélanger. J'ai encore des uno R2 et il fonctionnent à merveilles sous windaubes .
Cordialement Jean Claude

shyriu42

a le jugement est humain mais ne fait pas avancer les choses chimere322. Je sais que j'ai fait nawak après avoir essayé tout un tas de choses sur des tutos qui n'ont pas marché. Si tu sais comment faire je suis tout ouie.

Je voudrais remettre en état mon 328p j'essaye ça :

http://arduino-er.blogspot.fr/2015/01/use-arduino-uno-as-isp-to-burn.html et ça marche pas :









Code: [Select]
Arduino: 1.8.2 (Windows 10), Board: "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 -PCOM8 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05: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                    : COM8
         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)

Error while burning 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.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.



ou est le problème ? merci de vos réponses en tout cas c'est sympa de m'aider.

chimere322

perso, je veux bien t'aider, mais vu ce que tu as essayé de faire,c'est franchement du n'importe quoi. déjà il faut savoir ce qu'est l'ISP en comparaison avec l'ICSP. en bref reprogrammer un 16U2 et mettre un bootloader sur un 328. Tu as tous mélangé.Vu ton niveau, c'est poubelle et démarrer sur une base propre.
Cordialement Jean Claude

fdufnews

Bon déjà, le montage sur breadboard, il y a un problème.
Le quartz doit être monté directement sur les broches du processeur parce que là à l'autre bout de la carte avec de longs fils je ne pense pas qu'il va osciller à la fréquence attendue (si seulement il oscille)

shyriu42

bon j'ai refait un test de mon montage avec un 328p neuf et le bootloader a bien été gravé. y a t il moyen de récupérer ce foutu 328p ou j'ai effectivement fait n'importe quoi.

Code: [Select]
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM8 -b19200 -Uflash:w:C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/optiboot/optiboot_atmega328.hex:i -Ulock:w:0x0F: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                    : COM8
         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 = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/optiboot/optiboot_atmega328.hex"
avrdude: writing flash (32768 bytes):

Writing | ################################################## | 100% -0.00s

avrdude: 32768 bytes of flash written
avrdude: verifying flash memory against C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/optiboot/optiboot_atmega328.hex:
avrdude: load data flash data from input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/optiboot/optiboot_atmega328.hex:
avrdude: input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/optiboot/optiboot_atmega328.hex contains 32768 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% -0.00s

avrdude: verifying ...
avrdude: 32768 bytes of flash verified
avrdude: reading input file "0x0F"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.03s

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

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified

avrdude done.  Thank you.


 en ce qui concerne le quartz on peu aussi considérer que c'est bon même sir je suis aussi d'accord avec toi les composants doivent ce trouver au plus près du CI bon a part ce genre de bestiolles que je ne connait pas ça fait 30 ans que je fais des circuits électroniques.


dfgh

hello
en #19, le rapport d'erreur te dis que tu peux utiliser -F dans la ligne de commande

as tu testé?

shyriu42

oui j'ai testé mais le problème n'est pas réglé. De plus il n'est pas conseillé de le faire.

et sinon voici le debug du  composant ou ça marche pas avec le même montage.

Code: [Select]
Arduino: 1.8.2 (Windows 10), Board: "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 -PCOM8 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05: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                    : COM8
         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)

Error while burning 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.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.


Je veux bien rapprocher le quartz ou vérifier à l'oscillo qui fait le boulot mais honnétement je pense que la solution ce trouve dans la ligne de commande. y a t il un moyen de faire un erase du 328p plus en profondeurs ?

68tjs

Quote
y a t il un moyen de faire un erase du 328p plus en profondeurs ?
Oui programmeur Atmel avr Dragon en mode "High Voltage".

Mais pour le prix d'un Dragon tu peux acheter au bas mot une bonne centaine d'Atmega328p.

dfgh

meme montage mais pas meme ligne de commande

Quote
-Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:
je suis surpris de tes valeurs

en adaptant cette ligne à tes chemins,

avrdude -v  -C ..\etc\avrdude.conf -p atmega328 -c STK500v1 -P\\.\COM8\ -b 19200 -n -F

 tu devrais lire les fuses

AVRDude doit vous répondre entre autres quelque chose comme ceci:
avrdude: safemode: lfuse reads as 62
avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as 7
avrdude: safemode: Fuses OK (H:07, E:DE, L:62)

cela te permettrait de récupérer les valeurs sur un 328 ok pour ensuite les écrire dans celui qui est out

shyriu42

celui out j'ai ça :

Code: [Select]
G:\avrdude\bin>avrdude -v -Cavrdude.conf -patmega328p -cstk500v1 -PCOM8 -b19200 -n -F

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 "avrdude.conf"

         Using Port                    : COM8
         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.03s

avrdude: Device signature = 0x000000 (retrying)

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

avrdude: Device signature = 0x000000 (retrying)

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

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATmega328P is 1E 95 0F
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0

avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK (E:00, H:00, L:00)

avrdude done.  Thank you.

shyriu42

un ok  donne :


Code: [Select]
G:\avrdude\bin>avrdude -v -Cavrdude.conf -patmega328p -cstk500v1 -PCOM8 -b19200 -n -F

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 "avrdude.conf"

         Using Port                    : COM8
         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.03s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as FD

avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as FD
avrdude: safemode: Fuses OK (E:FD, H:DE, L:FF)

avrdude done.  Thank you.




et ensuite je fais quoi avec ça ?   

shyriu42

re salut..

bon j'ai changé le quartz 16 en 8 et le burn bootloader est passé nickel du premier coup donc mon 328p remarche.

recharger blink  avec une autre board  remis sur la board avec le 16u2 que j'ai foiré et la la led clignote bien donc mon 328p est de retour. Bon par contre toujours pas moyen de mettre un prog via usb de cette board.

il me faut réparer le 16u2 maintenant et la j'avoue je sais pas comment faire car avec mon programmer usb et progisp  j'ai "chip enable program error"   

Go Up