USB superspeed peripherals Forum Discussions
I am using SuperSpeed explore kit for debugging SPI port. The SPI port on J7 interfaces a SPI flash memory. UART at pin 48 and pin 49 is used as debugging port. I tried to read back 256 bytes from flash memory starting at page address 1000 and display values to UART port. Firmware is revised based on example code UsbSpiRegMode. I found that the process is stuck at the reading status register. It is not able command the write enable properly. The RDSR value would be 0x00 all the time. The MISO is always low observed by Oscilloscope.
To confirm the hardware, firmware image is downloaded to SPI memory when FX3 is configured to USB boot mode. FX3 can boot properly from SPI memory it is configured to boot from SPI. But one thing I can't understand, I was not able to detect any signal on MISO at power on booting from SPI.
Code is attached.
Thanks in advance for any help.
Show LessHi All,
We are facing an issue with reading the data from SPI Flash using CX3.
SPI Flash Part Number - SST25PF040C (Microchip)
Please find the issue description below.,
Description :
On long-term usage, somehow the BPL bit in status Register of SPI Flash has changed to '1' and after that the Cypress Bootloader fails to read the Data from SPI Flash. To recreate this issue, we are manually setting the BPL bit to '1'.
When the BPL bit of SPI flash is set to '1', the bootloader Firmware in CX3 Chip fails to read the data in SPI Flash and falls back to "Cypress FX3 USB Bootloader Device".
BPL bit Status | Behaviour |
---|---|
1 | CX3 is unable to Boot From SPI Flash |
0 | CX3 is able to Boot From SPI Flash |
Our Findings :
- A Firmware to read the whole 512KB in SPI Flash is flashed in RAM.
- In this case, Read is successful and we can find that valid Firmware is present in SPI Flash.
- Using the Second stage Bootloader Firmware available in "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\boot_fw\src".
- In this firmware, the SPI _BOOT macro was defined to boot from SPI Flash.
- The Firmware can successfully transfer the data from SPI flash to RAM and can boot as a video device.
From the above findings, we can conclude that,
- On changing the BPL bit to '1', read works Fine. But only the Cypress Bootloader Firmware present in the chip is unable to read the data from SPI Flash.
Questions :
- Why the Bootloader Firmware present within the Chip is unable to boot from SPI Flash?
- Can anyone help me with finding actual source code of Bootloader firmware present in the CX3 chip?
- Why setting the BPL bit to '1' affects the Bootloader firmware to Read the data from SPI Flash? Whats the Difference in setting the BPL bit to '1' or '0'?
I see on the product roadmap that there is a USB Controller coming that will support 3.1 Gen2( 10Gb/s ). I’m unable to find any additional information regarding the product though. Can you tell me when that product is expected to be released? Will there be a controller that supports USB 3.2?
Show LessHi,
I use FX3 with the sensor IMX316, the resolution is 480*182 @ 30fps, raw12. The mipi clock is 200MHz
1. I can't get the correct datas. I add log, shows below. The CyU3PDmaMultiChannelGetBuffer get data error. It is confirm that the sensor can output datas correctly (I measure the MIPI signal, it is correct).
CyCx3AppStart 863
AplnStrt:CyCx3AppStart
AplnStrt:SMState = 0x2
CyU3PDmaMultiChannelGetBuffer failed status = 0x0
CyU3PDmaMultiChannelGetBuffer failed status = 0x0
CyU3PDmaMultiChannelGetBuffer failed status = 0x0
CyU3PDmaMultiChannelGetBuffer failed status = 0x0
CyU3PDmaMultiChannelGetBuffer failed status = 0x0
2. But i catch the package, it seems that PC can get some disorderly datas.
3. The configuration is as below:
Is there someone who can give some suggestions? How to debug it?
Show LessHello,
We want to use CYUSB3025 part as a mass storage device which uses eMMC memory. For that, I was referring to FX3S DVK, and FX3SMassStorage example given in the SDK and it works well.
I tried running the same code for CYUSB3025(SD3) chip but it is not working. I would like to know if there's any changes I needed to make in the code? How do I change the part number in the SDK? Is there any API available that I can use for that?
I would really appreciate any possible help with this.
Thank you very much in advance,
Kishan Patel
Show Less請教一個關於AN75779 - UVC example裡state machine的問題:
在PUSH_DATA_SCK0指向PUSH_DATA_SCK1的路徑上,
為了保險起見,我希望在切換到thread1前,先確定thread1是否已可使用(包含確認Descriptor是否已經載入完成等...),
因此嘗試加了一個trigger "DMA_RDY_TH1",如下圖所示
但卻收到錯誤訊息:
Trigger variable ‘DMA_RDY_TH1’ cannot be used in transition equation between states ‘PUSH_DATA_SCK0’ and ‘PUSH_DATA_SCK1’.
‘Thread number’ of Action ‘IN_DATA’ need to be ’Thread1’ for using trigger variable ‘DMA_RDY_TH1’
我想在Thread1上使用IN_DATA來取樣資料,但卻不能先確認thread1是否已可使用? 不知是不是我誤解了trigger "DMA_RDY_TH1"的意思了@@?
- ps. 同樣的概念,測試過在WAIT_FULL_SCK0到PUSH_DATA_SCK1的路徑上多加一個trigger "DMA_RDY_TH1"就不會有錯誤訊息並可順利編譯...
謝謝!
ref: AN75779 example https://www.cypress.com/documentation/application-notes/an75779-how-implement-image-sensor-interface-using-ez-usb-fx3-usb
Show LessHi:
When i use CyAPI.lib on VS2010, it returns Error 1 error LNK2019:,
But I have checked the header and file path several times, I do not know what happen, So I attached my project, Woud you olease kindly help me?
Thanks
Show LessHi All,
I'm researching the AN75779 UVC example, and confused on the State Machine between PUSH_DATA_SCK0 & PUSH_DATA_SCK1.
For securer, I want to check whether thread 1 has completed to load DMA descriptor.
Therefore, I tried to add trigger "DMA_RDY_TH1" from PUSH_DATA_SCK0 to PUSH_DATA_SCK1 path as below picture.
But it shows error message:
Trigger variable ‘DMA_RDY_TH1’ cannot be used in transition equation between states ‘PUSH_DATA_SCK0’ and ‘PUSH_DATA_SCK1’. ‘Thread number’ of Action ‘IN_DATA’ need to be ’Thread1’ for using trigger variable ‘DMA_RDY_TH1’
I want to use IN_DATA( whose 'Thread Number' is 'Thread1') in PUSH_DATA_SCK1 to sample data, but cannot check whether the thread1 is ready to send or receive data, why?
Did I misunderstand for the "DMA_RDY_TH1"?
Hope anybody could provide me any suggestion. Thanks a lot!
訊息由此人編輯:Hughes Yang
Show LessHello,
I'm trying to send raw Image data to my PC, I have the CYUSB3KIT-003. On the board should all be set up. I started to write a C# program, to read the data on my PC. I used the Bulkloop_VCS program as start point and wrote some modification to start communication with the Image sensor. I tried all with a very slow testsetup and could receive data. However as, when i tried it with my sensor my Board keeps resetting. It looks like, that i don't read the data on the USB-Port fast enough and i don't understand where my bottleneck is. The speed test program, which comes with the board says my USB3.0 connection is fast enough.
To read the data i use the CCyUSBEndPoint::XferData methoded.
i attach my c# program.
kind regards,
Matthias
Show LessHi,
I'm using the CX3 UVC-CDC configuration (Cx3UvcOV5640_UVC_CDC)
The virtual serial port is used to communicate with the sensor periodically, the process followed are
1. Open the CDC COM port and send some bytes
2. The sensor responds to the commands.
4. Close the COM port.
5. Repeat the above steps in a definite interval.
During this process after some time, the CDC device misses data. The sensor is replying to CX3 but it is not received in the CDC device and the PC doesn't get a reply.
The serial driver were automatically installed when device was connected to PC(Windows 10).
Could you please help me out to solve this issue.
Regards
Ajay
Show Less