USB superspeed peripherals Forum Discussions
I want to use the Code found with the AN75779 to operate a non-Aptina sensor to produce an image. I do not want to use the I2C bus to communicate with the sensor. To that end, I commented out all instances of the I2C control code. I compile the project in Eclipse and it generates an image file. However, I see no image when I connect either Virtualdub or VLC player. Is commenting out the I2C code somehow corrupting FX3 operation.
I also do not understand the business of the Header that is supposed to attach to the stream. Is this something I am supposed to attach or is this something the FX3 chip attaches?
Show LessI need help on what next to try to get my Linux debug/development environment up and running. I can't get openocd to run/work properly. Here is what I have tried.
I'm working on getting my development and debug environtment working on ubunut. I have been following the instructions in FX3_SDK_Linux_Support.pdf section 4.2 and EzUsbSuite_UG.pdf section 3.2. I can't get the openocd program to recognize the device. I have tried both the openocd that came with the FX3_SDK_1.3.4_Linux.tar.gz and used apt-get to install the latest version. The openocd that came in the SDK get's farther, but reports it doesn't recognize thed device. The latest version doesn't get as far. The cyusb_linux program is able to run, program the usbbulkloopauto.elf, and then send and receive data. Below is os info, the runs of the two openocd and their versions.
#OPENOCD in sdk tar.gz
$./openocd -f /home/users/clehman/Cypress/./cyfx3sdk/JTAG/OpenOCD/Config/arm926ejs_fx3.cfg
Open On-Chip Debugger 0.8.0 (2014-12-03-16:28)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Warn : Adapter driver 'cy7c65215' did not declare which transports it allows; assuming legacy JTAG-only
Info : only one transport option; autoselect 'jtag'
adapter_nsrst_delay: 200
jtag_ntrst_delay: 200
adapter speed: 1000 kHz
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
RCLK - adaptive
adapter speed: 1000 kHz
USB Device: Vid=4b4 Pid=f0 Intf=1
USB Interface 0: Type=0
Error: CyGetDeviceInfo failed
Error: CyGetDeviceInfo failed
Error: CyGetDeviceInfo failed
Error: CyGetDeviceInfo failed
Error: CyGetDeviceInfo failed
Error: CyGetDeviceInfo failed
Error: CyJtagDevice Not found
in procedure 'init'
#OPENOCD downloaded
$/usr/bin/openocd -f /home/users/clehman/Cypress/./cyfx3sdk/JTAG/OpenOCD/Config/arm926ejs_fx3.cfg
Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Error: The specified debug interface was not found (cy7c65215)
The following debug interfaces are available:
1: parport
2: dummy
3: ftdi
4: usb_blaster
5: amt_jtagaccel
6: gw16012
7: presto
8: usbprog
9: openjtag
10: jlink
11: vsllink
12: rlink
13: ulink
14: arm-jtag-ew
15: buspirate
16: remote_bitbang
17: hla
18: osbdm
19: opendous
20: sysfsgpio
21: aice
22: cmsis-dap
# The version's of the two openocd
clehman@gigabyte1:~/Cypress/cyfx3sdk/JTAG/OpenOCD/Linux/x64
$./openocd -h
Open On-Chip Debugger 0.8.0 (2014-12-03-16:28)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Open On-Chip Debugger
Licensed under GNU GPL v2
--help | -h display this help
--version | -v display OpenOCD version
--file | -f use configuration file <name>
--search | -s dir to search for config files and scripts
--debug | -d set debug level <0-3>
--log_output | -l redirect log output to file <name>
--command | -c run <command>
clehman@gigabyte1:~/Cypress/cyfx3sdk/JTAG/OpenOCD/Linux/x64
$/usr/bin/openocd -h
Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Open On-Chip Debugger
Licensed under GNU GPL v2
--help | -h display this help
--version | -v display OpenOCD version
--file | -f use configuration file <name>
--search | -s dir to search for config files and scripts
--debug | -d set debug level <0-3>
--log_output | -l redirect log output to file <name>
--command | -c run <command>
clehman@gigabyte1:~/Cypress/cyfx3sdk/JTAG/OpenOCD/Linux/x64
$
clehman@gigabyte1:~/Cypress/cyfx3sdk/JTAG/OpenOCD/Linux/x64
$lsusb
Bus 002 Device 004: ID 04b4:00f0 Cypress Semiconductor Corp. FX3
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0624:0249 Avocent Corp. Virtual Keyboard/Mouse
Bus 001 Device 003: ID 0624:0248 Avocent Corp. Virtual Hub
Bus 001 Device 004: ID 1a2c:0b2a China Resource Semico Co., Ltd
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
I have some CYUSB3KIT-003, and after using them for some time(boot from EEPROM, J4 is open), I need upgrade FW, so I short circuit J4 to switch to bootloader mode, but have three of them can't enumerated after short J4.
Is this a hardware issue?
Show LessCan I connect two 1270x720 image sensors to FX3 or CX3?
If yes, I would like to know max image frame rates that I can send with each image sensors?
Images are RAW 8bit.
Show LessHello everyone,
We are working on a project that uses Cypress FX3 to read from an experimental chip and relays the information to the host computer. The experimental chip has only two outputs: one is the clock, and the other is the serial output.
Since the serial output communicates at 5MHz, we plan to use the GPIF interface in our implementation. However, we are not very familiar with the GPIF interface -- we know about the GPIF interface designer, but we are having trouble determining exactly what kind of implementation we should use. The clock signal from the experimental chip comes in packets; it sends a 5MHz squarewave for some time (during which data is transferred), and pauses for a while before starting another data transfer. Would the GPIF implementation work if we supply this signal as a synchronous clock (into GPIO16 CLK/PCLK)?
Any advice would be tremendously helpful. Thank you very much!
Best,
TheAstralClock
Show Lesshello,
we have a costome usb super speed bootloader module that suffers from an error after a couple of power cycles. We suspect that the cause lies at the problem that was fixed in the application SDK with the CY_U3P_USB_EVENT_LMP_EXCH_FAIL event. Unfortunately this event is not implemented in the SDK Driver stack for bootloaders.
when the error shows up the usb bootloader device is not detected and windows shows "port reset failed".
Is there any kind of a fix for this?
I am using a slightly modified version of the usb bootloader example (Fx3BootAppGcc) that is shipped with the ez usb Suite.
Show LessHello,
My code initializes the FX3 GPIF as 16 bit wide (my PCB uses the CYUSB2014-BZXC)
ioCfg.isDQ32Bit = CyFalse;
ioCfg.useUart = CyFalse;
ioCfg.useI2C = CyTrue;
ioCfg.useI2S = CyFalse;
ioCfg.useSpi = CyTrue;
ioCfg.gpioSimpleEn[0] = 1 << MSM_TX_DDS_RESET | \
1 << MSM_TX_DDS_IO_UPDATE | \
1 << MSM_TX_SHUTDOWN_N;
But the GPIO configuration and enabling for pin numbers < 32 is not working. For example MSM_TX_SHUTDOWN_N is pin #27. Is a GPIO override needed for this scenario? If so is there a corresponding function in the boot library to the function used in the firmware library?
Thanks in advance for your help.
Show Less
Hi,
I have a question about the priority of GPIO interrupts over RTOS threads.
I am setting a both edges (CY_U3P_GPIO_INTR_BOTH_EDGE) interrupt in a input gpio using CyU3PGpioSetSimpleConfig.
I set the gpio callback with CyU3PGpioInit. Inside the gpio callback, I set a global variable (a flag) that I defined as uint8_t gpio_flag. Inside the gpio callback I set this flag to 1.
When the host requests certain resolution, the callback registered in CyU3PUsbRegisterSetupCallback is called. When the bRequest is CX3_USB_UVC_SET_CUR_REQ, I call CyU3PMipicsiSetIntfParams to set the mipi interface to the requested resolution, configure the sensor through SCCB, and wait for the flag:
CyCx3_ImageSensor_Set_RAW8_4056x3040();
CyU3PMipicsiSetIntfParams(&IMX477_RAW8_4056x3040, CyTrue);
// Wait for gpio edge detection
while (gpio_flag == 0)
{
__nop();
}
// Start stream
CyCx3_ImageSensor_Start_Stream();
It is not clear to me what is the priority of GPIO interrupt over the RTOS thread priority and USB callbacks.
Are callbacks registered with CyU3PUsbRegisterSetupCallback part of the USB thread? Therefore, has the highest priority according to this: https://community.infineon.com/t5/USB-superspeed-peripherals/Handling-Interrupts-with-same-priority/td-p/198728
Hi!
Is there a simple GPIO setup for the cycx3_uvc_ov5640 firmware example (different from the one in C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples\cyfxgpioapp)?
Thank you very much in advance!
Show LessI using CYUSB3KIT-003 to test the USB HUB. The module runs the cyfxbulksrcsink example.
I simulated some open-circuit and short-circuit faults of the highspeed(usb2.0) signal on the USB HUB side, but the CYUSB3014 module can be detected always, it's working on USB 3.0.
In Win App using CyAPI, Member bHighSpeed of CCyUSBDevice object always false.
How to detect usb 2.0 connect status?
Thanks.
Show Less