HEX ELF
Conversão de arquivo

Converter HEX para ELF

RESPOSTA RÁPIDA
É possível converter HEX para ELF?
Sim - HEX converte para ELF.

Execute avr-objcopy -I ihex -O elf32-avr firmware.hex firmware.elf para produzir um arquivo ELF válido. O ELF será desmontado corretamente, mas não possui tabela de símbolos ou seções de depuração DWARF - estas vêm do compilador, não do arquivo .hex. Verifique seu diretório de compilação primeiro; o compilador provavelmente já criou um .elf junto com o .hex.

Também para ELF: FAP · S19

Nesta página

Testado em macOS, Windows e Linux
Última verificação em Oct 2026

Mais conversores gratuitos

HEIC, PNG, WEBP, MP3 e mais - todas as ferramentas aqui são gratuitas.

Abrir a caixa de ferramentas

Por que converter HEX para ELF?

Algumas toolchains e depuradores embarcados aceitam apenas entrada ELF, não HEX bruto. Envolver um .hex em .elf permite carregar o firmware no GDB ou utilitários de gravação que exigem o formato ELF, mesmo sem uma tabela de símbolos. O ELF completo com símbolos e info de depuração é produzido pelo compilador; converter a partir do HEX gera apenas uma casca vazia.

Como converter HEX para ELF

avr-objcopy OPEN-SOURCE

Execute avr-objcopy -I ihex -O elf32-avr firmware.hex firmware.elf; substitua elf32-avr pelo alvo correto (ex: elf32-littlearm para ARM Cortex-M). O avr-objcopy vem com o avr-gcc e está incluído no Arduino IDE.

arm-none-eabi-objcopy OPEN-SOURCE

Para alvos ARM Cortex-M, execute arm-none-eabi-objcopy -I ihex -O elf32-littlearm firmware.hex firmware.elf a partir da GNU Arm Embedded Toolchain.

Sobre estes formatos

Qualidade e o que observar

  • O ELF de saída contém apenas bytes brutos em seus endereços de destino; os nomes das seções serão genéricos (ex: .sec1) em vez dos nomes originais .text, .data, .bss atribuídos pelo compilador.
  • Se você mesmo compilou o firmware, o diretório de compilação provavelmente já contém um .elf junto ao .hex - verifique lá antes de converter.
  • A flag de arquitetura -O elf32-avr deve corresponder à CPU real; usar a flag errada produz um ELF que depuradores ou gravadores irão rejeitar.

Perguntas frequentes

Posso recuperar nomes de funções e símbolos de depuração de um arquivo HEX?
Não - o Intel HEX armazena apenas bytes brutos e endereços de memória; nomes de símbolos, informações de depuração DWARF e nomes de seções não estão presentes.
Onde está o avr-objcopy na minha máquina?
Ele vem com o avr-gcc e está incluído no Arduino IDE em hardware/tools/avr/bin/; use arm-none-eabi-objcopy para alvos ARM.
O ELF resultante será desmontado corretamente?
Sim - os bytes brutos e endereços de carregamento estão intactos, então a desmontagem funciona, mas os nomes de funções e variáveis estarão ausentes.