Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. En savoir plus.

L'installation d'un chargeur de démarrage est la première étape pour donner vie à vos projets Arduino. Il s'agit d'un logiciel qui vous aide à télécharger fréquemment et facilement des croquis Arduino sur la carte sans avoir besoin d'un équipement de programmation spécial.

Bien que cela puisse sembler sorcier, c'est en fait plus simple que vous ne le pensez, même pour les débutants. Nous allons vous montrer comment installer (ou réinstaller) facilement un bootloader sur votre carte Arduino en quelques étapes simples.

Mais d'abord, qu'est-ce qu'un bootloader sur la carte Arduino ?

Qu'est-ce qu'un chargeur de démarrage ?

Un chargeur de démarrage Arduino est un petit programme stocké dans la mémoire non volatile de la carte qui est exécuté à chaque fois que la carte est allumée, téléchargée avec un nouveau code ou réinitialisée. Chaque fois que le programme bootloader est exécuté, il initialise le matériel de la carte, puis charge l'esquisse ou le programme principal qui est stocké dans la mémoire flash de la carte.

instagram viewer

Il convient de noter que toutes les cartes Arduino sont livrées avec un chargeur de démarrage préinstallé de leurs fabricants. Vous pouvez parfois trouver des cartes avec des chargeurs de démarrage défectueux dès la sortie de la boîte. Cependant, cela arrive rarement.

Pourquoi utiliser un bootloader ?

Il existe plusieurs situations où l'utilisation d'un bootloader Arduino peut être utile. Par exemple, si vous êtes un débutant sur la plate-forme Arduino, l'utilisation d'un chargeur de démarrage peut faciliter et accélérer le téléchargement de nouveaux programmes sur votre carte. En effet, vous n'avez pas besoin d'utiliser des appareils de programmation externes, tels qu'un programmateur ou un convertisseur USB-série, pour télécharger votre code.

Si vous travaillez sur un projet qui nécessite des mises à jour fréquentes du code, vous le trouverez très utile. Dans ce cas, l'utilisation d'un chargeur de démarrage peut vous faire gagner du temps et des efforts, car vous pouvez simplement télécharger le nouveau code sur la carte sans avoir à utiliser de dispositifs de programmation externes.

De plus, si vous travaillez sur un projet qui nécessite l'Arduino être dans un état spécifique lors de sa mise sous tension, comme l'exécution d'un programme particulier, l'utilisation d'un chargeur de démarrage peut être utile. Le chargeur de démarrage vous permet de définir l'état initial de la carte afin qu'elle exécute automatiquement le programme souhaité lors de sa mise sous tension.

Enfin, il fournit un moyen de récupérer l'Arduino si l'esquisse principale est corrompue ou ne parvient pas à s'exécuter.

Pourquoi mon chargeur de démarrage est-il manquant ?

Il peut y avoir quatre raisons possibles pour lesquelles votre carte peut avoir besoin d'un nouveau chargeur de démarrage :

  1. Pas de bootloader pré-installé: Il est assez courant d'avoir de nombreux projets autonomes ATMEGA328P où vous soudez votre puce sur un PCB et faites frire la puce. Il est donc possible que vous ayez remplacé la carte par une puce sans installation préalable du chargeur de démarrage.
  2. Chargeur de démarrage remplacé: Vous auriez pu remplacer votre chargeur de démarrage par un chargeur de démarrage tiers modifié qui pourrait être corrompu.
  3. Chargeur de démarrage corrompu: C'est le scénario le moins probable. Cependant, dans certains cas, la mémoire flash Arduino peut être corrompue.
  4. Mémoire étendue: Si vous avez remplacé (flashé) l'intégralité du bootloader par votre application pour profiter des 2K restants de mémoire programme, votre bootloader est définitivement absent.

Voici ce que vous devez faire.

Installation/réinstallation du chargeur de démarrage Arduino

Les microcontrôleurs sont généralement programmés avant d'être soudés sur un PCB. Cela se fait généralement à l'aide de la programmation en système (ISP), telle que la programmation en série en circuit (ICSP), qui permet au microcontrôleur d'être programmé à l'aide d'un programmeur externe. De nombreux fabricants de microcontrôleurs, tels qu'Atmel et Microchip, fournissent un en-tête ISP sur leurs cartes à cet effet.

