Table des matières:

Guide de gravure du chargeur de démarrage Atmega328P-PU (Optiboot) : 12 étapes
Guide de gravure du chargeur de démarrage Atmega328P-PU (Optiboot) : 12 étapes

Vidéo: Guide de gravure du chargeur de démarrage Atmega328P-PU (Optiboot) : 12 étapes

Vidéo: Guide de gravure du chargeur de démarrage Atmega328P-PU (Optiboot) : 12 étapes
Vidéo: How To Burn Bootloader To Arduino Nano 2024, Juillet
Anonim
Guide de gravure du chargeur de démarrage Atmega328P-PU (Optiboot)
Guide de gravure du chargeur de démarrage Atmega328P-PU (Optiboot)

Encore un autre guide de gravure du chargeur de démarrage Atmega. Mais cette fois je parie que du premier coup tu réussiras !!

Il s'agit du didacticiel de gravure du chargeur de démarrage de Nick Gammons pour les cartes Arduino.

Étape 1: Quelques mots

Quelques mots
Quelques mots

Le microcontrôleur Atmega328P-PU est l'une des puces Arduino les plus populaires qui sont utilisées dans une large gamme partout dans le monde. Mais plus important encore, Atmega fait toujours ce que l'Uno R3 standard peut faire. La principale raison pour laquelle j'aime ce microcontrôleur est le mode "Low Power". J'ai écrit de nouveaux croquis pour quelques capteurs et je les teste depuis un certain temps maintenant.

Il y a quelques années, lorsque j'ai commencé à jouer avec Arduino, ma première commande était un microcontrôleur Atmega328P. Plus tard, j'ai réalisé que ceux que j'avais commandés chez Aliexpress étaient des puces vierges. Les chips sont très bon marché sur Ali, vous pouvez les acheter à partir de 1,40$. Mais ils n'ont pas contenu le Uno Bootloader (Optiboot) et sans lui, je ne pourrais télécharger aucun croquis. Pause difficile ha??!! C'était une douche vraiment froide pour moi ……. Je cherchais donc un moyen de graver le chargeur de démarrage dans les puces. J'ai essayé 5 ou 6 méthodes, mais sans succès. Après une semaine, j'ai trouvé un sujet sur un forum de site Web qui mentionnait le didacticiel de gravure du chargeur de démarrage de Nick Gammon. Premier essai et SUCCÈS !!:D Maintenant, je vais vous montrer comment graver le bootloader pour vider les puces Atmega328P-PU facilement sans gâcher les choses dans Arduino IDE.

Étape 2: Qu'est-ce que le Bootloader ? (Optiboot)

Le bootloader est un petit programme (fichier HEX, 0.5Kbyte) qui vous permet de télécharger des croquis dans la mémoire flash directement depuis Arduino IDE. Le fichier HEX s'exécute toujours avant le programme principal et c'est pourquoi il est nécessaire.

Sans le bootloader:

-Le microcontrôleur PEUT toujours ÊTRE PROGRAMMÉ ! (oui, c'est possible), mais vous auriez besoin d'un programmeur AVR dédié pour le faire. Et ce n'est pas bon marché !

- Il ne peut pas être programmé via l'IDE Arduino.

Chargeurs de démarrage pris en charge de cette méthode:

Atmega8 (1024 octets)

Atmega168 Optiboot (512 octets)

Atmega328 Optiboot (pour Uno etc. à 16 MHz) (512 octets)

Atmega328 (8 MHz) pour Lilypad etc. (2048 octets)

Atmega32U4 pour Leonardo (4096 octets) Atmega1280 Optiboot (1024 octets)

Atmega1284 Optiboot (1024 octets)

Atmega2560 avec des correctifs pour le problème de la minuterie de surveillance (8192 octets)

Atmega16U2 - le bootloader sur la puce d'interface USB de l'Uno

Atmega256RFR2 - le bootloader sur la carte Pinoccio Scout

Le code des chargeurs de démarrage suivants est incorporé dans l'esquisse et sera téléchargé en fonction de la signature détectée.

Nous avons donc tout ce dont nous avons besoin.

Étape 3: Arduino Sketches Master

Maître des croquis Arduino
Maître des croquis Arduino
Maître des croquis Arduino
Maître des croquis Arduino
Maître des croquis Arduino
Maître des croquis Arduino

Tout d'abord, vous avez besoin de la bibliothèque arduino.

Téléchargez-le ici:

Ou téléchargez-le ici.

Après avoir téléchargé, extrayez-le dans les bibliothèques Arduino forlder et recherchez Board Programmer. Ouvrez-le et exécutez Board Programmer.ino.

Étape 4: la configuration matérielle

La configuration matérielle
La configuration matérielle
La configuration matérielle
La configuration matérielle
La configuration matérielle
La configuration matérielle
La configuration matérielle
La configuration matérielle

Il y a 3 façons de câbler avant la programmation:

- Utilisez le bouclier AVR ISP

- Arduino A à Arduino B

- Et la méthode de la planche à pain

Sur la photo, vous pouvez voir comment câbler. Sur la maquette, les condensateurs en céramique ne sont pas vraiment nécessaires, mais le cristal 16Mhz doit être ajouté.

J'utilise mon bouclier AVR ISP cette fois.

Le but de cette méthode est que le programme utilise le moniteur série pour accéder à la mémoire flash pour écrire l'Optiboot (bootloader)

Étape 5: La programmation

La programmation !
La programmation !
La programmation !
La programmation !

Une fois la configuration matérielle terminée, exécutez Board Programmer.ino !

Compilez et téléchargez sur votre Arduino, mais ne fermez pas la fenêtre !! Vous en aurez besoin:)

