Hello, I'm using the Denebola kit, I'm trying to write data to SPI flash, I don't get any error while writing data, but when trying to read back I get a value as 0, one more thing to notice is, at some locations values is same as what I have I written.
Let me explain the whole thing clearly, present I'm using a failsafe firmware update, this is the source:https://community.infineon.com/t5/Resource-Library/FX3-Fail-Safe-Firmware-Update/ta-p/246074
but as explained there I'm not using I2C, instead, I'm using SPI, and I'm using the merger provided in the source to combine Images, so my partition is the same as explained in the source.
i.e, bootLoader Partition starts at 0x0000
Primary Firmware starts at 0x6000
Secondary Firmware starts at 0x23000
I'm able to boot to primary Firmware and Secondary Firmware,
I'm using the USBBulkSrcSink example provided in the source, in there I tried to write data to the 0x6000 location and read the data,
the values which are written is stored perfectly, but using the same process I tried to access 0x3FFFF values are not reflecting while reading, even I don't get any error while writing.
screen shot is shared :
Red bix shows code and green box shows output
Show Less
I'm trying to run FX3 for compliance testing. But It can't enter test mode. Are there any conditions to enter test mode?
Also, is there a way to tell if FX3 has entered test mode?
Thanks,
Tetsuo
Is it possible to change DMA configuration while running and restart DMA?
Below is a source that runs in 2-socket GPIF mode and runs fine.
and I want to stop GPIF and run it in loopback mode .
but it stop running.
The red source seems to be wrong.
Please give me guide line. Thank you.
dmaCfg.size = (usbSpeed == CY_U3P_SUPER_SPEED) ?(size * CY_FX_EP_BURST_LENGTH ) : (size);
dmaCfg.count = 4;
dmaCfg.validSckCount = 2;
dmaCfg.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaCfg.cb = NULL;
dmaCfg.notification = 0;
dmaCfg.prodSckId[0] = CY_U3P_PIB_SOCKET_0;
dmaCfg.prodSckId[1] = CY_U3P_PIB_SOCKET_1;
dmaCfg.consSckId[0] = CY_FX_EP_CONSUMER_SOCKET;
apiRetStatus = CyU3PDmaMultiChannelCreate (&glChHandleBulkSrc, CY_U3P_DMA_TYPE_AUTO_MANY_TO_ONE, &dmaCfg);
apiRetStatus = CyU3PDmaChannelSetXfer (&glChHandleBulkSrc, CY_FX_BULKSRCSINK_DMA_TX_SIZE);
( Runnig Well)
(change to loop back mode)
dmaCfg.prodSckId[0] = CY_U3P_CPU_SOCKET_PROD;
dmaCfg.prodSckId[1] = CY_U3P_CPU_SOCKET_PROD;// duplicate ?
dmaCfg.consSckId[0] = CY_FX_EP_CONSUMER_SOCKET;
dmaCfg.cb = CyFxBulkSrcSinkDmaCallback;
dmaCfg.notification = CY_U3P_DMA_CB_CONS_EVENT;
CyU3PGpifDisable(CyTrue);
CyU3PDmaMultiChannelAbort(&glChHandleBulkSrc);
apiRetStatus = CyU3PDmaMultiChannelCreate (&glChHandleBulkSrc, CY_U3P_DMA_TYPE_AUTO_MANY_TO_ONE, &dmaCfg);
apiRetStatus = CyU3PDmaChannelSetXfer (&glChHandleBulkSrc, CY_FX_BULKSRCSINK_DMA_TX_SIZE);
( running is stop)
我使用的开发板是CYUSB3KIT-003。开发板在StreamerExample模式下正常启动后,PC端通过EP0端口给开发板发送一个字节,开发板响应代码如下所示:
if(itype == 64 && itarget == 2 && ireq_type==66 && irequest == 11)
{
CyU3PDebugPrint(6, "switch to bootloader\r\n");
CyU3PUsbAckSetup ();
CyU3PThreadSleep (10);
app_stop();
CyU3PDebugDeInit ();
CyU3PUartDeInit ();
//CyU3PConnectState(CyFalse, CyFalse);
CyU3PUsbSetBooterSwitch (CyTrue);
CyU3PUsbJumpBackToBooter (0x40078000);
//CyU3PDeviceReset(CyTrue);
while (1)
CyU3PThreadSleep (100);
bis_handled = CyTrue;
}
我希望它切换到bootloader模式,结果设备不见了,如下图所示:
怎样用代码从StreamerExample模式切换到bootloader模式呢?如下图所示:
Show Less
Hi FX3 team,
From the example code in slavefifo_example\slfifosync, the UART in CyFxSlFifoApplnDebugInit (void) in the example code is pointing to CY_U3P_LPP_SOCKET_UART_CONS. meaning the UART message will be send to the physical UART port in cypress FX3 IC.
Can i reuse back the same code with minor change on :
and direct the UART message via USB to the host-PC and read it with teraterm terminal?
the example code i am refering to with the minor change is as in the picture attached.minor change in line 40
Show Less
Hello all,
Most of the data I'm trying to transmit seems to be going between the FX3 and the other chip just fine, but I'm periodically getting zero length packets seemingly coming from nowhere. I've been trying to debug this, but everything I've tried has been a dead end so far.
I'm trying to use the FX3 to connect an 8051 on our board with a host application on a windows PC. My setup is as follows:
Now the problem I'm seeing is that, the 8051 sends a keepalive signal periodically to the host app, and every once in a while, we get a zero length packet as well.
Here's what I've tried in my investigation:
I suspected that maybe there's noise or something changing the PKTEND pin long enough to trick the state machine into sending a ZLP, but my coworker has already dismissed that notion. He's the hardware guy, so I can't really make him check it, and he didn't leave a way to attach a scope or anything to the pin, so wouldn't be easy.
If anyone has any suggestions of what might be going wrong, or ideas for other things I could test, I'd love to hear them.
Show LessHi I am using FX3 USB superspeed hardware. I am trying to do file transfer from Master to Slave using cyusb_linux application. I have downloaded the latest application from your website. My OS is Ubuntu. I am getting the below errors LIBUSB_ERROR_TIMEOUT , LIBUSB_ERROR_OTHER and unable to clear halt data pipe. I want to transfer bulk files from master to slave. Kindly help me out in this. I have attached the screen shot. Thanks in advance.
Show LessHi All,
I am using a custom board where Fx3 USB controller is connected to Xilinx FPGA.
I am trying to create an board level Vhdl/Verilog test bench where Fpga is instantiated as DUT component and
FX3 as a test peripheral component.
Is there any VHDL/Verilog simulation model available for Fx3 USB Controller?
Thanks in advance,
Panneer Raja Vajravelu.
Show Less
Hi,
For my initial evaluation of USB3 Vision, I am using the source code shared in the forum. Using that source code, I am able to enumerate the device as a USB3 Vision device, but I cannot connect to any GenICAM application to test the streaming. Any guidance on this would be appreciated.
Thanks in Advance,
Vigneshkumar R.
Show LessHello,
I have study to this thread and other multiple FX3 transmission. Some simple question to clarified as below:
https://community.infineon.com/t5/USB-superspeed-peripherals/Multi-FX3-Usb-deivce/m-p/345350
1.) May I know is possible to have setup as below? (Attached photo)
2.) Currently we have one working .img file where the we could success read/write data between FPGA<->FX3<->PC.
Based on the Two FX3 Configuration picture, Can FX3_A and FX3_B share the exact same .img file without modification? Meaning Only modified on host C code, where set endpoint1, endpoint2 like example ConsoleApplication1 provided?
Thank you.
Thanks
Show Less