Étape 9: Divers trucs supplémentaires
Comme j’ai mentionné précédemment, le chargeur de démarrage réside dans une petite partie de la gamme supérieure de cartes-mémoire. La section chargeur de démarrage de la mémoire Flash est définie dans des registres spéciaux, appelés fusibles qui racontent le processeur de quelle taille est le bootloader et où les trouver pour commencer à courir il à puissance vers le haut ou réinitialiser. Comme le programme bootloader reçoit le croquis, elle stocke dans la partie inférieure de la mémoire Flash. Un croquis que vous avez chargé dans la mémoire Flash ne peut généralement modifier lui-même ou le chargeur de démarrage, ni peut il écrire dans une pièce inutilisée de mémoire Flash. Seuls les programmes qui s’exécutent dans la zone réservée bootloader peuvent écrire à mémoire Flash. Les utilisateurs avancés peuvent mettre un petit extrait de code dans la zone de programme d’amorçage de mémoire et faites-le assis là, résidant conjointement avec le bootloader et appeler à partir de leur programme qui s’exécute dans la partie inférieure de la mémoire Flash, ce qui permet leur programme pour écrire dans la mémoire Flash.
Depuis l’authentique ou clone UNO et Mega 2560 sont équipées d’un processeur de USB-to-serial programmable, il est possible de télécharger un programme sur ce processeur pour agir comme un programmeur de l’ISP et connectez-le à la UNO ou au processeur principal de la Mega et re-graver ses bootloader ou charger un croquis par ISP. Ou vous pouvez télécharger une esquisse sur le processeur principal qui re-programmes le processeur USB-to-serial via ISP. Cela est parfois appelé UNO self-ISP.
Vous pouvez également utiliser un convertisseur USB FTDI-to-serial comme un programmateur ISP à l’aide d’un programme sur votre ordinateur qui bit-bangs le protocole ISP aux broches du convertisseur FTDI.
Ces autres méthodes ISP sont pour la plupart des activités universitaires, parce que c’est plus facile et peu coûteux d’utiliser un dispositif de programmateur ISP ou d’utiliser un autre Arduino comme un programmeur de l’ISP. Mais si vous êtes enfermé dans une gravure de construction avec rien mais limitée sur le matériel Arduino, votre copain MacGyver, coupe-ongles et une boîte d’allumettes, vous pouvez faire programmation ISP et pouvez encore avoir le temps de s’échapper avant l’explosion de la boule de feu.
Il est possible d’utiliser le chargeur de démarrage Optiboot sur le Arduinos axée sur les ATmega32U4, pour télécharger des sketches à travers les tiges TTL séries RX et TX. Ensuite, vous devrez utiliser un adaptateur USB-vers-série externe ou tout autre périphérique série à télécharger et n’utilisez pas le port USB du processeur ATmega32U4. Je couvre ce concept dans une autre Instructable où je montre comment utiliser un module Bluetooth pour transférer vers un Leonardo. Je vous dis une chose... Eh bien, c’est encore un autre moyen de télécharger un croquis pour Arduino : grâce à une connexion Bluetooth ou autre périphérique sans fil de série.
Il est également possible de faire un port USB virtuel sur un processeur tel que ATmega328P. Dans Pro Trinket de Adafruit, il n’y a aucune puce USB-to-serial, mais de toute façon, il y a un port USB. Comment ont-ils qui ? Ce qu’ils ont fait est de connecter les broches numériques 2 et 7 au port USB et ensuite brûlé un bootloader spécial sur la puce qui écoute les signaux USB sur ces 2 broches. Il n’y a aucun matériel spécial à l’intérieur de la puce qui lit ces signaux, de sorte que le chargeur de démarrage contient un code spécial qui figures sur les signaux et accepte une esquisse. C’est encore un autre moyen de télécharger un croquis.
Lorsque vous cliquez sur le bouton Télécharger dans l’IDE Arduino, ou lorsque vous allez dans le menu fichier ou croquis et cliquez sur Télécharger, la méthode de téléchargement USB-to-serial est la méthode par défaut utilisée pour la plupart des conseils. Quand vous allez dans le menu dessin (ou fichier sur IDE 1.6.4 et plus) et cliquez sur Télécharger à l’aide de programmeur, c'est-à-dire lorsque l’IDE tente d’utiliser votre programmateur ISP ou Arduino comme fournisseur de services Internet pour envoyer un croquis par ISP. Voici une friandise plus vous pouvez recherche et jouer avec. Si vous souhaitez que le bouton de téléchargement faire ISP de programmation à télécharger sur une planche de cible, vous pouvez créer une entrée de boards.txt personnalisé. Il y a des paramètres de l’entrée de déterminer quelle méthode de téléchargement est utilisé, série ou ISP.
Voici une friandise que j’espère précise au lieu de confond. Je pense qu’il est regrettable que l’Arduino fait un dispositif de programmateur ISP appelé ArduinoISP, et lorsque vous l’utilisez, vous devrez sélectionner sur le menu Outils, le programmeur, le ArduinoISP. Ce dispositif est abandonné comme je sais, mais est-il toujours disponible par le biais de certains magasins. Il est regrettable de libellé et potentiellement déroutant parce que lorsqu’on utilise un Arduino comme ISP vous chargez le sketch intitulé ArduinoISP et sélectionnez dans le menu Outils, programmeur, Arduino comme ISP.