Programming the Serial EEPROMs on the FX2 Developm

Question: How do I program the serial EEPROMs on the FX2 development kit board?
Response:

Programming the Large Serial EEPROM
To program the large serial EEPROM on the CY3681 FX2 Development Kit board, please use the following sequence (Refer to the "FX2 Getting Started.pdf" file, included in the kit software, section 5.4 for switch context). These steps will allow you to recover from a corrupt EEPROM and successfully program a new EEPROM image every time.

  1. Unplug the USB cable from the dev board
  2. Set Switch2 to Off (Disable EEPROM boot)
  3. Set Switch1 to Large (Select the large EEPROM)
  4. Connect the USB cable to the development board
  5. At this point you should see the development board enumerate as "Cypress EZ-USB FX2 (68613) - EEPROM Missing" under Windows Device Manager
  6. Set Switch2 to On (Enable EEPROM boot)
  7. Open the EZ-USB Control Panel, ensuring that the Target drop-down select field is "FX2"
  8. By clicking on the "Download" button, navigate your way to the Vend_Ax directory and download Vend_Ax.hex
  9. On the EZ-USB Control Panel's "Vend Req" Toolbar, use the following to fill in the required fields:
    Req=0xA9 (The 0xA9 vendor request is used to access large EEPROMs that have a dual-byte addressing scheme)
    Value=0x0000
    Index=0xBEEF
    Length=16
    Dir=1 IN
  10. Press the "Vend Req" button to verify that the 16 bytes displayed in the data window are NOT CD CD CD .. CD. If the data is all CD, then it cannot read the EEPROM (Not a large type such as the 24LC64). Otherwise, continue.
  11. On the EZ-USB Control Panel's "Vend Req" Toolbar, use the following to fill in the required fields:
    Req=0xA9
    Value=0x0000
    Index=0xBEEF
    Length=1
    Dir=0 OUT
    Hex Bytes= 00
  12. Press the "Vend Req" button to blast the first byte in the EEPROM.
  13. On the EZ-USB Control Panel's "Vend Req" Toolbar, use the following to fill in the required fields:
    Req=0xA9
    Value=0x0000
    Index=0xBEEF
    Length=1
    Dir=1 IN
  14. Press "Vend Req" to verify that the first byte in the EEPROM is 0x00
  15. Unplug the USB cable from the development board
  16. Connect the USB cable to the development board
  17. At this point you should still see the development board enumerate as "Cypress EZ-USB FX2 (68613) - EEPROM Missing" under Windows Device Manager because the first byte in the EEPROM is 0x00 (an invalid signature byte).
  18. To program the EEPROM image, on the EZ-USB Control Panel, press the "EEPROM" button and navigate to and select filename.iic, where filename is the name you have given to your EEPROM image
  19. Wait for the EEPROM file open dialog to completely disappear (1-2 minutes)
  20. To verify the EEPROM load, repeat steps 9) and 10) above to read the EEPROM and verify that the first eight bytes contain a sequence starting with 0xC2 and followed in reverse endian by either our default VID/PID/DID, or your own if you used the VID and PID parameters in the hex2bix utility when you created your .iic file.
  21. If the EEPROM was programmed correctly, then plug out the board, set switch2 to On and switch1 to Large and your board should load and enumerate with your firmware.
    The steps for programming the Large EEPROM on the CY4611 FX2 ATA reference design board are the same as above, except that you should ignore the Switch1 instructions and substitute the JP1 jumper for Switch2.
    Programming the Small Serial EEPROM
    To program the small serial EEPROM on the CY3681 FX2 Development Kit board, please use the following sequence (Refer to the "FX2 Getting Started.pdf" file, included in the kit software, section 5.4 for switch context). These steps will allow you to recover from a corrupt EEPROM and successfully hand program a small EEPROM every time.
  22. Unplug the USB cable from the dev board
  23. Set Switch2 to Off (Disable EEPROM boot)
  24. Set Switch1 to Small (Select the small EEPROM)
  25. Connect the USB cable to the development board
  26. At this point you should see the development board enumerate as "Cypress EZ-USB FX2 (68613) - EEPROM Missing" under Windows Device Manager
  27. Set Switch2 to On (enable EEPROM boot)
  28. Open the EZ-USB Control Panel, ensuring that the Target drop-down select field is "FX2"
  29. By clicking on the "Download" button, navigate your way to the Vend_Ax directory and download Vend_Ax.hex
  30. On the EZ-USB Control Panel's "Vend Req" Toolbar, use the following to fill in the required fields:
    Req=0xA2 (the 0xA2 vendor request is used to access small EEPROMs that have a single-byte addressing scheme)
    Value=0x0000
    Index=0xBEEF
    Length=16
    Dir=1 IN
  31. Press the "Vend Req" button to verify that the 16 bytes displayed in the data window are NOT CD CD CD .. CD. If the data is all CD, then it cannot read the EEPROM (not a small type such as the 24LC00). Otherwise, continue.
  32. On the EZ-USB Control Panel's "Vend Req" Toolbar, use the following to fill in the required fields:
    Req=0xA2
    Value=0x0000
    Index=0xBEEF
    Length=1
    Dir=0 OUT
    Hex Bytes= 00
  33. Press the "Vend Req" button to blast the first byte in the EEPROM.
  34. On the EZ-USB Control Panel's "Vend Req" Toolbar, use the following to fill in the required fields:
    Req=0xA2
    Value=0x0000
    Index=0xBEEF
    Length=1
    Dir=1 IN
  35. Press "Vend Req" to verify that the first byte in the EEPROM is 0x00
  36. Unplug the USB cable from the dev board
  37. Connect the USB cable to the dev board
  38. At this point you should still see the dev board enumerate as "Cypress EZ-USB FX2 (68613) - EEPROM Missing" under Windows Device Manager because the first byte in the EEPROM is 0x00 (An invalid signature byte).
  39. On the EZ-USB Control Panel's "Vend Req" Toolbar, use the following to fill in the required fields:
    Req=0xA2
    Value=0x0000
    Index=0xBEEF
    Length=8
    Dir=0 OUT
  40. Use the Hex Bytes field to enter the sequence C0 followed by VID(LSB), VID(MSB), PID(LSB), PID(MSB), DID(LSB), DID(MSB), and configuration byte that you want. If you use the sequence C0 B4 04 81 00 00 00 00, then the board will automatically enumerate and load the default Keil Monitor. This is useful for debugging.
  41. To verify the EEPROM load, repeat steps 9) and 10) above to read the EEPROM and verify that the first eight bytes contain a sequence as mentioned in step 19) above.
  42. If the EEPROM was programmed correctly, then plug out the board, set switch2 to On and switch1 to Small, plug in the board, and your board should load and enumerate as a "Cypress EZ-USB FX2 Development Board". The green BKPT/Monitor light should also be lit, indicating a successful download of the default Keil monitor program.
博主
liangziusb@163.com
良子USB的Blog
欢迎来到良子电子的小屋! 致力于USB的学习与开发,将要推出基于USB接口的数据采集卡、逻辑分析仪等产品,欢迎志同道合的朋友一起来做!