cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

RiMo_4684421
New Contributor

Hi,

I developed an application to boot from SPI. This app works in all the board we have tested except in one. For some reason this board it is always on DFU mode. Is there a way to fix this I need it to boot from SPI.

This is what I see when I run lsub on linux : 04b4:00f3 Cypress Semiconductor Corp. FX3 micro-controller (DFU mode).

I have checked the pmode pins many times, I do not know what else I can do.

Kind Regards

0 Likes
1 Solution
YatheeshD_36
Moderator
Moderator

Hello,

Looks like it is falling back to USB on SPI boot failure.

Is the same issue seen on windows as well?

Please try to reprogram the firmware on SPI flash.

SPI boot fails under the following conditions: 

1. SPI address cycle or data cycle error

2. Invalid signature on FX3 firmware. Invalid image type

The PMOD[2:0] should be 0 Z 1

You can also check the flash contents using the vendor command 0xC3 from USBFlashProg example (check Readme.txt in the project). 

When the boot fails and enumerates with PID 00F3, Program the USBFlashProg example from the FX3 SDK to the RAM using the control center in linux or windows and read the first few bytes of the SPI flash.

The first two bytes should be 0x43 and 0x59 which is the "CY" signature and the 4th byte should be 0XB0.

pastedImage_1.png

Please let me know the contents (first 15 bytes) of the flash on the failing board.

Thanks,

Yatheesh

View solution in original post

0 Likes
1 Reply
YatheeshD_36
Moderator
Moderator

Hello,

Looks like it is falling back to USB on SPI boot failure.

Is the same issue seen on windows as well?

Please try to reprogram the firmware on SPI flash.

SPI boot fails under the following conditions: 

1. SPI address cycle or data cycle error

2. Invalid signature on FX3 firmware. Invalid image type

The PMOD[2:0] should be 0 Z 1

You can also check the flash contents using the vendor command 0xC3 from USBFlashProg example (check Readme.txt in the project). 

When the boot fails and enumerates with PID 00F3, Program the USBFlashProg example from the FX3 SDK to the RAM using the control center in linux or windows and read the first few bytes of the SPI flash.

The first two bytes should be 0x43 and 0x59 which is the "CY" signature and the 4th byte should be 0XB0.

pastedImage_1.png

Please let me know the contents (first 15 bytes) of the flash on the failing board.

Thanks,

Yatheesh

View solution in original post

0 Likes