need help getting CY7C67300 to enumerate with OS | Cypress Semiconductor
need help getting CY7C67300 to enumerate with OS
I am using a CY7C67300 usb controller, which is part of this Xilinx development board: http://www.xilinx.com/products...HW-V4-ML405-UNI-G.htm
I am currently attempting to use the CY3663 development tools to make my CY7C67300 be a simple peripheral, running in standalone mode. simple example 3 (se3) from the "USB Multi-Role Device Design By Example" uses GDB to program and debug the controller, and is supposed to make SIE1 enumerate as an HID when connected to a PC. Instead, it comes up as "uknown device" with VID=0x0000, PID=0x0000.
I have also tried an even simpler test of not changing the default values for device descriptor that the BIOS starts up with, and it still doesn't work. I know for sure that SUSB1_DEV_DESC_VEC (0x00B4) is pointing to a memory location that contains the default Cypress device descriptor (I checked with gdb). So basically there are all the default values for device descriptor/configuration descriptor/string descriptor, and then I call susb_init( SIE1, USB_FULL_SPEED );, and on my windows XP box, it pops up as "unknown device" with 0x000 for VID and PID.
From my understanding of the documentation, that should absolutely, 100% work. I'm completely stumped and would be grateful for any kind of advice, be it a direct answer, or just pointing me to a resource that can help me solve the problem. Some things that could be wrong, i guess, are configuration settings of some kind (like in fwxconfig.h or usb.c or fwxmain.c or something?) or some issue with this CY7C67300 chip in a different development board than the ones included with the CY3663 development kit. I have spent the last 2 days futzing around in all those files, but couldn't get anything different to happen. I also tried making having it run from EEPROM instead of being sent over the USB with GDB, but that didn't change anything.
I've looked through all the knowledge base articles relating to the CY3663, as well as read all the documentation to the best of my abilities (I am a complete neophyte at this), so please don't just tell me to look there, unless you know of a specific thing that I overlooked.
Thanks in advance to anybody who takes the time to try and help me.