HEX ELF
Conversione file

Converti HEX in ELF

RISPOSTA RAPIDA
È possibile convertire HEX in ELF?
Sì - HEX si converte in ELF.

Esegui avr-objcopy -I ihex -O elf32-avr firmware.hex firmware.elf per produrre un file ELF valido. L'ELF verrà disassemblato correttamente ma non avrà una tabella dei simboli o sezioni di debug DWARF - queste provengono dal compilatore, non dal file .hex. Controlla prima la tua directory di build; è probabile che il compilatore abbia già creato un .elf insieme al .hex.

Anche in ELF: FAP · S19

In questa pagina

Testato su macOS, Windows e Linux
Ultima verifica Oct 2026

Altri convertitori gratuiti

HEIC, PNG, WEBP, MP3 e altri - ogni strumento qui è gratuito.

Apri la cassetta degli attrezzi

Perché convertire HEX in ELF?

Alcune toolchain e debugger embedded accettano solo input ELF, non HEX grezzi. Racchiudere un .hex in .elf ti permette di caricare il firmware in GDB o utility di flashing che richiedono il formato ELF, anche senza una tabella dei simboli. L'ELF completo di simboli e info di debug è prodotto dal compilatore; la conversione da HEX produce solo un guscio spogliato.

Come convertire HEX in ELF

avr-objcopy OPEN-SOURCE

Esegui avr-objcopy -I ihex -O elf32-avr firmware.hex firmware.elf; sostituisci elf32-avr con il target corretto (es. elf32-littlearm per ARM Cortex-M). avr-objcopy viene fornito con avr-gcc ed è incluso nell'IDE di Arduino.

arm-none-eabi-objcopy OPEN-SOURCE

Per i target ARM Cortex-M, esegui arm-none-eabi-objcopy -I ihex -O elf32-littlearm firmware.hex firmware.elf dalla GNU Arm Embedded Toolchain.

Informazioni su questi formati

Qualità e a cosa prestare attenzione

  • L'ELF in uscita contiene solo byte grezzi ai loro indirizzi di destinazione; i nomi delle sezioni saranno generici (es. .sec1) invece dei nomi originali .text, .data, .bss assegnati dal compilatore.
  • Se hai compilato tu stesso il firmware, la directory di build probabilmente contiene già un .elf insieme al .hex - controlla lì prima di convertire.
  • Il flag di architettura -O elf32-avr deve corrispondere alla CPU effettiva; l'uso di un flag errato produce un ELF che i debugger o i programmatori rifiuteranno.

Domande frequenti

Posso recuperare i nomi delle funzioni e i simboli di debug da un file HEX?
No - Intel HEX memorizza solo byte grezzi e indirizzi di memoria; i nomi dei simboli, le informazioni di debug DWARF e i nomi delle sezioni non sono presenti.
Dove si trova avr-objcopy sul mio computer?
Viene fornito con avr-gcc ed è incluso nell'IDE di Arduino sotto hardware/tools/avr/bin/; usa arm-none-eabi-objcopy per i target ARM.
L'ELF risultante verrà disassemblato correttamente?
Sì - i byte grezzi e gli indirizzi di caricamento sono intatti, quindi il disassemblaggio funziona, ma i nomi delle funzioni e delle variabili saranno assenti.