Skip to main content
Topic: Test firmware v2.1 (Read 4463 times) previous topic - next topic

Test firmware v2.1

There are some manufacturing changes coming for the Logic Sniffer. Mainly - there are no 4mbit ATMEL flash ROMs to be had anywhere in the world. The next batch will use 2mbit chips, which are still more than enough, but we're going to change the PCB to fit Winbond roms in the long-term for cheaper production with fewer delays.

http://www.winbond-usa.com/products/Nex ... -40-80.pdf

Last night I updated the firmware with an extended self-test that reads the JEDEC id so we can identify the chip from the PIC and react accordingly. We can also perform and get the results of the self-test from the update mode now (pump-loader will be able to report detected errors).

I shorted the delay it waits for the FPGA to load. It blinks 5 times max if the ROM is blank (or teh FPGA doesn't load, test with jumper on PGM-EN). It doesn't even blink once on a working ROM, so I think the new delay is probably ok.

I'm going to update pump-loader to use the new self-test mode. I'll add a manufacturing mode to the loader app so we can do the manufacturing process like this:
1.Burn firmware
2.Plug into USB, jumps to rom mode right away b/c no bitstream
3. Run the pump-loader with manufacturing mode
--runs self-test, reports any errors
--loads bitstream
--resets to run mode
--sends 0x03 to start test pattern
--disconnects and waits to start again (loop)

Gadget Factory SVN is down, so I've uploaded the firmware and source here for now. Please give it a test if you have a chance.

I made a wikipage for the update protocol because I don't think it's documented anywhere but code:
http://dangerousprototypes.com/docs/Log ... e_protocol
Got a question? Please ask in the forum for the fastest answers.

Re: Test firmware v2.1

Reply #1
Here's a final v2.1 firmware with some small updates and bug fixes since the test release:
*ACT LED now always when self-test ends

This also includes an updated OLS-loader (formerly pump-loader) utility that can be used to run a self-test and read the results:
http://dangerousprototypes.com/docs/Log ... O_SELFTEST

Edit: attached new version with .inf included
Got a question? Please ask in the forum for the fastest answers.

Re: Test firmware v2.1

Reply #2
Hey, you didn't include the firmware source in this zip like last time :-)

Re: Test firmware v2.1

Reply #3
Hmm, the upload seemed to work, and Jawi's alt java client still works (COM3 @ 115,200 baud), however, ols-loader.exe says the following:
Quote
Logic Sniffer ROM loader v0.2 (September 10, 2010)
Opening serial port 'COM3' @ 115200 ... OK
Error reading OLS id
Does this mean I need a different FPGA ROM binary?
Why would the ols-loader.exe included in the most recent zip not be able to read the OLS id via the 2.1 firmware?
Is this a hardware issue?  I have the OLS1.

Re: Test firmware v2.1

Reply #4
The GF SVN is working for me now, so I just checked in all my code there.

The ols-loader doesn't interact with the FPGA ROM, so that shouldn't matter.

The most typical cause of this error is not being in ROM update mode. Was the ACT LED on solid when you tried to connect?
Got a question? Please ask in the forum for the fastest answers.

Re: Test firmware v2.1

Reply #5
[quote author="ian"]The ols-loader doesn't interact with the FPGA ROM, so that shouldn't matter.

The most typical cause of this error is not being in ROM update mode. Was the ACT LED on solid when you tried to connect?[/quote]Aha.  I made the naive assumption that the ols-loader could determine the OLS id no matter what mode was selected.  I'm obviously not familiar with the OLS protocols.

Switching briefly to update mode, I got:
Quote
Logic Sniffer ROM loader v0.2 (September 10, 2010)
Opening serial port 'COM3' @ 115200 ... OK
Found OLS HW: 1, FW: 2.1, Boot: 1
Found Flash: ATMEL AT45DB041D

P.S. Have you thought about putting the PIC firmware revision in the bcdDevice revision field of the USB Device Descriptor?

Re: Test firmware v2.1

Reply #6
That's on the to-do list for all the USB-CDC projects, but I'm really hoping to move to the open stack before messing with Microchip's non-distributables.
Got a question? Please ask in the forum for the fastest answers.

Re: Test firmware v2.1

Reply #7
I wanted to make a very specific comment (*) about the Microchip non-distributables, but then I realized that it would be off-topic for the OLS firmware.  Well, not really off-topic so much as actually a much broader topic.

So, I started a New Topic under Open source USB stack titled "Microchip USB Stack - issues and solution" (I've never learned how to link between topics on this forum, but I think you can find it manually).

(*) I think that usb_config.h and usb_descriptors.c should be created from scratch, not modified from Microchip examples.  In other words, I think you've made your "non-distributables" list too large, and if you fix that then you'll have less problems working with the Microchip USB Stack.

/EDIT by IPenguin:/ I added an embedded link to the new thread you started in the "open source USB stack" section. /END EDIT/

Re: Test firmware v2.1

Reply #8
We do have our own USB config, but it is a basic version that doesn't list the options that are unused.

I'd be happy to use an open descriptor and adopt it to all DP USB projects, but nobody has contributed one yet ;)
Got a question? Please ask in the forum for the fastest answers.

Re: Test firmware v2.1

Reply #9
I was unable to refresh firmware after updating ROM with v2.2 (seemingly successfully).

The actual status is:
   ols-loader.exe -p:COM14 -t:38400 -status
   Logic Sniffer ROM loader v0.2 (September 10, 2010)
   Opening serial port 'COM14' @ 38400 ... OK
   Found OLS HW: 1, FW: 0.1, Boot: 255
   Found flash: ATMEL AT45DB041D
   OLS status: 9c

The actions I made:

Version 1- Hardware: shorting PGC-PGD, simple reset (without UPDATE button).
     NO HID device,  the same serial port, POWER and TRIG (red) LEDs are ON, ACT not!

    fw_update -e -w-m flash -vid 0x04D8 -pid 0xFC90 -ix OLSv1-firmware-v2.1.hex
           U2IO flash erasing: FAILED.
           Device is not found.
           Operation aborted.

Version2 - Software
   ols-loader.exe -p:COM14 -t:38400 -status -boot
           Logic Sniffer ROM loader v0.2 (September 10, 2010)
           Opening serial port 'COM14' @ 38400 ... OK
           Found OLS HW: 1, FW: 0.1, Boot: 255
           Found flash: ATMEL AT45DB041D
          OLS switched to bootloader mode

     NO HID device,  the same serial port, the LEDS are the same:POWER and TRIG (red) LEDs are ON, ACT not!

   fw_update -e -w-m flash -vid 0x04D8 -pid 0xFC90 -ix OLSv1-firmware-v2.1.hex
          U2IO flash erasing: FAILED.
          Device is not found.
          Operation aborted.

I am afraid without refreshing the fw the device doesn't wotk at all.

What to do?
Thank you in advance.
George

 

Re: Test firmware v2.1

Reply #10
Hi George,

It looks like your OLS was one of a couple that shipped without a bootloader. I saw your comment on the other thread, the next step is to program the bootloader firmware or you can send it to Seeed or me for a reflash.
Got a question? Please ask in the forum for the fastest answers.