USB superspeed peripherals Forum Discussions
text.format{('custom.tabs.no.results')}
Can any one give me some steps on how to write DFU for FX3 ?
I am using CYUSB2014-BZXC microcontroller and configured the microcontroller to boot from SPI Flash with usb fallback. When I program the device RAM , everything works as expected. However when I program the Flash , the microcontroller does not appear as a USB device in the operating system (a camera in my case) and I can no longer program the flash nor the RAM. I am using S25FS064SAGMFV010 as Flash. I followed the recomendations on choosing the Flash and did everything according to AN70707 EZ-USB FX3/FX3S Hardware Design Guidelines and Schematic Checklist and according to AN76405-EZ-USB FX3/FX3S boot options. However when I compared the recommendations to the FX3-DVK-BOARD-DEVICE_REV3 board schematics I noticed that in FX3-DVK-BOARD-DEVICE_REV3 MOSI and MISO Pins are pulled up, while in the recommendations this is not advised. I do not really know what is going on. I built the code for SPI flash with the following post build command elf2img.exe -i ${ProjName}.elf -o ${ProjName}_SPI.img -v -i2cconf 0x00 with elf2img.exe being in the Debug folder. Part of the schematic of my board is attached.
Show LessHello, 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 Less