When I'm trying to write data to Fx3 device from a FPGA device, I always get zero-lengh data transfer despite buffer being full (I know it is full base on the state of DMA flags). I noticed strange behavior of my RDY signal in a middle of a transfer it goes low for some reason and after few clock cycles it goes high (as it should be)
In attachment i'm sending you firmware which I use and state machine from GPIF designer
Env: Ubuntu 20.04, SDK1.3.4_linux
The thing is no matter use cyusb_linux or download_fx3, flash programmer can be loaded to RAM successfully, but the SPI part failed. the terminal log is as below
➜ cyusb_linux_1.0.5 ./bin/cyusb_linux
Found FX3 flash programmer
SPI sector erase failed
Failed to erase SPI flash
Thanks in advance!
I created a new CX3 UVC project, I modified the imagesensor.c file and added CDC interface for UART debugging in the project.
My problem is that after downloading the configured .img file to the hardware, I can open the camera software and drive the camera normally but there is no image.
My UART log is as follows
I enabled CX3_DEBUG_ENABLED and SENSOR_DEBUG, the only result printed is the above and the register configuration.The following information that I want to observe is not in the UART log.
I would like to know what should I do next for debugging,hope someone can help me, thanks a lot!
This is a continuation of an issue from: FX3 emmc unreachable after format in manual
The FX3 does not allow the drive to be formatted when set to manual, this is a big issue since we want to encrypt data as it is passed through. The drive becomes unrecognizable after this process, after trying it once, failing, then trying again, the drive does appear as "raw" in device manager, but it is still not format-able. Is there an additional call back that must be added? Please note when firmware is written and the drive is formatted under auto, then reset back to manual, files can be written and read like normal, it is just when trying to format the drive in manual that this fails.
I apologize I can't seem to post a reply to the previous thread so creating a new one. I have tested this on a different FX3 with a different flash chip and the issue persists. Please see the attached project file which is a very slightly modified version of the MSC example and these videos, to find the places where changes were made in the zip, search for the define "Manual_MSC". It is used in 3 places.
Video of failure to format to FAT with explorer, succeeding when switched back to auto mode, then failing again when trying to format in NTFS, and explorer crashed at the end too...
Video of formatting drive with device manager, FX3 just stopped working at the end, it was still connected.
I have also tried other formatting tools and this still fails.
Is there a call back that is missing in: CyFxMscApplnDmaCb? Or is there a response that is meant to be added to CyFxMscApplnUSBSetupCB?
Q:我想透過CX3發送一次I2C Write命令且Write data是64K Byte，想請問CX3是否能夠完成上述功能?
我查看CX3 TRM並不會有這樣的限制，因硬體最大Data counter Register是32bits,而
應可滿足一次I2C Write寫完64K Byte。
We are developing a custom module that features MIPI 2lane, 960 Mbps/lane.
The module has "Embedded Line Data" so we are able to recognize whether the stream is successive or not.
We can get an index for each image and the index should be one of 0, 1, 2, and 3.
However, we only can get images that contain an index of 0 or 2. as below.
Previously, we posted a thread on how to check the DMA buffer to check the image index as below.
We tried to apply the advice from the above thread but it didn't work.
When we applied it, the image flows like below.
Also, the log didn't print out as I expected.
Actually, I want to check the index information, but it was not possible.
So I tested whether it is possible to retrieve data as below.
First, we copied the buffer count to the temp variable that is "ptr_buf_count".
Second, print copied count value.
However, the count value is "0" and even "CB failure" log appears. (Originally, it didn't appear.)
Also, when the image flows, the "Embedded Data Line" is totally abnormal.
(Phase should be one of 0, 1, 2, and 3 / MicroFrame should be 100)
we want to verify that we can receive a successive image.
When we are using the FX3 in development everything works fine.
We have questions on switching over to our own VID/PID once we obtain a VID from USB-IF.
Currently we must program the FX3 with our APP image by using Cypress GUI “cyusb_linux” every time we power-up.
I see in the Cypress Library the routine to call that will do same and program our APP image into Fx3. But it doesn’t work.
Think won’t even compile? Once we program the efuse and have our won VID we will need to be able to program the FX3
By calling the library routine and not using the GUI cysb_linux, how do we do that?
When have own VID, does it get just programmed in when we load our own APP image?
What do we need to program the efuse? Can we do that with FX3 installed on our boards?
Do we need anything else to use the chip and ship it in systems?Show Less
What is Infineon's recommended method to use USB-C to interconnect devices designed for PCIe?
Will one of the Peripheral Devices: FX3, CX3 or SX3 convert the PCIe data to USB 3.0?
Cypress USB Type-C Controller Supported Solutions - KBA97179 @ https://community.cypress.com/t5/Knowledge-Base-Articles/Cypress-USB-Type-C-Controller-Supported-Solutions-KBA97179/ta-p/247899 mentions PCIe in context with Display Port data, suggesting use of Alternate Mode.
The output of CY3065+OV5640 is normal when connected to the computer UVC. After connecting to the Android phone, the UVC device can be recognized, but the camera cannot be opened. Check the log log output of the software and find that: The application is unable to configure the output video parameters. The personal troubleshooting reason may be that the video data is inconsistent. CY3065 outputs YUY2 data format. Does CY3065 support other data formats such as YUV420? Please give directions, thank you!Show Less
UVC based application for FX3 is created based on the framework of AN75779. 24bit GPIF is used(D23:D0) . image is 800*600. Pixel depth is 24bit/pixel, i.e. 3Byte/pixel. Since it is 24bits/pixel raw image, GUID for RGB888 is used for media type and RGB888 will be debayered in host. DMA buffer keeps the same: 16kB, 4 counts, 2 sockets. Only change the GPIF bus to 24bits, LD_DATA_COUNT, LD_ADDR_COUNT to 5455. However, it can't stream.
But according to KBA226722,
S= 800*600*3= 1,440,000 byte,
F= int(S/(16384-16))= 1440000/16368 = 87
P= fraction of S/(16384-16) * 16368 = 0.976594*16368 = 15984
It should be working.
I noticed that in KBA226722 , it mentioned in item 5 "If exact line data (i.e nothing is appended at the end of the line data) is intended to be sent to the Host, then make sure that line size in bytes is divisible by GPIF bus width (in bytes)." I don't quite get this point.
Help is needed on the proper setting of DMA configuration and GPIF state machine data and address count value.
Thanks in advance