And here's a walk though of the setup (as I do it myself):
Power the board (with the USB cable)
Burn the bootloader firmware with a PIC programmer.
Remove programmer, remove power.
Place a jumper between the PGC and PGD pins of the ICSP header.
Plug in USB. ACT LED lights. Bootloader enumerates as an HID device.
Remove the jumper. If you remove it now the bootloader will reset into user mode automatically, if not it will just return to the bootloader.
Run the firmware loader, or just use pump-program.bat:
fw_update -e -w -m flash -vid 0x04D8 -pid 0xFC90 -ix v1-pumpfirmware-v0a.hex
C:Documents and SettingsianDesktoppumpv01firmware>fw_update -e -
-vid 0x04D8 -pid 0xFC90 -ix v1-pumpfirmware-v0a.hex
U2IO flash erasing: DONE.
U2IO flash programming: DONE.
RESET Device
Operation successfully completed.
C:Documents and SettingsianDesktoppumpv01firmware>pause
Press any key to continue . . .
The chip is erased and then (slowly) programmed. Slowly is 30 seconds-ish. If I fix the app it will program in 1-2 seconds.
Remove the jumper (if you didn't earlier).
Press the reset button while holding the update button.
The ACT LED will light and it will enumerate as a USB virtual serial port. If it is the first time you plug it in, give windows the .inf file to assign the correct drivers to the device.
Run pump-loader.pl to verify that the firmware is listening:
C:Perleg>pump-loader.pl -i
PUMP-Loader v0.1
Using: COM5
Read/write: 2048 pages
Reading firmware version:
Hardware: 1, Firmware: 0.1, Bootloader: 1
Reading JEDEC ID: 0x1f240000
Found ATMEL AT45DB041D
Use pump-loader.pl to upload a SUMP FPGA build into the ROM chip. If you use the -x flag it will exit to (what to call the modes?) SUMP mode and bridge the serial connection to the FPGA:
C:Perleg>pump-loader.pl -w pump.bin -x
......
638
639
640
done.
Reset PUMP to run mode.
C:Perleg>
To update the firmware:
1) Put a jumper over the PGC and PGD pins and press the reset button. The ACT LED will light and the device will enumerate as an HID device.
---or---
2) Enter ROM update mode by holding update and pressing reset. Run pump-loader.pl with the -b flag to jump to the bootloader. THe ACT LED will light, etc:
C:Perleg>pump-loader.pl -b
PUMP-Loader v0.1
Using: COM5
Read/write: 2048 pages
Reading firmware version:
Hardware: 1, Firmware: 0.1, Bootloader: 1
Jumping to bootloader!
C:Perleg>
-------------------------------
In normal run mode the ACT LED blinks while the FPGA loads. If the FPGA doesn't load after a few seconds, because of error or blank ROM chip, it goes into update mode and the ACT LED lights.
The ACT LED should blink when there is RX or TX activity.
The bootloader takes the PROG_B pin low when it check for the PGC/PGD jumper. A side effect is that the FPGA also resets and reloads when the PIC resets(and checks for bootloader entry).
There are three modes of operation:
* Bootloader
HID USB connection. Used to update firmware in PIC. Enter by placing a jumper between PGC and PGD and resetting, or running the pump-loader.pl with the -b flag in ROM update mode, the ACT LED will light. Use the fw_update.exe utility to load new PIC firmware with the bootloader.
*ROM update
USB CDC connection (same as SUMP mode). Used to update the FPGA design stored in the flash memory chip (IC2). Enter by pressing the reset button while holding the update button, the ACT LED will light. Use the pump-loader.pl utility to load new ROM .bin files.
*SUMP mode
USB CDC connection (same as ROM update). This is a transparent USB-> serial bridge to the FPGA. This is the default startup mode. Press reset to enter from any mode. The ACT LED will bink while the FPGA loads, and then turn off.
---
Edit: sorry, messed up my COM ports with portmon, had to reset to finish the how-to.