Logic Sniffer FPGA bitstream/ROM update
This is an old version, see the latest version on the documentation wiki.
The Logic Sniffer stores the FPGA (IC3) bitstream in a flash ROM chip (IC2). The PIC microcontroller (IC1) can update the bitstream from a computer using the multi-platform pump-loader application. This feature lets us release FPGA design updates with new features and bug fixes that can be loaded over the USB connection.
To enter ROM update mode, press the reset button while holding the update button. The ACT LED lights when the board is in ROM update mode. The PIC will also automatically enter ROM update mode if the FPGA doesn’t load correctly after a few seconds because of an error or blank ROM chip.
The OLS connects to a computer as a USB virtual serial port in ROM update mode. This is the same connection type used for the normal operating mode. The first time you plug it in, give Windows the .inf file from the project archive to assign the correct drivers to the device.
Stuff you’ll need
- pump-loader application for your platform
- Logic Sniffer SUMP bitstream HEX (.mcs file) or binary (.bit file)
Grab the latest bitstreams and pump-loader update application from the Gadget Factory download page.
ROM update procedure
1. Connect the Logic Sniffer to a USB port. Hold the update button down and press the reset button once.
2. The ACT LED will light and the OLS will enumerate as a USB virtual serial port.
C:\pump>pump-loader -p:COM4 -status PUMP loader Opening serial port 'COM4' @ 921600 ... OK Found PUMP HW: 1, FW: 0.1, Boot: 1 Found flash: ATMEL AT45DB041D no input file specified ! C:\pump>
3. Run pump-loader with the -status option to verify that the firmware is listening.
Specify the OLS serial port (-p:) for your system. Pump-loader will connect to the OLS and read the OLS hardware/firmware/bootloader version numbers, and verify the ROM flash chip ID.
C:\Perl\eg>pump-loader -p:COM4 -write -wH:pump.mcs -run PUMP loader Opening serial port 'COM4' @ 921600 ... OK Found PUMP HW: 1, FW: 0.1, Boot: 1 Found flash: ATMEL AT45DB041D Reading HEX file 'pump.mcs' ... OK! (binary size = 169216) Will write 641 pages Page 0x0000 write ... OK ...... Page 0x0280 write ... OK PUMP switched to RUN mode C:\Perl\eg>
4. Use pump-loader to write a SUMP FPGA bitstream to the ROM chip.
Specify a HEX (-wH:) or binary (-wB:) bitstream file to write (-write) to the OLS. Note that bitstream HEX files actually have the extension .mcs, as shown in the example.
The upload will take a few seconds, but the operation isn’t critical. If it fails or is interrupted nothing will be damaged, just try the update again. If you use the -run flag the OLS will exit update mode and return to normal operating mode when the upload is complete.
There’s also a pump-loader.pl Perl utility that we used while developing the logic sniffer.This entry was posted in logic analyzer and tagged bitstream, flash, pump-loader, ROM, updates.