HEX ELF
Konwersja plików

Konwertuj HEX na ELF

SZYBKA ODPOWIEDŹ
Czy możliwa jest konwersja HEX na ELF?
Tak - HEX konwertuje się na ELF.

Uruchom avr-objcopy -I ihex -O elf32-avr firmware.hex firmware.elf, aby wygenerować poprawny plik ELF. Plik ELF będzie się poprawnie deasemblował, ale nie posiada tablicy symboli ani sekcji debugowania DWARF - te pochodzą z kompilatora, a nie z pliku .hex. Najpierw sprawdź katalog budowy; kompilator prawdopodobnie już utworzył plik .elf obok .hex.

Również na ELF: FAP · S19

Na tej stronie

Testowane na macOS, Windows i Linux
Ostatnia weryfikacja Oct 2026

Więcej darmowych konwerterów

HEIC, PNG, WEBP, MP3 i inne - każde narzędzie tutaj jest darmowe.

Otwórz przybornik

Dlaczego konwertować HEX na ELF?

Niektóre wbudowane łańcuchy narzędzi i debugery akceptują tylko wejście ELF, a nie surowy HEX. Opakowanie .hex w .elf pozwala na załadowanie oprogramowania układowego do GDB lub narzędzi do flashowania wymagających formatu ELF, nawet bez tablicy symboli. Pełny plik ELF z symbolami i informacjami debugowania jest tworzony przez kompilator; konwersja z HEX daje jedynie „odchudzoną” powłokę.

Jak przekonwertować HEX na ELF

avr-objcopy OPEN-SOURCE

Uruchom avr-objcopy -I ihex -O elf32-avr firmware.hex firmware.elf; zastąp elf32-avr poprawnym celem (np. elf32-littlearm dla ARM Cortex-M). avr-objcopy jest dostarczany z avr-gcc i dołączony do Arduino IDE.

arm-none-eabi-objcopy OPEN-SOURCE

Dla celów ARM Cortex-M uruchom arm-none-eabi-objcopy -I ihex -O elf32-littlearm firmware.hex firmware.elf z pakietu GNU Arm Embedded Toolchain.

O tych formatach

Jakość i na co uważać

  • Wyjściowy ELF zawiera tylko surowe bajty pod ich adresami docelowymi; nazwy sekcji będą generyczne (np. .sec1) zamiast oryginalnych nazw .text, .data, .bss przypisanych przez kompilator.
  • Jeśli samodzielnie kompilowałeś oprogramowanie układowe, katalog budowy prawdopodobnie zawiera już plik .elf obok .hex - sprawdź to przed konwersją.
  • Flaga architektury -O elf32-avr musi odpowiadać rzeczywistemu procesorowi; użycie niewłaściwej flagi spowoduje powstanie pliku ELF, który zostanie odrzucony przez debugery lub programatory.

Najczęściej zadawane pytania

Czy mogę odzyskać nazwy funkcji i symbole debugowania z pliku HEX?
Nie - Intel HEX przechowuje tylko surowe bajty i adresy pamięci; nazwy symboli, informacje debugowania DWARF i nazwy sekcji nie są w nim obecne.
Gdzie na moim komputerze znajduje się avr-objcopy?
Jest on dostarczany wraz z avr-gcc i znajduje się wewnątrz Arduino IDE w katalogu hardware/tools/avr/bin/; dla celów ARM użyj arm-none-eabi-objcopy.
Czy wynikowy plik ELF będzie się poprawnie deasemblował?
Tak - surowe bajty i adresy ładowania są nienaruszone, więc deasemblacja działa, ale nazwy funkcji i zmiennych będą nieobecne.