USB superspeed peripherals Forum Discussions
Hello, I'm writing a code on DFU for FX3,then I got stuck with a process named DETACH-ATTACH sequence,
what is DETACH-ATTCAH sequence and how to implement it in FX3?
Thank You.
Show LessI did the GPIF interface test through "SlaveFifoSync" Example Code.
The DMA size of FX3 was set to 16384 and the count was set to 6.
The FPGA sent 16384 bytes 10 times at 150us intervals through the GPIF interface to FX3.
I sent GPIF data referring to the Figure4 Write Sequence of the AN65974 document.
And I received GPIF data using the application "bulkloop" provided when installing the FX3 SDK on my PC.
I think we should receive data 10 from the application. However, I only received data 6 times.
It was confirmed that FX3 caused an error of "CYU3P_PIB_ERR_THR0_WR_OVERRUN" during debugging.
There was no "CYU3P_PIB_ERR_THR0_WR_OVERRUN" error when sending data 6 times from FPGA to FX3, and there was always an error when sending more than 7 times. I think this error occurs because the DMA count is set to 6.
And this is my questions.
If I write GPIF data from FPGA to FX3 and read the data from application, buffer will be empty, but I don't know why the "CYU3P_PIB_ERR_THR0_WR_OVERRUN" error occurs. And I wonder what I should do to avoid the above error.
Show LessHello,
I have bought the book and CYUSB3KIT-003, but I can't find the example software projects that the book is referring to. Where could I find files such as "Chapter3Example1.img"?
I couldn't find them from the book's page or in the code examples:
https://www.cypress.com/documentation/other-resources/superspeed-device-design-example-john-hyde
https://www.cypress.com/documentation/code-examples/usb-superspeed-code-examples
Show LessDear All,
We are using CYUSB3KIT-003 development kit and we want to add file system (FAT) to the device. So that it will detect as device when we connect to any OS.
So how to add file system to the CYUSB3KIT-003?
Show LessI have Olimex ARM-USB-OCD-H debuger and I want to debug FX3 device placed on my DevBoard.
I use Cypress EZ USB Suite.
I installed OpenOCD 0.6.1 as in the example (12.2.1.2 FX3 Programmers manual) and created ezusb_fx3.cfg file.
I installed drivers for Olimex ARM-USB-OCD-H using Zadig 2.4.exe.
#
# Olimex ARM-USB-OCD-H
#
# http://www.olimex.com/dev/arm-usb-ocd.html
#
#interface
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG ARM-USB-OCD-H"
ft2232_layout olimex-jtag
ft2232_vid_pid 0x15ba 0x002b
######################################
# Target: CYPRESS FX3 ARM926-ejs
######################################
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME fx3
}
if { [info exists ENDIAN] } {
set _ENDIAN $ENDIAN
} else {
set _ENDIAN little
}
if { [info exists CPUTAPID] } {
set _CPUTAPID $CPUTAPID
} else {
set _CPUTAPID 0x07926069
}
#delays on reset lines
jtag_nsrst_delay 200
jtag_ntrst_delay 200
jtag_khz 1000
jtag_khz 1000
reset_config trst_and_srst srst_pulls_trst
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
jtag_rclk 3
######################
# Target configuration
######################
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm926ejs
jtag_khz 1000
When I tried to connect debuger to the FX3 I see next message:
Open On-Chip Debugger 0.6.1 (2012-10-07-10:39)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
DEPRECATED! use 'adapter_nsrst_delay' not 'jtag_nsrst_delay'
adapter_nsrst_delay: 200
jtag_ntrst_delay: 200
DEPRECATED! use 'adapter_khz' not 'jtag_khz'
adapter speed: 1000 kHz
DEPRECATED! use 'adapter_khz' not 'jtag_khz'
adapter speed: 1000 kHz
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
RCLK - adaptive
DEPRECATED! use 'adapter_khz' not 'jtag_khz'
adapter speed: 1000 kHz
Error: libusb_open() failed with -12
Info : clock speed 1000 kHz
Error: JTAG scan chain interrogation failed: all ones
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway...
Error: fx3.cpu: IR capture error; saw 0x0f not 0x01
Warn : Bypassing JTAG setup events due to errors
Info : Embedded ICE version 15
Error: unknown EmbeddedICE version (comms ctrl: 0xffffffff)
Info : fx3.cpu: hardware has 2 breakpoint/watchpoint units
Warn : WARNING: unknown debug reason: 0xf
Warn : ThumbEE -- incomplete support
I sink that driver for ARM-USB-OCD-H wasn`t opened (Error: libusb_open() failed with -12).
I tried to use OpenOCD 0.9.0 from Olimex packet for debuger. I this case with the same ezusb_fx3.cfg file I have seen message:
Open On-Chip Debugger 0.9.0-rc1 (2015-04-24-22:09)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
DEPRECATED! use 'adapter_nsrst_delay' not 'jtag_nsrst_delay'
adapter_nsrst_delay: 200
jtag_ntrst_delay: 200
DEPRECATED! use 'adapter_khz' not 'jtag_khz'
adapter speed: 1000 kHz
DEPRECATED! use 'adapter_khz' not 'jtag_khz'
adapter speed: 1000 kHz
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
RCLK - adaptive
embedded:startup.tcl:21: Error: Unknown param: -variant, try one of: -type, -event, -work-area-virt, -work-area-phys, -work-area-size, -work-area-backup, -endian, -coreid, -chain-position, -dbgbase, or -rtos
in procedure 'script'
at file "embedded:startup.tcl", line 60
in procedure 'target' called at file "ezusb_fx3.cfg", line 44
in procedure 'ocd_bouncer'
at file "embedded:startup.tcl", line 21
Than I have modifyed ezusb_fx3.cfg file as at the file openocd-0.9.0-rc1\scripts\interface\ftdi\olimex-arm-usb-ocd-h.cfg:
#
# Olimex ARM-USB-OCD-H
#
# http://www.olimex.com/dev/arm-usb-ocd.html
#
#interface
interface ftdi
ftdi_device_desc "Olimex OpenOCD JTAG ARM-USB-OCD-H"
ftdi_vid_pid 0x15ba 0x002b
ftdi_layout_init 0x0908 0x0b1b
ftdi_layout_signal nSRST -oe 0x0200
ftdi_layout_signal nTRST -data 0x0100
ftdi_layout_signal LED -data 0x0800
######################################
# Target: CYPRESS FX3 ARM926-ejs
######################################
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME fx3
}
if { [info exists ENDIAN] } {
set _ENDIAN $ENDIAN
} else {
set _ENDIAN little
}
if { [info exists CPUTAPID] } {
set _CPUTAPID $CPUTAPID
} else {
set _CPUTAPID 0x07926069
}
#delays on reset lines
jtag_nsrst_delay 200
jtag_ntrst_delay 200
jtag_khz 1000
jtag_khz 1000
reset_config trst_and_srst srst_pulls_trst
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
jtag_rclk 3
######################
# Target configuration
######################
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm926ejs
jtag_khz 1000
And recieved message:
Open On-Chip Debugger 0.9.0-rc1 (2015-04-24-22:09)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
DEPRECATED! use 'adapter_nsrst_delay' not 'jtag_nsrst_delay'
adapter_nsrst_delay: 200
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
jtag_ntrst_delay: 200
DEPRECATED! use 'adapter_khz' not 'jtag_khz'
adapter speed: 1000 kHz
DEPRECATED! use 'adapter_khz' not 'jtag_khz'
adapter speed: 1000 kHz
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
RCLK - adaptive
embedded:startup.tcl:21: Error: Unknown param: -variant, try one of: -type, -event, -work-area-virt, -work-area-phys, -work-area-size, -work-area-backup, -endian, -coreid, -chain-position, -dbgbase, or -rtos
in procedure 'script'
at file "embedded:startup.tcl", line 60
in procedure 'target' called at file "ezusb_fx3.cfg", line 53
in procedure 'ocd_bouncer'
at file "embedded:startup.tcl", line 21
How to fix this problem and begin debug DevBoard?
Show LessHi,
I'm looking for a contractor to develop a driver to run On-Semi AR0144 image sensor over FX3.
Will pay for that of course.
Developer must have previous experience with develop image sensor drivers on FX3.
Develop a driver for the AR0144 will be an advantage.
I will send detailed description/requirements upon demand.
Thanks,
Itay
Show LessHi, I have a question about EZ-USB® GX3™ Hardware Design Guidelines file. I'm reading the document, and I have found this:
I have searched the EEPROM components but, on this datasheet (https://www.mouser.es/datasheet/2/268/21794b-74044.pdf) A model is 8-bit and B model is 16 bit. Is this a errata?
Show Less
Dear Sir,
I am using CYUSB3014 to develop a camera. Now it works normally at USB3.0 mode. But if I connect it to the USB2.0 port, it does not work well.
In high speed mode(USB2.0), when I read a value from the device, it always have a unbelieve delay, even if in the firmware I return a fake value when receive the request.
For example, By bushound, I can monitor the time. If I send out the request at 15:01:26:540, then after about 13 millisecond, I will get the fake return value at 15:01:26:553. But in Super speed mode(USB3.0), the fake value will be reported at the same time or only need 1 millisecond.
Does anyone know what happened?
Thanks
Chad
Show LessHello,
Board : CYUSB3KIT - 003
I'm trying to test my DUT(Device under test) machine with lower packet size then 1024 with the FX3 board and the "USBIntrSourceSink" firmware example.
I want to change the parameters inside the "USBIntrSourceSink" firmware example according to the USB 3.2 Specification limit.
- maximum packet size. (USB 3.2 Specification 4.4.7.1, 9.6.6)
- BURST SIZE.
Inside the "USBIntrSourceSink" example there are
- cyfxintrsrcsink.c
- cyfxintrsrcsink.h
- cyfxintrdscr.c
In "cyfxintrsrcsink.h" I changed the "CY_FX_INTR_BURST_SIZE" param to 1
And inside "cyfxintrsrcsink.c"
I changed size to 8
------------------------------------------
case CY_U3P_SUPER_SPEED:
size = 8;
break;
------------------------------------------
Also inside "cyfxintrdscr.c" in section
/* Standard super speed configuration descriptor */
I change it to
-------------------------------------------------------------------------------------------------------------
0x08,0x00, /* Max packet size = 1024 bytes */
0x08,(0x00 * CY_FX_INTR_BURST_SIZE), /* Bytes per interval : 1024 * burst */
-------------------------------------------------------------------------------------------------------------
the FX3 board don’t pass the enumeration and fail in the Descriptor hand shake.
But when I change the number to 16 in all the files it works And the streamer can test the FX3 board with the interrupt firmware test.
Thanke for your help.
Show LessHi,
I modify to send UVC and UART by my custom board.
but, I had one problem.
This problem is that UART message is pended, so it don't send complete message and it maybe stay DMA Buffer in my custom board(FX3).
I checked red sign(Highlight).
so, I tried to fix this problem.
The solved solution is that it was modified to operate pending function(highlight) at 30 frames.
But, Another problem has occurred.
Broken characters appear intermittently as shown below.
I send the code as an attachment.
Show Less