Utiliser une autre carte Arduino

Pour flasher le chargeur de démarrage sur un microcontrôleur ATmega328, vous devez utiliser l'en-tête ICSP sur la carte avant de pouvoir installer le chargeur de démarrage en utilisant l'autre carte comme programmeur ISP.

Lancez l'IDE Arduino, accédez à ArduinoISP comme indiqué ci-dessous, et téléchargez l'exemple de code sur la carte que vous avez l'intention d'utiliser en tant que programmeur. (Suivez le didacticiel vidéo pour le branchement du matériel).

Le code devrait ressembler à ceci juste pour que vous sachiez que vous êtes sur la bonne voie.

Du Outils onglet, allez à Programmeur puis cliquez sur Arduino comme FAI comme indiqué ci-dessous.

Enfin, à partir du Outils onglet à nouveau, cliquez sur Graver le chargeur de démarrage comme montré.

Une fois le processus terminé, la carte cible est maintenant prête à être programmée.

Utilisation d'un programmeur dédié

Il existe de nombreux dispositifs de programmation AVR disponibles pour ce type d'installation. Une bonne option que vous pouvez essayer est le programmeur de poche AVR (Windows uniquement) basé sur Dick Streefland. USB minuscule et de Limor Fried USBtinyISP. Il offre un moyen plus simple de programmer les microcontrôleurs AVR, comme ceux que l'on trouve sur les cartes Arduino. Outre le fait qu'il est alimenté par une connexion USB, c'est la meilleure option car il est compatible avec une variété de langages de programmation et de logiciels, ce qui en fait un outil polyvalent pour tout Utilisateur d'Arduino.

Vous pouvez également essayer d'autres options comme le programmeur officiel Atmel-ICE pour les microcontrôleurs ARM, surtout si vous n'êtes pas sous Windows.

Branchez la carte Arduino au programmateur et flashez le bootloader. Reportez-vous à ce didacticiel vidéo ci-dessous.

Le processus doit être simple et ne pas prendre plus de 20 secondes.

Note: La carte cible doit être correctement alimentée avant d'essayer cette méthode. Sinon, vous ne pourrez pas flasher le .hex fichier à votre cible.

Pour les utilisateurs expérimentés, il existe un moyen plus complexe d'installer le chargeur de démarrage à l'aide de la ligne de commande. Il n'est pas nécessaire d'arriver à cette étape, mais cela vous donne le pouvoir de modifier ou de recompiler le code pour obtenir une expérience plus personnalisée.

La première étape du processus consiste à configurer les bits de fusible, qui font partie de la puce AVR, et à contrôler les paramètres tels que l'utilisation d'un cristal externe. Utilisez la commande suivante pour définir vos bits de fusible :

avrdude-b 19200 -cusbtiny-pm328p-v-e-Uéluder:w:0x05:m-Uhfuse:w:0xD6:m-Ulfuse:w:0xFF:m

Une fois les bits de fusible configurés, l'étape suivante consiste à transférer un fichier .hex compilé sur la carte cible et à définir les bits de verrouillage. Cela vous permettra d'exécuter le programme sur la carte. Assurez-vous d'être dans le même répertoire que le optiboot_atmega328.hex fichier avant de saisir cette commande :

avrdude-b 19200 -cusbtiny-pm328p-v-e-Uéclair:w:hexnomfichier.hex-Userrure:w:0x0F:m

Note: Ces commandes sont pour l'Arduino Uno. Vous devrez refactoriser les bits de fusible pour votre carte trouvés dans le board.txt fichier et modifier le Paramètres de numéro de pièce d'AVRDUDE aussi pour qu'ils travaillent.

Que ferez-vous ensuite avec Arduino ?

Le chargeur de démarrage Arduino est ce qui le rend si facile à programmer, même pour les débutants. Vous pouvez maintenant, espérons-le, télécharger vos propres croquis personnalisés sur l'Arduino et restaurer le chargeur de démarrage pour les futurs projets de bricolage Arduino.