I have created a manual DMA multi channel. When I commit the data to the consumer, sometimes the function fails, returning error code 71. To find the root cause for this, I am wondering what can cause this error code. Does anybody have some more details on this? Thanks.
Slave Sync Fifo examples are differrent in SDK v.1.1 and v.1.1.1: unable to achive hi throughput with v.1.1.1.
With v.1.1.1 there is only ~200MB/s ( IN endpoint), but with v.1.1 throughput is about 330 MB/s!
I found that difference is in state machine programming.
What is wrong with new version?
I've downloaded FX3DVKSetup.exe and am having trouble installing it. I've tried both as a regular user, and as Administrator, and every time it crashes when "Installing" FX3DKSetup.exe.
I'm running XP Professional Version 2002 Service Pack 3 in a VirtualBox VM. I suspect running in a VM may be the problem, but I'd like someone to confirm.
I found the linux version, which I might actually prefer, except it simply contains 4 tarballs, and no installation instructions.
I also found FX3SDKv1_1_1.exe, which appeared to complete installation, but the only thing it seems to install is "Cypress Update Manager" which shows only an option to configure or uninstall "EZ-USB FX3 SDK 1.1.1". Configure gives the following errors: "unable to get updates from update server. Please check for network connections / Contact Cypress Support" and "The installer is unable to download installation information. Please check your proxy and internet connection and try again. Details Error The remote server returned an error: (404) Not Found. while downloading file 44_install_catalog_v3.xml from url link http://updates.cypress.com/updates/fx3sdk/1.0/rr_install_catalog_v3.xml"
(I know it's not my VM network settings, because I can browse Google, and that's a 404 error)
Someone please tell me how to install this thing? I'm mostly interested in using the CYUSB3KIT-001 and the project in AN75779Show Less
i am trying to use cyfxbulkstream for debugging. I followed FX3 programmers manual Chapter 12 on setting up the j-link debugger. Now when i try to build the project i get this errors
**** Build of configuration Debug for project USBBulkStreams ****
'Building target: USBBulkStreams.elf'
'Invoking: ARM Sourcery Windows GCC C Linker'
arm-none-eabi-gcc ./cyfx_gcc_startup.o ./cyfxbulkdscr.o ./cyfxbulkstreams.o ./cyfxtx.o -T"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\firmware\common\fx3.ld" -nostartfiles -Wl,-Map,USBBulkStreams.map -Wl,-d -Wl,--no-wchar-size-warning -Wl,--entry,CyU3PFirmwareEntry "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\\firmware\u3p_firmware\lib\fx3_debug\cyfxapi.a" "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\\firmware\u3p_firmware\lib\fx3_debug\cyu3threadx.a" "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\arm-none-eabi\lib\libc.a" "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\lib\gcc\arm-none-eabi\4.5.2\libgcc.a" -mcpu=arm926ej-s -mthumb-interwork -g -gdwarf-2 -o"USBBulkStreams.elf"
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\arm-none-eabi\lib\libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c:(.text+0x18): undefined reference to `_sbrk'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\arm-none-eabi\lib\libc.a(lib_a-writer.o): In function `_write_r':
writer.c:(.text+0x20): undefined reference to `_write'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\arm-none-eabi\lib\libc.a(lib_a-closer.o): In function `_close_r':
closer.c:(.text+0x18): undefined reference to `_close'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\arm-none-eabi\lib\libc.a(lib_a-fstatr.o): In function `_fstat_r':
fstatr.c:(.text+0x1c): undefined reference to `_fstat'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\arm-none-eabi\lib\libc.a(lib_a-isattyr.o): In function `_isatty_r':
isattyr.c:(.text+0x18): undefined reference to `_isatty'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\arm-none-eabi\lib\libc.a(lib_a-lseekr.o): In function `_lseek_r':
lseekr.c:(.text+0x20): undefined reference to `_lseek'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.0\arm-none-eabi\lib\libc.a(lib_a-readr.o): In function `_read_r':
readr.c:(.text+0x20): undefined reference to `_read'
collect2: ld returned 1 exit status
cs-make: *** [USBBulkStreams.elf] Error 1
Do you have any idea what is wrong. I am missing something?
is there an IBIS model for FX3 slave port pins (CLK, DATA32b, CTL). I am designing and fpga+fx3 board. All my traces have the same length(4.5cm /1.6 inch), same width (0.1mm/4mil) and they run on inner layers. I want to know if i still need the 22 ohm resistors that are in series to those pins on the development board. The VIO of the slave port is connected to 1.8V power supply.
thank youShow Less
Is there any evaluation board with both USB3.0 and FPGA? Now I have the FX3 CYUSB3KIT-001 development kit. I am afraid it is damage by the overshooting of the PCLK (80MHz, distorted peaks). So I want to get an evaluation board integrated with FPGA. Is it available?
Thank you very much
Lehua ChenShow Less
I'm developing FPGA board which generates grayscale images from scanning electron microscope and considering FX3 for sending that as video over USB. Since there is no colors I wander could it be an easy way to modify FX3 UVC app to transmitt just greyscale images (Y channel) and no color (UV). And if so, would that format be understood by generic UVC drivers? I know YUV format has Y8 and Y16 variations, but it is not anywhere directly mentioned in UVC documentation. Could somebody having FX3 board on the table just try that by disabling UV channels?Show Less
I have self-powered USB device running on FX2. Everything works except reconnection after USB cable is plugged out. When I plug-in the cable, device is not recognized on the host side and I have to power it down and up again to get it working.
I have implemented VBUS monitoring so device controls DISCONNECT bit. Except for that, what else should be done on the device side when "disconnected" and "connected" conditions are detected?
Help, anyone?Show Less
In my application I want to use CyU3PGpifSMSwitch():
uint16_t fromState, /* The state from which to do the switch to the desired state. */
uint16_t toState, /* The state to which to transition from fromState. */
uint16_t endState, /* The end state for this execution path. */
uint8_t initialAlpha, /* Initial Alpha values to use when switching states. */
uint32_t switchTimeout /* Timeout setting for the switch operation in GPIF clock cycles. */
According to the API documentation state switching is only carried out if the state machine is in "fromState" or "fromState" is not a valid state (>255). In my application I would like to define "fromState" larger than 255 to force state switching all the time. However, there is different behaviour between using the values 257, 0xFFF and 10 (which is the actual state derived from CyU3PGpifGetSMState()). When using 257, the state machine crashes after stepping trough this instruction around 1-10 times. If 0xFFFF is used, then I can reset the state machine up to 32'0000 times. When using 10, which is the actual state, commiting DMA buffer fails afterwards with error message 71 (CY_U3P_ERROR_INVALID_SEQUENCE).
Has anyone a good explanation for this behaviour? Thanks for help.