Existe-t-il un moyen d'exporter du code pour un arduino même sous forme de fichier hexadécimal?
Existe-t-il un moyen d'exporter du code pour un arduino même sous forme de fichier hexadécimal?
Réponses:
En parcourant le code source des chargeurs de démarrage Arduino à https://github.com/arduino/Arduino/tree/master/hardware/arduino/bootloaders, il semble qu'ils prennent en charge la fonctionnalité de relecture stk500 pour la mémoire flash, de sorte que vous pouvez atteindre votre objectif avec un programme client tel que avrdude.
Donc, la réponse à la question est que si vous pouvez accéder au chargeur de démarrage, alors oui, vous pouvez lire le contenu de la mémoire flash au format binaire ou hexadécimal, sans avoir recours à un programmeur externe.
Si vous ne pouvez pas accéder au chargeur de démarrage (problèmes de réinitialisation ou absence de chargeur de démarrage intact), vous pourrez peut-être le faire avec un programmeur externe, à condition que les paramètres de fusible de sécurité ne l'empêchent pas.
avrdude
comportement de vérification par défaut en dépend car il fonctionne en relisant un tampon et en effectuant une comparaison sur le PC. Donc, essentiellement, quiconque a déjà téléchargé du code sur un Arduino basé sur ATmega en laissant l'appel IDE avrdude
avec la configuration par défaut, en a également implicitement lu un.
Oui, j'ai réussi à retirer le noyau de démarrage d'une carte Arduino via ISCP et à le pousser dans une autre. Les fusibles de sécurité n'étaient pas installés. où avrdude fonctionnera. À l'époque, j'utilisais AVR Studio avec un STK500 car il avait une interface graphique et je n'avais pas besoin d'apprendre tous les commutateurs avrdude. Soit fonctionnera.
Le réglage du fusible annule l'open source. Cela dit, le noyau de démarrage est fourni dans l'IDE. .. \ Arduino \ hardware \ arduino \ bootloaders \ atmega8 \ ATmegaBOOT.hex avec d'autres variantes de puces.