ARDUINO MEGA 2560 : Comment graver/flasher le BOOTLOADER

schema cablage uno bootloader burnjpg

Suite un problème d’upload entre mon pc et la carte Arduino MEGA 2560 j’ai eu à flasher un nouvel BOOTLOADER.

Je partage avec vous, la méthode qui m’a permis de sauver une carte Arduino

En effet le message d’erreur suite a la tentative d’envoi du firmware Marlin était le suivant :

avrdude: verification error, first mismatch at byte 0x0002          0xc1 != 0xf7

La partie du code que j’ai surlignée peut différer du vôtre.

Après plusieurs dizaines d’essais sans succès j’ai décidé de flasher le bootloader,. Ce qui a résolu mon problème. Ci-dessous, les étapes pour sa réalisation : (à utiliser en dernier recours, à vos risques et perils ;-D)

Liste des pré-requis :

  • Arduino UNO  (sert de programmeur)
  • Arduino MEGA 2560 (à programmer)
  • Fils
  • Càble usb
  • PC et logiciel Arduino

Schéma de câblage :

schema cablage uno bootloader burnjpg

Résumé du câblage :

Arduino Uno      Mega 2560  D10 (SS)           Reset
D11 (MOSI)         D51
D12 (MISO)         D50
D13 (SCK)          D52

Gnd                Gnd
+5V                +5V

Avant de connecter Arduino au PC par le câble USB il faut vérifier votre câblage.

Le câblage est bon? Passons à la suite

Télécharger ce fichiers : Arduino BOOTLOADER

Le décompresser dans le dossier « exemples » de Arduino

C:\…\arduino-1.0.5\examples

Ouvrir le logiciel ARDUINO

Connecter le câble USB à l’arduino UNO

Ouvrir le fichier Atmega_Board_Programmer.ino qui se trouve dans :

C:\…\arduino-1.0.5\examples\Atmega_Board_Programmer

Transférer

Ouvrir le Serial monitor, vous  verrez ça :

Atmega chip programmer.
Written by Nick Gammon.
Entered programming mode OK.
Signature = 0x1E 0x98 0x01
Processor = ATmega2560
Flash memory size = 262144 bytes.
LFuse = 0xFF
HFuse = 0xD8
EFuse = 0xFD
Lock byte = 0xCF
Bootloader address = 0x3E000
Bootloader length = 8192 bytes.
Type 'G' to program the chip with the bootloader ...

Ecrire G et envoyer

Voilà le résultat attendu :

Erasing chip ...
Writing bootloader ...
Committing page starting at 0x3E000
Committing page starting at 0x3E100
Committing page starting at 0x3E200
Committing page starting at 0x3E300
Committing page starting at 0x3E400
Committing page starting at 0x3E500
Committing page starting at 0x3E600
Committing page starting at 0x3E700
Committing page starting at 0x3E800
Committing page starting at 0x3E900
Committing page starting at 0x3EA00
Committing page starting at 0x3EB00
Committing page starting at 0x3EC00
Committing page starting at 0x3ED00
Committing page starting at 0x3EE00
Committing page starting at 0x3EF00
Committing page starting at 0x3F000
Committing page starting at 0x3F100
Committing page starting at 0x3F200
Committing page starting at 0x3F300
Committing page starting at 0x3F400
Committing page starting at 0x3F500
Committing page starting at 0x3F600
Committing page starting at 0x3F700
Committing page starting at 0x3F800
Committing page starting at 0x3F900
Committing page starting at 0x3FA00
Committing page starting at 0x3FB00
Committing page starting at 0x3FC00
Committing page starting at 0x3FD00
Committing page starting at 0x3FE00
Committing page starting at 0x3FF00
Written.
Verifying ...
No errors found.
Writing fuses ...
LFuse = 0xFF
HFuse = 0xD8
EFuse = 0xFD
Lock byte = 0xCF
Done.
Type 'C' when ready to continue with another chip ...

Sans oublier de remercier l’auteur de ce site en anglais qui m’a permis de débloquer la situation.

Share

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Post comment