USB superspeed peripherals Forum Discussions
Question 2: How to configure external FLASH for FX3/CX3 (CYUSB3065)
I use (CYUSB3065) here, and then hang an 8MB FLASH outside the chip. At present, it's no problem to start the burning, but when I modify the space configuration, it can't be realized and it can't start when burning in.
The content of the revision includes two aspects:
1. Compiled configuration files: C: Program Files (x86) Cypress EZ-USB FX3 SDK 1.3 firmware/common/fx3.ld
Before amendment, it read as follows:
I-TCM: ORIGIN = 0x100 LENGTH = 0x3F00 SYS_MEM: ORIGIN = 0x40003000 LENGTH = 0x2D000 DATA: ORIGIN = 0x40030000 LENGTH = 0x8000
Amended as follows:
I-TCM: ORIGIN = 0x100 LENGTH = 0x3F00 SYS_MEM: ORIGIN = 0x40003000 LENGTH = 0x2E000 DATA: ORIGIN = 0x40031000 LENGTH = 0x8000
2. cyxtx.c
Before modification: define CY_U3P_MEM_HEAP_BASE ((uint8_t*) 0x40038000)
After modification: define CY_U3P_MEM_HEAP_BASE ((uint8_t*) 0x40039000)
Excuse me: How can we use external FLASH to store code so that the size of code is not limited by space?
Show LessHi,
I'm going through this document:
AN65974 Designing with the EZ-USB® FX3 Slave FIFO Interface.pdf
It mentions that you have to enable statements on pages 43-44...like:
"The DMA channels previously mentioned are set up if the following define is enabled in the cyfxslfifosync.h file in the FX3 firmware project provided with this application note. /* set up DMA channel for stream IN/OUT transfers"
#define STREAM_IN_OUT
The file cyfxslfifosync.h in my FIFOexamples folder does not containt these lines.
What is going on?
I'm on SDK 1.3
thanks
Show LessHi technical support team,
I'm developing cx3 firmware in-application upgrade function.But now blocked by one issue. Please help me to figure it out.
Please find my operation steps as below:
step 1 runs good.
Set Pmode Pin to run ROMboot. It runs usbboot and ControlCenter recognized it as bootloader. And I update the 2-stage bootloader to SPI FLASH directly.
step 2: still fine.
Set Pmode Pin to user mode and select SPI boot options. And the 2-stage bootloader(original from V1.3.4 SDK) runs successfully, cause it has been recognized as USBStreamer Example by the ControlCenter. It seems good till now.
step 3: seems FAIL.
Use Control Center to download my application image to SPI flash. But after i chose my app.img, the ControlCenter shows SPI flash erase fail and upgrade blocked.
Isn't it a little strange here? From my point of view, no matter bootROM or 2-stage bootloader is used, the ControlCenter will download the bootProgrammer image to CX3's RAM through the usbboot channel. And the downloaded bootProgrammer in RAM will executes the SPI FLASH erase/write/read operations. But now, the same image achieves the different results.
Question 1: How would this happen? Is there any checksum not match when using different bootloader? How to resolve this problem?
Question 2: I found bootProgrammer .img located at the same routine with ControlCenter.exe. Is this image same with the sample FlashProg project in v1.3.4 SDK?
BTW, I have read the FailSafe bootloader doc, and the image merge tool seems good. But what if I change the APPs' location in FLASH, does it still suitable? I haven't found the source code published. So, I have to use the 2-stage bootloader companion with ControlCenter.exe to upgrade my first APP, and then the APP upgrade the following APP...
Show LessCyU3PMipicsiGetErrors (CyTrue, &errCnts);
CyU3PDebugPrint ("mipi err:frmErrCnt=%x,crcErrCnt=%x,mdlErrCnt=%x,ctlErrCnt=%x,eidErrCnt=%x,recrErrCnt=%x,unrcErrCnt=%x,recSyncErrCnt=%x,unrSyncErrCnt=%x\r\n",
errCnts.frmErrCnt,errCnts.crcErrCnt,errCnts.mdlErrCnt,errCnts.ctlErrCnt,
errCnts.eidErrCnt,errCnts.recrErrCnt,errCnts.unrcErrCnt,errCnts.recSyncErrCnt,errCnts.unrSyncErrCnt);
the print is :
mipierr:frmErrCnt=0,crcErrCnt=0,mdlErrCnt=4003D50C,ctlErrCnt=4000794C,eidErrCnt=4000A778,recrErrCnt=0,unrcErrCnt=0,recSyncErrCnt=0,unrSyncErrCnt=0
you see some format is print error,and the print format sometimes is print ok, some times error.
How to slove it?
Show Lesswhen I use potlayer to open cx3_uvc, the uvc device will commit camera data from DMA to UVC, use the api CyU3PDmaMultiChannelCommitBuffer,
and it will commit success 6 times,then it will stop.
the usb log catpured by wireshark is attachment,
what's wrong with it?
Show LessI use cx3 on ARM(RK3399 Ubuntu), the sensor is ov9282, 1280x800 @ 15fps, it always block in a minutes(about 30 minutes), there is no error, but can't get any frame data. The log is as below. "commit_num" is added by myself, to count the times of data commit to usb endpoint. When it is block, there is no error, and the "commit_num" also not update.
But on PC, also Ubuntu OS, it always ok.
Is there anyone have this issue, and give me spme suggestion?
UsbCB:Call AppStop CyCx3AppThread_Entry
AplnStop:SMState = 0x7
AplnStrt:CyCx3AppStart CyCx3AppStart
AplnStrt:SMState = 0x1
Prod = 83 Cons = 83 Prtl_Sz = 9520 Frm_Cnt = 308 Frm_Sz = 2048000 B
TimeDiff = -39 ms FPS = 0
UsbCB:Call AppStop CyCx3AppThread_Entry
AplnStop:SMState = 0x7
AplnStrt:CyCx3AppStart CyCx3AppStart
AplnStrt:SMState = 0x1
Prod = 83 Cons = 90 Prtl_Sz = 9520 Frm_Cnt = 309 Frm_Sz = 2048000 B
UsbCB:Call AppStop CyCx3AppThread_Entry
AplnStop:SMState = 0xA
AplnStrt:CyCx3AppStart CyCx3AppStart
AplnStrt:SMState = 0x2
UsbCB:Call AppStop CyCx3AppThread_Entry
AplnStop:SMState = 0x2
AplnStrt:CyCx3AppStart CyCx3AppStart
AplnStrt:SMState = 0x2
Prod = 62 Cons = 62 Prtl_Sz = 9520 Frm_Cnt = 310 Frm_Sz = 1532240 B
[CyCx3AppMipiErrorThread] commit_num = 26400
[CyCx3AppMipiErrorThread] commit_num = 32624
[CyCx3AppMipiErrorThread] commit_num = 38804
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
[CyCx3AppMipiErrorThread] commit_num = 39222
Show LessHi everyone.
I'm using CX3 to transfer image data to Jetson Xavier board through USB port.
I'm using cyusb_bulk_transfer function and there is a problem of timeout.
When I check the packet transfer time, each packet tranfer usually takes 300 us but sometimes it takes 280000 us.
It causes severe frame drops of my system.
Is this due to CPU resources or an intrinsic problem of bulk data transfer?
Thank you in advance.
Show LessHello
I'd like to interface FX3 with an Standard resolution S-VIDEO encoder (Analog device ADV7280A)
I need some advice in order to modify the UVC AN75779 to works with a Interlaced video signal.
At the moment I'm able to get a 720x288 video.
I think there are some modification to do in the payload header and to the configuration descriptor.
Show LessHi,
We have had issues of seeing write errors (XferData fails on an out endpoint) in one of our products that uses FX3 as the main chip. This issue only occurs when the port is connected to a USB 3.1 host controller. We tried on several machines with different motherboards and we noticed the issue on all of them which rules out the possibility of a bad USB port or an issue in the motherboard. We looked at the USB3 traffics using Beagle USB 5000 analyzer, but it doesn't detect any issue and the packet seem to be sent successfully (despite the fact that the cypress driver returns an error). The issue is hard to reproduce as it doesn't always happen, but we are sure that it never happens on a USB3.0 host controller. My speculation is that the Cypress driver has some issues with USB3.1 host controllers.
Has anyone else noticed or is having the same issue?
Any thoughts most appreciated.
Hamid
Show LessWhen can we expect to see Cypress' support for USB 4.0.
The spec is expected to be released in late 2019.
Cypress as a USB leader, is likely well aligned.
Is Cypress able to update the USB Controllers Roadmap with their plans for various USB 4.0 products?
https://www.cypress.com/cypress-product-roadmaps
Greg
Show Less