Can not get USB boot to work correctly on custom FX3 design. | Cypress Semiconductor
Can not get USB boot to work correctly on custom FX3 design.
I have an project that I originally developed using an FX3-Dev kit. I have now moved the project onto a custom board using the dev-kit as a template. I have not yet been able to get the custom design to match the operations of the dev-kit.
Here are some of the facts/symptoms:
- Power-up with cable connected gives "Cypress FX3 USB Bootloader Device" in Control Center, along with all the subordinate info.
- Physical Disconnect/Connect also gives "Cypress FX3 USB Bootloader Device" in Control Center.
- Using the Control Center to program SPI-Flash give me a "Programming of Boot Programmer Failed" message. It does not make it to the point of asking for which file. It then returns to the Bootloader.
- Using the Control Center to program RAM prompts for a file but then gives me a "Programming Failed" message. It also returns to the Bootloader.
- This works identically if hooked to a USB2 or USB3 port.
- Using JTAG, I can download firmware to RAM and establish reliable USB3 speed communications.
- Observing the SPI lines on power-up/reset, at least some of the required info HAS been stored in FLASH (43 59 0E B0 ...), but it will not complete the boot from FLASH.
- USB Downloading the same info to the Dev-Kit works correctly.
- I am running on a 19.2MHz clock, with the FSEL set correctly, and the PMODE pins are also set correctly.
- As far as I can tell, all of the required pins are connected identically to the Dev-Kit. Some things, like the I2C pins are left unconnected.
- The Dev-Kits have PHI chips, date 1207. The custom boards have TWN, 1401 chips
- I have very recently downloaded the most recent software, drivers and firmware.
- What else is required to do a USB boot that I am not doing?
- Are there any better error messages available? Knowing only that it "Failed" does not give me much information to work with.
- As an intermediate fix, is there a way to program/read FLASH using JTAG instead of USB?