Le téléchargement prendra quelques secondes.

Étape 6: Déconnectez-vous

Après avoir téléchargé le croquis, déconnectez l'Arduino de votre PC et câblez tout si vous prévoyez de le faire sur la maquette.

Si vous utilisez le blindage AVR, placez la puce Atmega dans le socket ZIF et "verrouillez-la".

Très important: Tant que le matériel n'est pas configuré, le processeur ne doit pas recevoir de VCC !! De cette façon, vous risquez un dommage !!

Étape 7: Connectez-vous

Relier!
Relier!

D'accord! Le matériel est mis en place et tout est en place nous connectons l'Arduino au PC.

Ensuite, ouvrez le moniteur série et réglez le débit en bauds 115200 et vous verrez ceci.

Dans le moniteur série, vous pouvez voir que l'Arduino est entré en mode de programmation. Frais!!:)

Puisque nous voulons programmer Uno (Atmega328P), tapez un "U" dans l'invite de message et appuyez sur Entrée.

Étape 8: État de programmation

État de programmation !
État de programmation !

Dans la fenêtre suivante, vous verrez ceci.

Nous ne quitterons pas ou ne vérifierons pas, tapez un G et appuyez sur Entrée !

Étape 9: Le plaisir commence !:)

Le plaisir commence !:)
Le plaisir commence !:)

Après avoir appuyé sur Entrée, vous verrez ceci:

Effacement de la puce …Ecriture du bootloader …

Page de validation à partir de 0x7E00Page de validation à partir de 0x7E80

Page de validation commençant à 0x7F00

Page de validation commençant à 0x7F80

Écrit. Vérification …

Aucune erreur trouvée.

Ecriture des fusibles …LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Octet de verrouillage = 0xEF Calibrage de l'horloge = 0x9E

Terminé.

Mode de programmation désactivé. Tapez « C » lorsque vous êtes prêt à continuer avec une autre puce…

Et bonne journée !!:D Votre puce Atmega328P est maintenant prête à télécharger des croquis !

C'était facile n'est-ce pas ?:)

Étape 10: Une nouvelle puce

Si vous souhaitez programmer une autre puce, déconnectez Arduino de votre PC, remplacez la puce par une vierge. Reconnectez Arduino et recommencez les étapes.

Si le moniteur série ne répond pas après avoir reconnecté l'Arduino, ne paniquez pas, fermez-le et ouvrez-en un nouveau.

Étape 11: AVIS DE NON-RESPONSABILITÉ

JE N'EN POSSÈDE AUCUN!! Tout le mérite revient à Nick Gammon !!

Je viens de montrer cette méthode dans ce Instructable.

J'espère que vous trouverez cela utile.

Bonne journée.

Étape 12: Quand des choses étranges se produisent

Quand des trucs bizarres arrivent
Quand des trucs bizarres arrivent
Quand des trucs bizarres arrivent
Quand des trucs bizarres arrivent

Récemment, j'ai reçu cet Arduino Nano avec processeur Atmega328P-MU.

J'ai donc essayé de télécharger un croquis, mais je n'ai pas pu. Le processeur n'a répondu à rien avec les options Atmega328.

D'ACCORD! Alors peut-être que le bootloader est corrompu et a besoin d'une réécriture. Je l'ai câblé avec un autre arduino et j'ai gravé le chargeur de démarrage. Toujours rien……!!!!

Bon alors, j'ai besoin d'un frein (café et cigarette) !! En dernière chance, j'ai à nouveau sélectionné Arduino Uno comme cible. Téléchargement terminé:D

En ce moment, j'ai un Nano qui agit comme un Arduino Uno. Je ne sais pas pourquoi cela s'est produit, mais je pense que c'est à cause de la signature du processeur. En tout cas ça a vraiment fait ma journée et c'est un peu marrant:)

Conseillé: