gfw.exe is a simple Garmin firmware manipulation utility.
Basically, it can do just two things:
1) unpack GCD/RGN file as a bunch of .bin files, which represent sections/regions of the file.
2) pack a bunch of .bin files to GCD/RGN file
Each .bin file name is formatted like this:
- TYPE is the section type in hexadecimal or "XXXX" string if GCD/RGN file doesn't specify TYPE for this section.
frequently used section types are:
- 0008 section contains boot.bin
- 02BD section contains fw_all.bin
- 05XX section contains region number XX
- HWID is the section hwid in hexadecimal or "XXXX" string if GCD/RGN file doesn't specify HWID for this section.
- SWVR is the section version in hexadecimal or "XXXX" string if GCD/RGN file doesn't specify SWVR for this section.
- SEQ is a decimal number which is used to create a unique file name in the case of conflict.
As an example let's consider a folder with two files: 0008--0342-01FE.bin and 0008--0342-01FE_1.bin.
These files represent two sections of TYPE=0x0008 (boot.bin), HWID=0x342 (=834 in decimal, which is nuvi nuvi 2xx), SWVR=0x1FE (=510 in decimal, or 5.10).
And also the second file has SEQ part added in order to avoid file name conflict.
The command line parameters of gfw.exe are the following:
gfw.exe bldfldrsmpl <folder with input .BIN files> <output .GCD folder>
gfw.exe bldfldr <folder with input .BIN files> <output .GCD folder> <output .RGN folder>
gfw.exe unpack <input .GCD or .RGN file>
gfw.exe dump_gcd <input .GCD file>
- "gfw.exe bldfldrsmpl ..." will combine .bin files from <folder with input .BIN files> into gupdate.gcd file in <output .GCD folder>.
- "gfw.exe bldfldr ..." does roughly the same, but also creates RGN file in <output .RGN folder>. In addition it determines the software version of all .bin files and stores it in SWVR attribute of all GCD sections.
All .bin files have to be of the same HWID.
For example, if you have 0008--0342-01FE.bin with version 5.10 stored internally and 02BD--0342-01FE.bin with version 5.11 stored internally,
"gfw.exe bldfldr ..." will store version 5.11 in GCD section attributes, which is required to avoid looping when installing this GCD.
- "gfw.exe unpack" will unpack <input .GCD or .RGN file> file as a bunch of .bin files to the folder containing <input .GCD or .RGN file>.
- "gfw.exe dump_gcd ..." will load GCD file and output some info about its low level structure.
- "gfw.exe ?" will print help.
Currently the source code can be built by Visual Studio 2010 only.
And there are pre-built binaries for Microsoft Windows.
Please Login or Register to see the links