HEX ELF
Conversion de fichier

Convertir HEX en ELF

RÉPONSE RAPIDE
Est-il possible de convertir HEX en ELF ?
Oui - HEX se convertit en ELF.

Exécutez avr-objcopy -I ihex -O elf32-avr firmware.hex firmware.elf pour produire un fichier ELF valide. L'ELF se désassemblera correctement mais n'aura pas de table de symboles ni de sections de débogage DWARF - celles-ci proviennent du compilateur, pas du fichier .hex. Vérifiez d'abord votre répertoire de build ; le compilateur a probablement déjà créé un .elf à côté du .hex.

Aussi vers ELF : FAP · S19

Sur cette page

Testé sur macOS, Windows et Linux
Dernière vérification le Oct 2026

Plus de convertisseurs gratuits

HEIC, PNG, WEBP, MP3 et plus - chaque outil ici est gratuit.

Ouvrir la boîte à outils

Pourquoi convertir HEX en ELF ?

Certaines chaînes d'outils et débogueurs embarqués n'acceptent que l'entrée ELF, pas le HEX brut. L'encapsulation d'un .hex dans .elf vous permet de charger le micrologiciel dans GDB ou des utilitaires de flashage qui nécessitent le format ELF, même sans table de symboles. L'ELF complet avec symboles et infos de débogage est produit par le compilateur ; la conversion à partir du HEX ne donne qu'une enveloppe dépouillée.

Comment convertir HEX en ELF

avr-objcopy OPEN-SOURCE

Exécutez avr-objcopy -I ihex -O elf32-avr firmware.hex firmware.elf ; remplacez elf32-avr par la cible correcte (ex: elf32-littlearm pour ARM Cortex-M). avr-objcopy est fourni avec avr-gcc et est inclus dans l'Arduino IDE.

arm-none-eabi-objcopy OPEN-SOURCE

Pour les cibles ARM Cortex-M, exécutez arm-none-eabi-objcopy -I ihex -O elf32-littlearm firmware.hex firmware.elf depuis la GNU Arm Embedded Toolchain.

À propos de ces formats

Qualité et points de vigilance

  • L'ELF de sortie ne contient que des octets bruts à leurs adresses cibles ; les noms de sections seront génériques (ex: .sec1) plutôt que les noms originaux .text, .data, .bss attribués par le compilateur.
  • Si vous avez compilé le micrologiciel vous-même, le répertoire de build contient probablement déjà un .elf à côté du .hex - vérifiez-y avant de convertir.
  • Le drapeau d'architecture -O elf32-avr doit correspondre au processeur réel ; l'utilisation d'un mauvais drapeau produit un ELF que les débogueurs ou les flasheurs rejetteront.

Foire aux questions

Puis-je récupérer les noms de fonctions et les symboles de débogage d'un fichier HEX ?
Non - Intel HEX ne stocke que des octets bruts et des adresses mémoire ; les noms de symboles, les infos de débogage DWARF et les noms de sections ne sont pas présents.
Où se trouve avr-objcopy sur ma machine ?
Il est fourni avec avr-gcc et est inclus dans l'Arduino IDE sous hardware/tools/avr/bin/ ; utilisez arm-none-eabi-objcopy pour les cibles ARM.
L'ELF résultant se désassemblera-t-il correctement ?
Oui - les octets bruts et les adresses de chargement sont intacts, donc le désassemblage fonctionne, mais les noms de fonctions et de variables seront absents.