Motherboard Forums


Reply
Thread Tools Display Modes

Cypress EZ-USB FX Firmware Download

 
 
larry.kiss@gmail.com
Guest
Posts: n/a
 
      08-07-2005, 06:32 PM
I am designing a new USB device that contains the Cypress EZ-USB FX
chip. I am trying to download some very simple/basic firmware code to
the EZ-USB FX chip through the Cypress USB Control Panel. Before I get
too far, let me start this by saying that the device does enumerate as
a Cypress EZ-USB - EEPROM Missing device.

With that said, as soon as I select the .hex file to download firmware
to the device, the Control Panel freezes until I reset my USB device.
I have monitored the USB traffic via a CATC USB Chief Bus & Protocol
Analyzer. The problem arises when a Control Write (vendor specific
firmware upload) is performed to CPUCS (0x7F92) with a value of 0x01.
Writing 0x01 to CPUCS holds the 8051 in a reset state until all the
firmware has been downloaded and the device has been renumerated.

So anyway, the Control Write to CPUCS with a value of 0x01 is initiated
by the host with a SETUP Packet (followed by a data packet) which is
ACKed by my device. Then an OUT packet is sent (followed by a data
packet) with the value to be written to CPUCS (0x7F92). This OUT
packet is NAKed by my device. From this point on, any kind of OUT
packet sent in an attempt to send the Control Write value of 0x01 to
the device is NAKed by the device.

It seems as if the device just doesn't want the host taking the 8051
core into a reset state... I can't find anything in the EZ-USB FX spec
to denote a similar behavior, so I'm hoping someone out in the digital
world may have a tip or two.

Thanks for any insight on any of the above discussion topics.

Larry

 
Reply With Quote
 
 
 
 
Mark McDougall
Guest
Posts: n/a
 
      08-08-2005, 07:58 AM
(E-Mail Removed) wrote:

> It seems as if the device just doesn't want the host taking the 8051
> core into a reset state... I can't find anything in the EZ-USB FX
> spec to denote a similar behavior, so I'm hoping someone out in the
> digital world may have a tip or two.


The EZUSB download does indeed hold the FX in reset via a write to
0x7F92. So that is correct behaviour.

However, why your device is NAK'ing subsequent OUT packets, I can't say.
Nor have I used the Cypress CP for a *long* time. I've been using the
'ezloader' windows driver without (major) problems for 3 different
designs now.

For one product, we built a few boards up by hand with a slightly
under-sized footprint for the EZUSB. We also forgot to ground a few of
the reserved pins (you have to), so there was a patch wire or two. Not
surprisingly, a couple of the boards wouldn't come up properly. One
board did enumerate as a vanilla Cypress EZUSB, but would refuse to
download firmware! We don't have access to a USB protocol analyser, but
no amount of inspection/rework revealed or corrected the problem.

The reason I bring this up is I'm wondering if you're suffering from a
similar assembly problem? Are you able to try another PCBA?

Regards,
Mark
 
Reply With Quote
 
 
 
 
Bill Davy
Guest
Posts: n/a
 
      08-08-2005, 08:50 AM
I know you say you are using the FX but the FX2 and FX2LP have the CPUCS at
0xE600; might that be the problem?

<(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
>I am designing a new USB device that contains the Cypress EZ-USB FX


......

> firmware upload) is performed to CPUCS (0x7F92) with a value of 0x01.
> Writing 0x01 to CPUCS holds the 8051 in a reset state until all the
> firmware has been downloaded and the device has been renumerated.
>


 
Reply With Quote
 
larry.kiss@gmail.com
Guest
Posts: n/a
 
      08-08-2005, 03:46 PM
I don't have a choice as to what register address CPUCS is being
accessed at. When using the Cypress USB Control Panel to download
firmware, you specificy the .hex file, and it will does a number of
things before and after it sends the hex file. One thing it does is
hold 8051 core in reset by sending a 0x01 to CPUCS register. I don't
have control over which register is being written to. But, to answer
your question, No it's probably not the problem. I have a technical
reference manual for the FX chip and it is the correct register being
accessed.

Thanks for taking the time to respond.

Larry

 
Reply With Quote
 
larry.kiss@gmail.com
Guest
Posts: n/a
 
      08-08-2005, 03:52 PM
>The EZUSB download does indeed hold the FX in reset via a write to
>0x7F92. So that is correct behaviour.


This is correct behavior, but I can't assume that it is even happening
in my situation. The data stage of the control write is never ACKed by
the device, to acknowledge that it has received the command to hold the
8051 in reset.

> We also forgot to ground a few of the reserved pins (you have to), so there was a patch wire or > two. Not surprisingly, a couple of the boards wouldn't come up properly.


This was the first thing I started looking at when having issues. I
will triple check since it has affected your previous designs.

> Are you able to try another PCBA?


This is for an independent study for graduate school and resources are
limited. So, to try another PCB would not be a viable solution, yet!


Thanks,

Larry

 
Reply With Quote
 
Jona Vark
Guest
Posts: n/a
 
      08-09-2005, 11:09 PM

<(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
> I am designing a new USB device that contains the Cypress EZ-USB FX
> chip. I am trying to download some very simple/basic firmware code to
> the EZ-USB FX chip through the Cypress USB Control Panel. Before I get
> too far, let me start this by saying that the device does enumerate as
> a Cypress EZ-USB - EEPROM Missing device.
>
> With that said, as soon as I select the .hex file to download firmware
> to the device, the Control Panel freezes until I reset my USB device.


Not sure I understand.
As soon as you select it or download it?

I wrote my own downloader in my app but I don't recall having any problems
with functional code in the control panel as far as downloads go.

This happens with any code? Remember the hex files for the downloader have
to be prepared for the FX2. Regular hex files won't work.





 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Firmware architecture for firmware update alacky3 Embedded 15 06-01-2011 10:29 PM
Cypress EZ-USB FX2 firmware downloading galapogos Embedded 5 09-22-2008 02:39 PM
Cypress FX2 UART1 loop back fails in Mode 2 but OK in Mode 1 (Or "Do you have MCE code for Cypress FX2 UART1?") Bill Davy Embedded 0 03-08-2008 02:45 PM
How to opena handle to "Cypress EZ-USB FX2 (68613) - EEPROM missing" and download a program to RAM Bill Davy Embedded 18 06-15-2007 02:24 PM
HP 9200 CD-Writer 1.0e Firmware Download John Smith HP 0 10-20-2004 02:57 AM


All times are GMT. The time now is 09:15 AM.


Welcome!
Welcome to Motherboard Point
 

Advertisment