Skip to main content
Topic: [solved?]***Possible solution to intermittent communication problems*** (Read 12706 times) previous topic - next topic

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #15
Hey swissMac - You can test the PIC by entering update mode and running pump-loader with the -status flag.

I think this is a case of the 'some bitstreams don't work with some chips' issue, or the timeout issue. Some have found (by spying on serial com) that the hardware does reply but the SUMP software times out (even with the modified .jar). We're working on the 'some bitstreams don't work with some chips', and hope to release two solutions (corrected UART and SPI update) as soon as possible.
Got a question? Please ask in the forum for the fastest answers.

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #16
Hi Ian

thanks
Heres what I get when I run pump-loader:

   pump-loader.exe -status -p'COM9
   PUMP loader

   Opening serial port 'COM9' @ 921600 ... OK
   Error reading PUMP id

Does the above confirm your findings?

Mac

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #17
@swissMac - Was the ACT LED lit when you ran this command? That looks like it opened the CDC serial port OK (COM9), but it didn;t get any data when reading the ROM JEDEC ID code. This is common when running pump-loader when the OLS is in 'regular' logic analyzer mode.

To enter update mode (just in case), press and hold the update button, then press and release the reset button. The OLS should reset, reconnect to the PC, and the ACT LED will light.

If the ACT was lit, or the ACT didn't light when holding the update button down during reset, there may be soldering, hardware, or other issues with your board.
Got a question? Please ask in the forum for the fastest answers.

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #18
Hi Ian
Yes you are correct, it was in normal run mode,

setting update mode gives

pump-loader.exe -status -p'COM9
   PUMP loader

   Opening serial port 'COM9' @ 921600 ... OK
   Found PUMP HW: 1, FW: 0.1, Boot:255
   Found Flash: ATMEL AT45DB041D
   no input file specified !

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #19
The good news is the PIC is alive, responding, and able to read the ROM chip. Unfortunately the Boot:255 means you don't have a bootloader. Some boards seem to have this problem.

You can use a PIC programmer to install the bootloader but most people don't have one. We successfully programmed an OLS with the Bus Pirate yesterday, there will be a app you can use to program the bootloader into the OLS with the Bus Pirate in a few days. For anyone that doesn't have a Bus Pirate, we may be able to use the FPGA to reprogram the PIC, but probably it will be easier to have various support sites available to do reflashes as needed.  We're not 100% sure of the scope of the problem yet, Uwe received 3 yesterday with no bootloader, Sjaak got one today with bootloader. At the moment there isn't a firmware update to load, so we'll try to coordinate the update with the release of a new firmware.
Got a question? Please ask in the forum for the fastest answers.

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #20
Mine is Boot: 255 also.
-Scott

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #21
For what its worth I tried the pump-loader.exe -status with the working board
I get the same result. Boot: 255

So what we have here is a working pic, (in both board cases) and with code used to configure USB for loading  the OLS already in place, this means that I cannot install new pic code without a plckit or similar, but I can continue to load bits for the fpga? or am I mistaken???
as so far I can run the ROM loader and I see a trace of some form or load/write taking place?

I have a pickit, I am happy to load the bootloader, other than allowing pic updates will it bring anything else to the table in this current investigation?

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #22
@swissMac - you are correct. The bootloader is to load new firmware into the PIC, the ROM update mode is used to load new bitstreams into the ROM. Some boards have the firmware, but no bootloader. WIth just the firmware you can update the ROM but not the PIC.

Thanks for letting me know you have a pickit, it would be really valuable to have you as a tester. Jack has released a test update package that might solve the communication problems. It requires a new PIC firmware:
http://dangerousprototypes.com/forum/in ... 19#msg5119

I've attached an additional update to his second post with a new firmware and the bootloader .hex. Please program the bootloader.hex with your PICKIT, then upload the new firmware via the USB bootloader. Finally, upload the new ROM in update mode.

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.
Got a question? Please ask in the forum for the fastest answers.

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #23
new firmware - I'll have a go at loading the bootloader this evening

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #24
is there a description of the protocol anywhere ? since i received mine with no bootloader (but with bitstream loader), i want to code a utility for my homemade programmer to program it

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #25
Here's the family programming spec:
http://ww1.microchip.com/downloads/en/D ... 39687e.pdf
Got a question? Please ask in the forum for the fastest answers.

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #26
and how to parse .hex file ?

Re: [solved?]***Possible solution to intermittent communication problems***

Reply #27
[quote author="rajkosto"]and how to parse .hex file ?[/quote]It's a standard called "Intel HEX"
http://en.wikipedia.org/wiki/Intel_HEX
Be sure to get the checksum right, and pay careful attention to the segment address in case you deal with a PIC that has more than 64K Flash (or even just the Config words). Addresses will wrap around to 0x0000 more than once in the same file if you don't track the segment.

I've written a PIC18 and PIC16 disassembler that's better-suited for my needs than either of the variations offered by MPLAB, and so I've had to work out the kinds in Intel hex parsing.

While you're at it, you might want to build in support for Motorola S-Record format. You may never need it, but some other tools have hex files in SREC format.
http://en.wikipedia.org/wiki/SREC_(file_format)
Since I've seen S-Record files before, I made sure that my code supports these as well.