USB superspeed peripherals Forum Discussions
I hope to use 2 out endpoints and 2 in endpoints. I plan to use 1 dedicated flag and 1 dedicated partial flag for each out endpoint, 1 dedicated partial flag for each in endpoint. Therefore I need 6 endpoints in total. Is that feasible for FX3?
Show LessHi All,
I am having problems launching an OpenOCD session. I've followed the instructions configuring the session for my target interface, the CY7C65215, but when I try to open it, I get this error dialog:
Here's my setup:
Thanks for your help,
Scott
Show LessI'm working on UVC ISO with FX3, my code works fine in windows, but can not work in macos.
what's the difference between windows and macos of UVC driver ?
Do you guys have any idea about that ?
By the way , Is there any good debug tools on macos ? or any usbanalyzer like bushound ?
thanks a lot!
Show LessHi,
I have an FX3 which is as follows:
VIO1 is 1V8
VIO2 is 1V8
VIO3 is VADJ
VIO4 is 1V8
VIO5 is VADJ
AVDD is 1V2
VDD is 1V2
U3TXVDDQ is 1V2
U3RXVDDQ is 1V2
CVDDQ is 1V8
U3VSSQ is GND
VBATT is connected to VBUS
When VADJ is connected to 1V8, everything is hunky-dory. But when VADJ is connected to 2V5, my 1V8 rail for VIO1, VIO2, VIO4 and CVDDQ is shifted up to 2V6.
I don't have any conflict between 1V8 and 2V5 I/O. And the fact that is raised above 2V5 means it is most likely from the 5V or the internally generated 3V3.
Does my power rail combination not possible, they are normally between the limits express in the datasheet.
Any help is welcome. Thanks.
Etienne
Show Lessthe cyfx3s_msc firmware on a SFXS board supports cards of 512MB, 1GB, 2GB, 32GB in size; but doesn't support 4GB or 16GB.
Why ? I also have found no answer in the firmware itself. Any clue ?
Show LessI am working on fx3 development board. I used "USBVideoClass" example project to stream MJPEG hard coded video. But now i want to modify the same code to stream uncompressed yuy2 data. So please can any one suggest me that what all changes I need to do.
Show LessPreviously I develop firnware of FX2P. It has a conception of auto commit for an in endpoint. If the packet end signal does not asserted and data are continuously written into the in endpoint. The data would be auto commited. What is the meanning of commit. Does it mean the end of a packet. Does the similarity exists for FX3? I remmeber I should set the auto commit option for FX2L, but I have not seen the setting of auto commit for FX3.
Another question is: Does one packet have to exclusively occupy a buffer no matter how short the packet is?
Show LessHi
This is Herrick Oh at Ezsys in Korea.
My customer found CRC error problem in web camera that we supplied to them.
We used CX3 with bulk data transfer firmware (using CyU3PDmaMultiChannelCommitBuffer).
They checked it with Beagle USB 480 ( https://www.totalphase.com/products/data-center/) to check CRC.as the picture below
My customer's host is
1) Kernel : 3.4.39+
2) Android System : 4.4 kitkat
Did you see similar cases?
I hope to be informed how I can start to solve the issue.
Regards
Herrick Oh
Show LessI use slave fifo transfer of FX3. I use control center to send data to a out endpoint. FPGA connecting with FX3 does not read data from P port. The outcome is the host can send two packets to FX3 successfully and the third packet fails.
How to explain this?
Thank you.
Show LessGreetings.
In my work I am using a CX3 reference device kit board and I am trying to develop a bootloader for it. Since I want the bootloader to have more features than either the bulkLoop Example Bootloader Firmware offers or the USBFlashProgrammer I took as base the first one and added some functions and vendor requests. I am encountering some weird behaviors when I try to erase Blocks in the SPI Flash through 0xEB custom vendor request and then send to the SPI the command 0xD8 0x08 0x00 0x00 verified through checking the bus. As far as I read in the winbond datasheet it is supposed to be Erase Block of 64KB(0xD8) followed by MSB first and ending with LSB where the last 3 bytes are used to store the address of the specified sector. 0x80000 = 0x8 * 0x10000 so it's a multiple of 64KBs. I would also like to point out that the memory sectors are not locked but even if they were it would ignore the command not erase a different one.
The function that follows shows the function I am using in order to erase the block which is very similar to the one used by USBFlashProgrammer.
CyFx3BootErrorCode_t
blockErase ( uint32_t address )
{
CyFx3BootErrorCode_t status = CY_FX3_BOOT_SUCCESS;
uint8_t addr[4];
addr[0] = 0xD8; /* Sector erase. */
addr[1] = (address >> 16) & 0xFF;
/* */
addr[2] = (address >> 😎 & 0xFF;
addr[3] = (address) & 0xFF;
status = spiWriteEnable();/* Write enable. */
if (status != CY_FX3_BOOT_SUCCESS)
{
return status;
}
Cx3BootSpiSetSsnLine(CyFalse); /* Sector erase. */
status = Cx3BootSpiTransmitWords(addr, 4);
if (status != CY_FX3_BOOT_SUCCESS)
{
Cx3BootSpiSetSsnLine(CyTrue);
return status;
}
Cx3BootSpiSetSsnLine(CyTrue);
status = waitForSpiStatus();
return status;
}
And then the custom vendor request added follows:
case 0xEB:
UartTransmit ("Erase Block", sizeof("Erase Block"));
UartTransmit ("\n\r", 2);
status = blockErase(bl);
break;
When I send the command I see the message of UartTraasmit() and the blockErase() gets executed as well.
The behavior I receive is that even though I pass 0x80000 as address it still erases from sector 0 regardless of the address.
First of all I would like to ask what Vendor Requests are supported by the OnBoard Bootloader. I would also like to say that the functionality of automatic USBFlashProgrammer img download to RAM for Control Center has been put out of order right now so I know I receive the right requests while having the bootloader working.behavior happens ?
Also do u have ideas why this is happening?
Show Less