- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hey all -
The FX3 requires 32 bit addressing, but everything that goes over USB2 (and, at the very least, control endpoints on USB3) is 16 bits. How are the extra 16 bits pushed to the FX3? If you have the fields:
int requesttype, int request, int value, int index, char *bytes, int size, int timeout
... in your USB control message, are you pushing the extra 16 address bits over the index field?
Thanks for your time!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When you say 32 bit I assume you're talking about the GPIF II interface. The USB data is sent during the data phase, what you're looking at is the setup packet of control transfer. The data is packetized and sent during the data phase.
Regards,
Anand
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Anand -
Yes, I am talking about the GPIF II interface.
So there is a setup phase, and a data phase? Can you link me to documentation about these two phases?
If not, at the very least, can you explain the format of the data that is sent in both?
Thanks for your time!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try http://www.beyondlogic.org/usbnutshell/usb-in-a-nutshell.pdf for the basic USB stuff. This has the necessary details.
Regards,
Anand
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Anand -
Okay, there was definitely a mis-understanding.
I now understand that the FX3 chip does _not_ use GPIF2 for firmware programming, which leaves me with my original question:
1) What commands are you sending the CPU to program the firmware?
This is a really simple question, and I would love to see a real explanation for how the firmware gets programmed into RAM.
Thanks for your time.