Logic Sniffer: Major update, testers needed

This is an old version, see the latest version on the documentation wiki.

This week there should be a major update for the Open Logic Sniffer that fixes a communication problem on some boards when alternate bitstreams are loaded. This fix implements the SPI connection between the PIC and FPGA.  The update improved sample download speeds in our tests, even without any other modifications to the SUMP client software.

Right now we’d like to invite beta testers to try the update. You can download an update package in the forum. Keep reading for a short overview of the upgrade process.

Stuff you’ll need:

  • An upgrade package
  • Windows PC

Step 1 – update the FPGA ROM bitstream

Use pump-loader to load the new Logic_Sniffer.mcs bitstream into the ROM. Follow these instructions. Pump-loader is available for multiple operating systems, this step can be done on any system supported by pump-loader or the pump-loader.pl Perl Script.

In this step you’ll see output like the example above. If your version line reads BOOT:255, your Logic Sniffer does not have a bootloader. Stop here, you cannot test the upgrade.

If you don’t have a bootloader, we are working on several ways to install it. First, a utility to use the Bus Pirate to reprogram the OLS PIC chip should be available within the week. Second, we’ll setup repair centers worldwide to provide reflashes if you don’t have a Bus Pirate. Finally, there’s the option of using the FPGA to reprogram the PIC with a crafty bitstream.

Step 2 – update the PIC firmware

Next, we need to install a new firmware in the PIC using the bootloader. We used a custom compile of the Diolan bootloader utility that is only available for Windows, this step currently requires a Windows PC until someone compiles the bootloader utility for other platforms. Use only our custom from the update package with the OLS, do not use the unmodified utilities from Diolan, the USB IR Toy, or the Flash_Destroyer.

The bootloader can be triggered two ways:

Enter bootloader with a jumper – Place a jumper between the PGC and PGD pins and then press the reset button. The ACT LED will light and the OLS will enumerate as a USB HID device (no driver needed).

Enter bootloader with pump-loader – Enter ROM update mode by pressing the RESET button while holding the UPDATE button. The ACT LED will light and the OLS will enter ROM update mode. Use the pump-loader application with the -boot flag to jump to bootloader mode.The ACT LED stays lit and the OLS enumerates as a USB HID device.

Firmware update procedure

  • Trigger the bootloader as described above.
C:\firmware>fw_update -e -w -vid 0x04D8 -pid 0xFC90 -ix v1-firmware-v0a.hex
 U2IO flash erasing: DONE.
 U2IO flash programming: DONE.
 RESET Device
 Operation successfully completed.

 C:\firmware>pause
 Press any key to continue . . .
 
  • Run the firmware loader as shown above, or just use the OLS-program.bat included in the update archive.
  • The chip is erased and then programmed.
  • Remove the jumper (if you used one earlier), and reset the board by pressing the RESET button.

The update is now complete. Please test the OLS and report any improvements (or lack of improvement) in the forum.

Special thanks to Piotr Pawluczuk for getting the firmware update utility to compile for us.

Join the Conversation

13 Comments

  1. It should be possible to load the bootloader using the ICD3. Xilinx pod can be used to JTAG the FPGA. I have both here in Taipei, Taiwan if someone needs help.

    Michael

  2. If you don’t have the bootloader installed but have a way to program the PIC with the bootloader (ICD2), are you able to do that first and then update the ROM with the new bitstream?

    I am asking because I am worried that if you have the new firmware does that break the process for updating the ROM with the new bitstream? Probably not a very educated question but wanted to be sure.

    1. Hi Dean – Yes, that would be the ‘normal’ way to do it. You can program the bootloader.hex with an ICD2, connect and bootload an updated firmware according to the instructions, then connect in update mode and load a new bitstream. The reason we put the directions in this order is so that people can find out if they have the bootloader before updating the ROM.

      1. Ian,

        Thanks for the response. I was able to get the bootloader on the chip as well as firmware v.4. Seems to work a lot better now! Thanks for all the work that you are putting into this project.

        I would be happy to program bootloader and new firmware for people that do not have a programmer. I am in Raleigh, North Carolina.

    1. Hi Hector – I’m sorry about the bug. If you don’t want to buy a Bus Pirate let me know and I’ll be happy to put you in contact with someone close to you who can reflash the firmware.

      I’ll update both those forum threads, but the primary development on the programmer is here:
      http://dangerousprototypes.com/forum/index.php?topic=550.msg5513#msg5513

      I released a test package today (very alpha, but seems to work), we should have something more user friendly very soon.

      1. Hi – first of all Thank you for your answer. I WILL buy a BusPirate not only for this, I read about it and I feel I need one for its potential ;)
        I am happy with my OLS, will follow the link.
        Again thank you very much.

  3. happily running the new firmware!
    I would be nice to have a couple of tutorials, like the pirate bus.
    keep the great work up!

  4. My buspirate v2go is borked. Waah! So I couldn’t use it to throw a new bootloader onto the Open Logic Sniffer board….

    …However, I was able to program a bootloader with my ICD2-POCKET, and from there continue with the rescue process to get the new firmware and bitstream up. Yay! As soon as I get home today, I’ll be using this to diagnose a Black Knight pinball machine’s MPU that is having difficulty with a particular ROM chip.

    Thanks again Ian!

    BTW, I’ll post my issues with the Bus Pirate borkage on the bus-pirate page…

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.