Here's where I'm at:
It looks like everything works, in theory, but there's still a bug.
The ROM programmer can program and dump the ROM chip with the binary I created from your HEX. A diff of the dump and source .bin shows them to be the same. I also used the Bus Pirate to read out the ROM and verify the write, maybe if you get to this point you can use a JTAG programmer to do the same. The FPGA loads, DONE goes high, the ARM and TRIG LEDs light (?).
The UART bridge sends data to the FPGA pin 35(AUX2/PIC B1/RP4) and receives from pin 34 (AUX3/PIC B0/RP3). I verified send and receive by attaching a Bus Pirate to the pins and watching/entering text in a terminal with a jumper over PROG_B. To test the FPGA I sent 5 times 0x00, then 0x02 for the SUMP ALS1 ID, but I don't get anything from the FPGA.
I uploaded the latest files to Jack's SVN and the Dangerous Prototypes google code SVN (because it's easy to link to).
Here's the PIC source and a compiled .HEX ready to burn:http://code.google.com/p/dangerous-prot ... r/firmware
The first time you connect the PIC, windows will want a driver. CDC is a built-in driver, but you'll need the files in the /inf to point the way:http://code.google.com/p/dangerous-prot ... rmware/inf
The USB driver source is not redistributable, if you want to compile it you'll need to download the latest source and put the PUMP folder in the /Microchip Solutions/ folder.
Here's the PERL scripts for converting a HEX to a BIN, and for uploading the bin to the ROM:http://code.google.com/p/dangerous-prot ... er/scripts
You'll need active PERL and the perl serial port driver to use it. See the instructions at the top of pump-loader.pl. Type just the name of either file to see a help screen.
I'm guessing that either I haven't written the ROM right, my hex2bin converter is doing something wrong, or the serial pins are swapped. I could also have an solder problem on my PCB somewhere.
I have to get my next monthly project published over the next two days, but I'll try to dig in some when I have a spare minute.
1. Use bin2hex to make a binary blob
2. Start in ROM update mode by holding the upgrade button then pressing reset. The ACT LED will be solid.
2. use pump-loader to load the bin. Verify by reading the ROM and diff'ing the files.
3. Press the reset button. The ACT LED should blink until the FPGA loads and DONE goes high. There are two error codes: slow blink is a problem with the PROG_B pullup resistor, fast blink is DONE is still low.
Got a question? Please ask in the forum for the fastest answers.