HEX ELF
Conversión de archivos

Convertir HEX a ELF

RESPUESTA RÁPIDA
¿Es posible convertir HEX a ELF?
Sí - HEX se convierte a ELF.

Ejecute avr-objcopy -I ihex -O elf32-avr firmware.hex firmware.elf para producir un archivo ELF válido. El ELF se desensamblará correctamente pero no tendrá tabla de símbolos ni secciones de depuración DWARF - estas provienen del compilador, no del archivo .hex. Revise primero su directorio de compilación; es probable que el compilador ya haya creado un .elf junto al .hex.

También a ELF: FAP · S19

En esta página

Probado en macOS, Windows y Linux
Última verificación Oct 2026

Más convertidores gratuitos

HEIC, PNG, WEBP, MP3 y más - cada herramienta aquí es gratuita.

Abrir la caja de herramientas

¿Por qué convertir HEX a ELF?

Algunas cadenas de herramientas integradas y depuradores solo aceptan entradas ELF, no HEX brutos. Envolver un .hex en .elf le permite cargar el firmware en GDB o utilidades de flasheo que requieren el formato ELF, incluso sin una tabla de símbolos. El ELF completo con símbolos e información de depuración es producido por el compilador; convertir desde HEX solo genera un caparazón despojado.

Cómo convertir HEX a ELF

avr-objcopy OPEN-SOURCE

Ejecute avr-objcopy -I ihex -O elf32-avr firmware.hex firmware.elf; reemplace elf32-avr con el objetivo correcto (por ejemplo, elf32-littlearm para ARM Cortex-M). avr-objcopy se distribuye con avr-gcc y viene incluido dentro del Arduino IDE.

arm-none-eabi-objcopy OPEN-SOURCE

Para objetivos ARM Cortex-M, ejecute arm-none-eabi-objcopy -I ihex -O elf32-littlearm firmware.hex firmware.elf desde la GNU Arm Embedded Toolchain.

Acerca de estos formatos

Calidad y qué observar

  • El ELF de salida contiene solo bytes brutos en sus direcciones de destino; los nombres de las secciones serán genéricos (por ejemplo, .sec1) en lugar de los nombres originales .text, .data, .bss asignados por el compilador.
  • Si usted mismo compiló el firmware, es probable que el directorio de compilación ya contenga un .elf junto al .hex - verifique allí antes de convertir.
  • La bandera de arquitectura -O elf32-avr debe coincidir con la CPU real; usar la bandera incorrecta produce un ELF que los depuradores o flasheadores rechazarán.

Preguntas frecuentes

¿Puedo recuperar nombres de funciones y símbolos de depuración de un archivo HEX?
No - Intel HEX solo almacena bytes brutos y direcciones de memoria; los nombres de símbolos, la información de depuración DWARF y los nombres de las secciones no están presentes.
¿Dónde está avr-objcopy en mi equipo?
Se distribuye con avr-gcc y viene incluido dentro del Arduino IDE en hardware/tools/avr/bin/; use arm-none-eabi-objcopy para objetivos ARM.
¿Se desensamblará correctamente el ELF resultante?
Sí - los bytes brutos y las direcciones de carga están intactos, por lo que el desensamblado funciona, pero los nombres de funciones y variables estarán ausentes.