Pourquoi convertir HEX en BIN ?
Le format Intel HEX stocke le micrologiciel compilé sous forme d'enregistrements ASCII en texte brut ; chaque octet est encodé sous forme de deux chiffres hexadécimaux enveloppés dans des champs d'adresse et de somme de contrôle. De nombreux outils de flashage de micrologiciels, chargeurs d'amorçage et utilitaires de mise à jour d'appareils attendent une image plate .bin à la place - par exemple, les cartes STM32 acceptent un fichier .bin glissé sur leur clé USB alors que la chaîne d'outils Arduino produit du .hex. La conversion vous permet d'utiliser un micrologiciel construit par une chaîne d'outils avec un flasheur qui attend l'autre format.
Comment convertir HEX en BIN
avr-objcopy OPEN-SOURCE
Exécutez avr-objcopy -I ihex -O binary firmware.hex firmware.bin dans un terminal. Sur Linux, l'outil générique objcopy des binutils système accepte les mêmes drapeaux sans le paquet spécifique à AVR.
SRecord OPEN-SOURCE
Exécutez srec_cat firmware.hex -Intel -o firmware.bin -Binary. SRecord gère les écarts d'adresse dans le fichier HEX en les remplissant avec 0xFF, correspondant à la mémoire flash effacée.
À propos de ces formats
Un fichier .hex est un fichier Intel HEX : un micrologiciel (firmware) compilé pour un microcontrôleur tel qu'une puce Arduino, AVR ou PIC, stocké sous forme d'enregistrements en texte…
Ouvrir les détails de .HEX →Un fichier BIN est le plus souvent une copie brute, secteur par secteur, d'un CD ou d'un DVD, accompagnée d'un fichier texte .cue décrivant les pistes. Montez-le avec PowerISO ou DAEMON…
Ouvrir les détails de .BIN →Qualité et points de vigilance
- La sortie
.binest plus petite que le.hexcar Intel HEX encode chaque octet sous forme de deux chiffres hexadécimaux ASCII plus la surcharge d'encadrement. - Si le fichier HEX présente des écarts d'adresse - courant lorsque les régions flash et EEPROM sont toutes deux couvertes - SRecord les remplit par défaut avec
0xFF. - avr-objcopy est inclus dans l'IDE Arduino sur Windows sous
hardware/tools; sur macOS, il est disponible via Homebrew avec le paquet avr-gcc.
Foire aux questions
La conversion de HEX en BIN entraîne-t-elle une perte de données ?
Où trouver avr-objcopy sur Windows ?
hardware/tools, ou disponible via le paquet WinAVR.Puis-je utiliser cette conversion pour des puces non-AVR ?
objcopy des binutils système avec les mêmes drapeaux ; SRecord est également indépendant de l'architecture.