Hi,
My journey of searching for a simpler USB communication scheme went nowhere so I am now exploring the more-or-less standard way.
My goal is to have PC tranfer a small amout of data (1MB) to the device's SDRAM and then have the device acknowledge that the data has been received and verified.
I've successfully ported part of usb_msc example to my board. Because I don't have MMCSD or NAND, so none of MSCMEDIA_MMCSD or MSCMEDIA_NAND in psp_bios_usbdev_msc_sample.c is defined. Then on PC, from USBView, the device descriptor shows up like this
- Device Descriptor:
- bcdUSB: 0x0200
- bDeviceClass: 0x00
- bDeviceSubClass: 0x00
- bDeviceProtocol: 0x00
- bMaxPacketSize0: 0x40 (64)
- idVendor: 0x09D9
- idProduct: 0x0001
- bcdDevice: 0x0001
- iManufacturer: 0x02
- iProduct: 0x01
- iSerialNumber: 0x03
- bNumConfigurations: 0x01
- ConnectionStatus: DeviceConnected
- Current Config Value: 0x00
- Device Bus Speed: Full
- Device Address: 0x04
- Open Pipes: 0
There is no endpoint.
Here come my questions,
- Can I reconfigure the EDMA so that it directs data to SDRAM instead of blkmedia/MMCSD/NAND?
- If the answer to Q1 is yes, I will need a way to expose Endpoint descriptors. It looks to me that now, the EP descriptors are embedded deeply somewhere in mscglue or blkmedia or jungo fd.
- I can't use blkmedia driver, because the size is outrageous to me. This has to fit in 512KB NOR flash. Gosh, considering CY7C67200 has only 16Kb memory.
- Is there a plan to support USB audio device? Since one of the target application is pro audio...
It has been frustrating having to deal with so many layers (and some are close-source).