USB superspeed peripherals Forum Discussions
text.format{('custom.tabs.no.results')}
I have the CYUSB3KIT-003 EZ-USB FX3 SuperSpeed Explorer Kit, and have difficulty merging the different C project solution examples you provide in the SDK ZIP-folder.
I simply want to use the "BootLedBlink" project solution together with the "UsbSpiDmaMode" project solution. I've included the additional paths in Eclipse (compiler + assembler), such that I can use
#include "cyfx3gpio.h"
in my cyfxusbspidmamode.c script file.
When I try to use a function from the header file, ex. "CyFx3BootGpioInit ();", I get an "undefined reference to "CyFx3BootGpioInit" error:
I am completely new to all this setup, but I have had no luck trying to find a solution. Several Google results discuss the makefile, and incorrect referencing.
Below You can see I've used both path references:
Hope its an easy fix!
-Soren
Show LessI inherited this project from somebody else, it's an OV4688 sensor connected to a CX3. The parameters are:
width = 1920
height = 1440
h_blank = 100
v_blank = 49
THS-prepare = 66.5
THS-zero = 152.75
data lanes = 4
CSI clock = 280Mhz
data format = RAW8
GPIF bus = 24bits
REFCLK=24
pre divider = 3
PLL out range = 250-500
clock dividers both set to 4.
if I set the multiplier of Unit CLK to 112, the CX3 receives frames from the sensor just fine. I know this because I'm debug printing over the UART the frames received, and the (zero) MIPI errors. The media-foundation based UVC app receives frames just fine.
If I set the multiplier of Unit CLK to 100, the CX3 continues to receive the frames just the same - at 90FPS, no mipi errors at all, and the frames are getting sent to the PC (I know, I spied on them with a hardware USB debugger), but the frames aren't being received by the UVC streaming system. I don't know where they are going!?
I don't know a thing about USB transmission, but the presence of an "Not Ready Transition" makes me wonder what is going on.
Only if I increase the clock multiplier to about 112, will the PC receive frames... so very, very odd.
Suggestions?
Show Less
Hi
I need to configure the IMX294 with the use of the CX3, but I have no idea. Has anyone configured the IMX294? Or the sensors of the IMX series, if so, please help me. It would be better if you could share the configuration file with me. Thank you very much for your help
Show LessI am considering replacing the Renesas USB Host Controller with FX3.
R8A66597FP is mounted on the current board.
Code Example has an example of USB Host (cyfxusbhost).
Is it possible for this CE to replace the current device?
Thanks,
Tetsuo
Show LessHi,
In cyfxusbi2cregmode, glEp0Buffer doesn't need to be 32 bytes aligned because it is only used in setup messages, and CyU3PUsbGetEP0Data and CyU3PUsbSendEP0Data don't use DMA to transfer the data.
Is this correct?
Thanks
Lucas
Show LessCYUSB3KIT-003+AN75779 not working
anybody could help me?
I configure 2 board with ov7725, to get easy analysis, I use a very slow rate: 640*480*30FPS, YUV2.
I'm sure that both I2C image sensor configuration are OK! the image sensor is giving the right signal.
(1) my customer board cyusb3014+FPGA+imagesensor, I use FPGA as an intermediate device to capture signals to my PC for analysis , FPGA get imagesensor signals and then forward to cyusb3014, the job is extremely simple, all meaning ful FPGA code is given as follows,
reg LV_reg=0,FV_reg=0,PCLK_reg=0;
reg [15:0]DQ_reg;
always@(posedge cmos_pclk)begin
LV_reg <= cmos_href;
FV_reg <= cmos_vsync;
DQ_reg <= {8'd0,cmos_data};
end
always@(posedge cmos_pclk)begin
LV <= LV_reg;
FV <= FV_reg;
DQ <= DQ_reg;
end
assign PCLK = cmos_pclk;
where LV, FV, DQ, PCLK are output wires to cyusb3014 directly
The custom board works fine!
(2) the same code was used for CYUSB3KIT-003, but I cannot get a trace of image. (FAILED anyway)
the configuration is similar to
I cannot figure out what is the problem....
Show LessHi,
We use EZ-USB FX3, Source code is base the "AN65974" project.
We want to change bulk mode to isochronous, but failed. Could you help us to set it?
Thank you very much!
Attachment is the source code.
Show LessHello,
As I managed to get streaming working on Denebola kits we went further into developing our solution (there is coax ser-des between sensor and CX3). Two of the boards are working as expected (we still have issues with SerDes but they were expected and will be fixed in near future). Because we had to strenghen our numbers we ordered three more boards - and no MIPI lock condition on receiver is seen despite using same firmware and same custom extension board. Have anyone experienced similar behavior?
Hello everyone!
I have a problem with the DmaMultiChannel used for the frame transmission on the CX3 when working on a custom uvc host app.
I'll explain you the problem in the following steps:
- If I use a UVC host app such as e-CAMView I don't have problems when, after flashing the FW in the CX3 I start and restart the Frame transmission (by opening and reopening e-camview).
- With the Custom Uvc Host app that I previously mentioned, when I first start the streaming after rebooting the FW I have a normal transmission. When I send the command to stop the transmission I somehow generate an overflow on the DMA multichannel: I can easily notice this by using, as soon as the function CyCx3UvcAppStop is activated, a CyU3PDmaMultiChannelGetBuffer command. At this point I noticed (thanks to the UART debugger) that the status of the DmaMultiChannel buffer is set to 0x8 (CY_U3P_DMA_BUFFER_OCCUPIED) and that the channel count parameter is equal to the size of the buffer. From a comparison with the output of e-camview, I know that at this point of the execution the status should be set to 0x0 and the count to 0x0.
- Even if in the UvcAppStop function I perform the standard reset of the channel and the EP cleanup, when I restart the uvc host app the DmaMultiChannel is still on the same status (CY_U3P_DMA_BUFFER_OCCUPIED) and I get the CyU3PDmaMultiChannelCommitBuffer error 0x47 (CY_U3P_ERROR_INVALID_SEQUENCE) when the UVC thread starts running. More specifically, the reset that I perform is the following:
CyU3PMipicsiSleep(),
CyU3PGpifDisable(CyFalse);
glIsApplnActive = CyFalse;
CyU3PUsbSetEpNak(CX3_EP_BULK_VIDEO, CyTrue);
CyU3PBusyWait(100);
CyU3PDmaMultiChannelReset(&glChHandleUVCStream);
CyU3PThreadSleep(25);
CyU3PUsbFlushEp(CX3_EP_BULK_VIDEO);
CyU3PUsbSetEpNak(CX3_EP_BULK_VIDEO, CyFalse);
CyU3PBusyWait(200);
if (glIsClearFeature) {
CyU3PUsbStall(CX3_EP_BULK_VIDEO, CyFalse, CyTrue);
glIsClearFeature = CyFalse;
} - The only effective solution to restart the DmaMultiChannel so far is to unplug and replug the device and to flash the FW again.
I think that the problem might be related to the UvcHostApp not consuming the buffer committed the the consumer socket when I stop the execution, thus generating some sort of overflow. I tried to apply this suggestions without success Invalid Sequence Error in Multi-Channel Commit Buffer - KBA218830 .
Do you have any suggestions on where the problem could be? Do you know why the DMaMultiChannnel is not properly reset?
I thank you in advance for your answer.
Best regards,
Costantino
Show LessWe are implementing 2nd bootloader, which has EEPROM writing/update capability and will reside in I2C-access EEPROM, for FX3, CYUSB3013-BZXC. There is an urgency and preference to finish within a few days.
Background,
- We use the following Cypress FX3 example project for bootloader and EEPROM writing.
- Cypress FX3 SDK1.3.4
- 1. (for 2nd bootloader) EZ-USB FX3 SDK\1.3\firmware\boot_fw
- 2. (for EEPROM writing/update) EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxflashprog
- FX3 Fail Safe Firmware Update
- Cypress FX3 SDK1.3.4
- Current status on Cypress FX3 explorer kit
- 2nd bootloader was implemented by using above 1.1 sample project. We have some stable issue but can tolerate for now.
- EEPROM writing/update by 2nd bootloader is briefly tried out by using above 1.2 sample project. It hangs.
Here are questions.
- (most important task) Writing EEPROM from 2nd bootloader
- We saw DMA setup is configured along with EEPROM writing in above 1.2 sample project. Initial tryout of this project hangs. Is there a simple sample project of EEPROM writing or reading sample project without DMA we can use to simplify things?
- Is there any Cypress sample project other than above 1.2 sample project we can or should use?
- Debugging tools
- UART output is not working from 2nd bootloader but working from multi-thread functions. Any comment?
- 2nd Bootloader - Cypress bootloader doesn’t load successfully 2nd bootloader every time from EEPROM to RAM.