http://www.gpspassion.com/forumsen/pop_printer_friendly.asp?TOPIC_ID=27925

author: Antineutrino
HOW TO DUMP A SIRF GPS
Be sure you donwnloaded the latest versions of SIRFDemo and SIRFFlash.
You can grab the here:
http://www.falcom.de/support/software-tools/sirf/
It's important that you use SIRFFlash 3.2 because it has the option to flash in 'external boot mode'. This is the only way I managed to flash my device. Ok.. Now let's talk about the process.
Start SirfDemo and connect your GPS. In the menu select Action / Transmit Serial Message. Enter the string 'PSRF100,0,38400,8,1,0' without quotes , select NMEA mode and SEND it. This is the NMEA sentence to enable SiRF mode. After that send '94' (without quotes) using 'SiRF binary'. OK, now your GPS appears to be frozen. That's fine. Disconnect SIRF Demo and leave the GPS on. Now start SIRFFlash.
Select 'Read flash', the correct COM Port and 38400 Baud. Check 'Full duplex'. After that choose 'External' in 'Target boot mode state setting'. Chip select is 'CSN0' and Chip offset is '0'. The addresses are '0x0' for start and '0x79999' for the end. Now browse for an output file ( E.g.: c:\dump.bin) and click on 'Execute' and wait about 3 minutes.

It is safe to use Bluetooth communication (assuming your Bluetooth PC interface is stable and working fine) with SiRFDemo or SiRFFlash but be careful to ALWAYS use 38400 baud. This means to NOT use in SiRFDemo the command form the menu "Switch to SiRF protocol" because this will drop your communication with the unit! To recover you'll have to discharge the backup battery by short-circuit or letting it without the main battery for several days...
The correct procedure using Bluetooth is:
- Pair the GPS with your PC, find the assigned COM port.
- Start SiRFDemo, choose the COM port and 38400 baud.
- click the green connect button and see if you have NMEA messages in the debug view.
- Switch to SiRF protocol by using Action/Transmit Serial message. Enter the message "PSRF100,0,38400,8,1,0" without quotes and choose NMEA.
- Now the unit will switch to SiRF and you'll see more messages in the windows.
- Now enter boot mode with your unit > Send again a serial message, this time choose SiRF and the message is "94"
- Now you can disconnect SiRFDemo and start SiRFFlash, configure it as shown above in the screen capture and read the flash in binary format.
- Close SiRFFlash, back to SiRFDemo, connect to the unit, then reset the unit by Action/Initialize Data Source/Factory Reset.

Originally posted by tobbbie
I compared the BT339 with my BT338 dump of 3.1.1 and it is binary identical (except I dumped from 0x0 to 0x7ffff). The data after 0x79999 seem to be dynamic tables anyway - so no reason to bother about this.
…
oops :-( Then the advise to dump only until 79999 is not a valid one - what did you do for the "erase before flash" part? Cyberas should remove that link then and I will upload my dumps to some place instead (any suggestions where?). I don't have it hand currently though.
I am SURE that the missing data after 79999 are not software parts. Several dumps of the same device deliver always different content there.