1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

Cypress EZ-USB FX Firmware Download

Discussion in 'Embedded' started by larry.kiss@gmail.com, Aug 7, 2005.

  1. Guest

    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
     
    , Aug 7, 2005
    #1
    1. Advertising

  2. 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
     
    Mark McDougall, Aug 8, 2005
    #2
    1. Advertising

  3. Bill Davy Guest

    I know you say you are using the FX but the FX2 and FX2LP have the CPUCS at
    0xE600; might that be the problem?

    <> wrote in message
    news:...
    >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.
    >
     
    Bill Davy, Aug 8, 2005
    #3
  4. Guest

    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
     
    , Aug 8, 2005
    #4
  5. Guest

    >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
     
    , Aug 8, 2005
    #5
  6. Jona Vark Guest

    <> wrote in message
    news:...
    > 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.
     
    Jona Vark, Aug 10, 2005
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Gavin Brewer

    USB Bulk Reads via Cypress EZ-USB FX2

    Gavin Brewer, May 9, 2007, in forum: Embedded
    Replies:
    3
    Views:
    654
  2. Bill Davy
    Replies:
    18
    Views:
    2,297
    Bill Davy
    Jun 15, 2007
  3. Bill Davy
    Replies:
    0
    Views:
    436
    Bill Davy
    Mar 8, 2008
  4. galapogos

    Cypress EZ-USB FX2 firmware downloading

    galapogos, Sep 19, 2008, in forum: Embedded
    Replies:
    5
    Views:
    2,294
  5. alacky3
    Replies:
    15
    Views:
    999
    Albert van der Horst
    Jun 1, 2011
Loading...

Share This Page