Understanding and conversion different firmware file formats

Without getting to deep int discussions why there are several firmware formats and extensions used. But fact is that you can face firmware files with extensions like BIN, HEX ir E2P. Lets see how these files look like and how to convert between them.

First of all it is important to mention that all firmware files can be one of two types:

  • Text – files contain ASCII symbols (codes from 32h to FFh);

  • Binary – files contain all ASCII symbols including non printable symbols (00h to FFh).

First advice – never rely on file extension as it can be any. All is inside file. So how to define whats inside file and what format? One easy way is to open file with notepad and see how contents look inside.

Text firmware files

HEX files were described earlier (Hex File Format). I can just remind that it is most universal firmware file format that most programming software understand. Each line begins with colon, then goes address:

hex_format.png

 

TXT files especially loved in Korea for saving dump files. This is almost HEX file but without address pointers. Simply data in hex format without any controlled sums and so on:

TXT_firmware.png

 

Binary firmware files

BIN files are universal file format not only for firmware but for any data. Almost all Programmer software understand BIN format. Bin file contain exact information what is stored in memory, so File size is equal to occupied memory in hardware. No additional information:

bin_format.PNG

 

E2P file format is BIN file format tuned by Pony. File is the same as BIN but it has a 152 bait header where you can find E2P!Lanc signature.

E2P_format.PNG

 

Converting between file types

Converting between file types isn’t difficult task. One of easiest is to use same PonyProg and Save As menu:

Convert_with_pony.PNG

This way you can convert between mentioned file types and many more except txt. For this you can use this program <BIN to TXT Converter>.

S19 format – text format developed by Motorola. It is similar to HEX just all lines start with S symbol. And converter to BIN <S19 to BIN to S19 converter>.

Dont afraid to search over internet – you can find a bunch of stand alone file-type converters.

 

Blogsphere: TechnoratiFeedsterBloglines
Bookmark: Del.icio.usSpurlFurlSimpyBlinkDigg
RSS feed for comments on this post
 |  TrackBack URI for this post

New on WinAVR Tutorial
Running TX433 and RX433 RF modules with AVR microcontrollers,
Sometimes in embedded design you may want to go wireless. Might be you will want to log various readi …
Programming AVR ADC module with WinAVR,
Most of AVR microcontrollers have Analog to Digital Converter (ADC) integrated in to chip. Such solut …
New on WinARM Tutorial
What are differences between WinARM and WinAVR,
Everyone who is working with AVR microcontrollers knows this powerful tool – WinAVR (http://win …
LPC2000 watchdog timer,
As in all microcontrollers watchdog timers purpose isto reset microcontroller after reasonable amount …

Leave a Reply