Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

Why Certain EZ-USB® FX2LP™ DVK Firmware Examples Fail Enumeration on Custom Boards? – KBA86725

Why Certain EZ-USB® FX2LP™ DVK Firmware Examples Fail Enumeration on Custom Boards? – KBA86725

Anonymous
Not applicable

Version: *A

Translation - Japanese: 特定のEZ-USB®FX2LP™DVKファームウェアの例がカスタムボードでエニュメレートに失敗するのはなぜですか?– KBA86725- Community Translated (JA)

Question: Certain firmware examples for EZ-USB® FX2LP™ (that come with CY3684 DVK) work on the Cypress DVK (CY3684), but when they are downloaded onto a custom board, do not enumerate. Why?

Answer:

Firmware examples provided by Cypress to demonstrate the capability of FX2LP are specifically designed for the CY3684 DVK. The DVK uses I/O expander ICs on I2C lines to accommodate the 7-segment LED display and push buttons.

In some of the firmware examples, LED display/buttons are accessed using the EZUSB_WriteI2C(), EZUSB_ReadI2C() and EZUSB_WaitForEEPROMWrite() APIs. On custom boards, such a design may not exist and EZUSB_WaitForEEPROMWrite() API being a blocking function causes the firmware to freeze; therefore enumeration fails.

Firmware Examples affected:

  1. Bulkloop
  2. CYStreamer
  3. hid_kb

To overcome this issue, remove the following API calls from the firmware:

EZUSB_WriteI2C();

EZUSB_WaitForEEPROMWrite();

948 Views
Contributors