USB superspeed peripherals Forum Discussions
Sir/Madam,
My Linux host application for USB FX3 reports "Segmentation fault."
(gdb) strace is blaming "cyusb_open()"as of attached below.
Comments is highly appreciated.
Sincerely,
Liu
-----------------------------------------------------------------------------
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7e59dcd in _IO_str_init_static_internal (
sf=sf@entry=0x7fffffffd4e8,
ptr=ptr@entry=0x7fffffffd75a "5.4.0-42-generic", size=size@entry=0,
pstart=pstart@entry=0x0) at strops.c:41
41 strops.c: No such file or directory.
(gdb) backtrace
#0 0x00007ffff7e59dcd in _IO_str_init_static_internal (
sf=sf@entry=0x7fffffffd4e8,
ptr=ptr@entry=0x7fffffffd75a "5.4.0-42-generic", size=size@entry=0,
pstart=pstart@entry=0x0) at strops.c:41
#1 0x00007ffff7e29343 in _IO_strfile_read (
string=0x7fffffffd75a "5.4.0-42-generic", sf=0x7fffffffd4e8)
at ../libio/strfile.h:95
#2 __GI___isoc99_sscanf (s=0x7fffffffd75a "5.4.0-42-generic",
format=0x7ffff7db5791 "%d.%d.%d") at isoc99_sscanf.c:28
#3 0x00007ffff7dafe57 in ?? () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
#4 0x00007ffff7da6ea3 in libusb_init ()
from /lib/x86_64-linux-gnu/libusb-1.0.so.0
#5 0x00007ffff7dc019b in cyusb_open() () from /usr/local/lib/libcyusb.so
#6 0x0000000000401c12 in ?? ()
#7 0x0000000000000001 in ?? ()
#8 0x00007fffffffe39e in ?? ()
#9 0x0000000000000000 in ?? ()
(gdb)
Hi Supoport,
Thank you for your usual support.My customer have a question,could you please answer below?
Target:CYUSB3014-BZXI
The value of the following parameter (tDH) differs depending on the datasheet, so please let me know which one is correct.
In addition, it is currently used in Slave FIFO (2bit address mode).
(1) CYUSB301X, CYUSB201X EZ-USB FX3 SuperSpeed USB Controller
https://www.infineon.com/dgdl/Infineon-CYUSB301X_CYUSB201X_EZ-USB_FX3_SUPERSPEED_USB_CONTROLLER-DataSheet-v21_00-EN.pdf?fileId=8ac78c8c7d0d8da4017d0eca1e7442aa
Table 15 Synchronous Slave FIFO parameters
tDH: CLK to data input hold: 0.5 ns (min)
(2) AN65974 Designing with the EZ-USB? FX3 slave FIFO interface
https://www.infineon.com/dgdl/Infineon-AN65974_Designing_with_the_EZ-USB_FX3_Slave_FIFO_Interface-ApplicationNotes-v17_00-EN.pdf?fileId=8ac78c8c7cdc391c017d07396c095deb
Table 3 Synchronous slave FIFO timing parameters
tDH: CLK to data input hold: 0 ns (min)
Best regards,
Koki
I am trying to view the status of a DMA channel but the `CyU3PDmaChannelGetStatus` API is returning a status of `CY_U3P_ERROR_BAD_ARGUMENT` and I am unsure why. I have the following code:
CyU3PReturnStatus_t apiRetStatus = CY_U3P_SUCCESS;
CyU3PDmaState_t dmaState;
uint32_t prodCount, consCount;
apiRetStatus = CyU3PDmaChannelGetStatus(&glChHandleUVCStream, &dmaState, &prodCount, &consCount);
if (apiRetStatus != CY_U3P_SUCCESS)
{
CyU3PDebugPrint(4, "DMA Channel Get Error: 0x%x\r\n", apiRetStatus);
}
`glChHandleUVCStream` is initialized with `CyU3PDmaChannelCreate` API as `CY_U3P_DMA_TYPE_MANUAL` in my application initialization function. Looking at the documentation on `CyU3PDmaChannelGetStatus`, all arguments are of the proper type. Any help would be appreciated. The variables passed to this function do get values filled out, including CY_U3P_DMA_ERROR as the status. Could this be related? How can I see the reason of the DMA channel's error status?
Show LessHello,
I programmed FX3S FPGA DEV BOARD REV-C by FX3SRAID0 code and some issues happened.
The issues: 1)sometimes when I write a few files to memory, the data of final file are zeros(NULL in ASCII)!
2) sometimes when I write a few files to memory, one of files is written incorrectly(first 4KB are correctly and second 4KB are incorrectly and so on)!
Show LessDev Board: CYUSB3KIT-003
I am currently working with the example "cyfxusbi2cregmode.c"
I understand that communications can be sent through the I2C pins SDA and SCL using the function:
CyFxUsbI2cTransfer (
uint16_t byteAddress,
uint8_t devAddr,
uint16_t byteCount,
uint8_t *buffer,
CyBool_t isRead)
Could someone please provide a quick example of how these parameters would be filled out when this function is called to communicate with a slave peripheral? Assume we want to send a simple 16 bit (2 byte) write communication. What would this look like? I also do not understand the difference between byteAddress and devAddr.
Thank you
Show LessHello, I'm working with EZ-USB FX3 DVK, I'm following the book super speed device design by example John Hyde. As per the book examples, I'm trying to execute the chapter 7 first example Poll4FX3, but I'm getting the following error as
"Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol _sprintf referenced in function "public: void __thiscall CCyUSBDevice::UsbdStatusString(unsigned long,char *)" (?UsbdStatusString@CCyUSBDevice@@QAEXKPAD@Z) Poll4FX3 C:\Users\Admin\Documents\FX3 Book Examples\SuperSpeed Design Examples V1.2.1\Visual Studio Projects\Poll4FX3\Poll4FX3\cyapi.lib(CyAPI.obj)"
Currently I'm using Visual Studio 2022. Please help me in debugging the error.
Thank you,
Sneha Dillikar
I am using the Slave FIFO example to send UVC data to the USB host. I am able to send 8KB buffers using a 16-bit GPIF bus but my firmware is reporting that it is state 131 from `CyU3PGpifGetSMState`. This state is obviously undefined in the GPIF source yet no error is reported by `CyU3PGpifGetSMState`. Why would I be getting an invalid state from this function? I have included a photo of a log I have received and the firmware used to generate it.
Show LessI am using GPIF to communicate with an FPGA but am experiencing issues where the firmware is staying in the reset state without logging any errors. Due to no state changes, I believe the issue may be with the clock being used and want to get some help verifying that I have the correct firmware configuration. In GPIF I am using the "External" clock setting and my understanding is that the FX3 supports up to a 100MHz clock and simply needs to be connected to GPIO 16 to work. Is this correct? Is any other configuration needed? My PIB clock init is as follows:
pibclock.clkDiv = 2;
pibclock.clksrc=CY_U3P_SYS_CLK;
pibclock.isDllEnable = CyFalse;
pibclock.isHalfDiv = CyFalse;
And the device clock is configured as follows:
clockConfig.setSysClk400 = CyFalse;
clockConfig.cpuClkDiv = 2;
clockConfig.dmaClkDiv = 2;
clockConfig.mmioClkDiv = 2;
clockConfig.useStandbyClk = CyFalse;
clockConfig.clksrc=CY_U3P_SYS_CLK;
I am using a 16-bit data bus.
Show LessI'd like to write my own i2c programming flasher, like the one that's in the Cypress Control Center when you click "program> FX3 > EEPROM," But I'm not understanding how what the data format should be for the control transfers once I have the CyBootProgrammer.img running on the FX3. Is it documented somewhere?
Thank you.
Hello,
My fx3 has to work as a usb 3.0 device when it is connected to host. But when it is connected with usb2.0 device, it has to work as usb 2.0 host(OTG mode).
One possible simple method could be loading individual firmware suitable for each case.
But I want to do the above in a single firmware. What approach could be effective in this case?
Regards,
Rossi
Show Less