27
\$\begingroup\$

Lately I've been doing a lot of work with Intel HEX files. I want a program that can import an Intel HEX file and allow me to view the byte contents at each address.

There are a handful of programs I've seen that do this, but are there any that are good which are free and also allow you to see the contents at an absolute address, not a relative address to the start of the hex file (for example, if the Intel HEX file starts writing at address 200, the application should signify that addresses 0-199 are blank and not show as if it starts at address 0)?

The best tool I've found is not really a tool meant to view HEX files, but Segger's J-Link Flash programming software. It's really meant to program chips, but it reads HEX files beautifully. Find it at J-Link / J-Trace Downloads.

\$\endgroup\$
4
  • \$\begingroup\$ I want one, too. \$\endgroup\$
    – endolith
    Feb 26, 2010 at 3:18
  • 1
    \$\begingroup\$ Not merely a binary file editor that displays in hex, but an actual hex-record editor? that would be cool. Wants one. \$\endgroup\$
    – JustJeff
    Aug 18, 2010 at 22:14
  • 7
    \$\begingroup\$ make your edit that says your solution an answer, it should not be part of the question. \$\endgroup\$
    – Kortuk
    Feb 2, 2011 at 21:38
  • 1
    \$\begingroup\$ Found this searching for the same util, and agree that the Segger jlink flash tool is a great solution. And agree with Kortuk's comment here as well. \$\endgroup\$ Jan 22, 2014 at 1:22

14 Answers 14

7
\$\begingroup\$

If you have access to a KDE computer you should try Okteta. It interprets hex in three or four formats at once. It is very very nice, especially if you are looking at mixed meaning hex code.

\$\endgroup\$
1
  • 3
    \$\begingroup\$ This also works on windows. It's part of the KDE for windows package. \$\endgroup\$ Aug 19, 2010 at 4:59
4
\$\begingroup\$

WinHex will convert (Ctrl + R) to/from Intel format, and uses 0xFF as the empty data value (as Binex does). It's also a fantastic tool if you need to do anything else with binaries or hard drive structures.

Hexplorer is a bit clunky, and strangely complains if there isn't a start address.

\$\endgroup\$
4
\$\begingroup\$

you can use objdump, example:

objdump -s file.hex

\$\endgroup\$
1
  • \$\begingroup\$ Ideally we all need something that goes as far as automating the checksums. We had tools for recalculating CRC for hex edited files over 30 years ago for the Amiga say. \$\endgroup\$
    – mckenzm
    Jul 4, 2020 at 1:06
3
\$\begingroup\$

For Emacs, there is a mode, Mode for Intel Hex files.

\$\endgroup\$
3
\$\begingroup\$

The converter I wrote answers your requests. Written in Lazarus, with source. Download it at Intel Hex to binary and vice-versa Windows converter for AVR developers + Hex editor.

\$\endgroup\$
1
  • \$\begingroup\$ This looks like a fine tool. You ought to give it a name... \$\endgroup\$ Apr 16, 2017 at 13:52
0
\$\begingroup\$

Emacs, specifically with hexview-mode. Unfortunately it doesn't meet your offset viewer requirement.

\$\endgroup\$
0
\$\begingroup\$
  1. You could try converting the file to a plain old binary blob and then edit it with an ordinary "hex editor". It is suboptimal, but since typical hex files contain less than a megabyte of data it should work.

  2. For my simple needs, the Vim built-in syntax highlighting was sufficient. It colors different parts of the line so you won't mistake the address, type or checksum with data. Maybe it could be enhanced with the new 7.3 "conceal" feature to decode record types on the fly.

\$\endgroup\$
2
  • \$\begingroup\$ i've used vim on hex files, too, and you know, if there was some way to make a vim macro/plug-in/something that could recalculate the checksum, that would be a 99% solution. \$\endgroup\$
    – JustJeff
    Aug 21, 2010 at 20:12
  • \$\begingroup\$ JustJeff: That's an interesting idea. It should be easy, I will try looking into it. (will have to learn some vimscript for this, but I wished to learn it anyway) \$\endgroup\$
    – jpc
    Aug 22, 2010 at 20:29
0
\$\begingroup\$

For Linux systems you have:

  • Okteta (KDE-based)
  • GHex / GHex 2 (GNOME)
\$\endgroup\$
1
  • 6
    \$\begingroup\$ Those are both totally irrelevant to the question. Both can edit binary files using hexadecimal notation for bytes of the file. However, Intel HEX files are files of ascii characters that represent object file data. \$\endgroup\$ Sep 26, 2016 at 3:35
0
\$\begingroup\$

Try intelHex: https://github.com/micha2070/intelHex

It's new, simple, and free. No installation needed.

\$\endgroup\$
0
\$\begingroup\$

Visual Studio Code handles this now, with checksum recalculation. This allows direct editing of constants without recompilation, and possibly patch application by line replacement.

It is an extension. I was previously using Synwrite and calculating checksums externally.

\$\endgroup\$
-1
\$\begingroup\$

I use Hex Editor Neo. It has some unique properties that make it useful for my particular brand of work, such as the ability to handle large files, unlimited undo/redo, and the ability to create patches. It can display data as bytes, words, double words, and floating point numbers.

I don't believe it has any awareness of the Intel Hex File format. It can make relative jumps, however. So if your file starts at address 200, you can jump absolute to your specified address, and then jump relative minus 200, and that should take you to the exact byte.

\$\endgroup\$
-1
\$\begingroup\$

I'm not familiar with the format of Intel hex files, but when I need to modify/view a binary I use XVI32.

\$\endgroup\$
-3
\$\begingroup\$

I've not used any of these, so I'm not sure if they meet your requirements or not:

Hexplorer

WinHex

There also seem to be some links at the bottom of the Intel HEX page on Wikipedia.

\$\endgroup\$
1
  • 2
    \$\begingroup\$ These are hex editors, not .hex viewers. \$\endgroup\$
    – Timmmm
    Oct 24, 2016 at 14:04
-3
\$\begingroup\$

For completeness, if you're on a Mac Hex Fiend is very good. It works well with very large files (~100 GB) and allows all sorts of tricky editing.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Hex Fiend does not support Intel HEX files \$\endgroup\$ Jan 6, 2016 at 2:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.