This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CypressFX2LP and MSOP8 256kb EEPROM

We wanted to post this problem and solution here in case anyone has a similar problem - which took us several days to track down.

We have a custom board with a CypressFX2LP and a large 32kB (256kb) EEPROM. For the purpose of bootloading from an attached EEPROM, the Cypress hardware determines the size range (small or large, single or double byte addressing) of the attached EEPROM depending on how its address is wired up. It must be wired up so that A2-A0=001. We were using an MSOP8 EEPROM (Microchip 24AA256) that does not connect A0 and A1 internally, therefore it is impossible to set the address to 001. That means the Cypress treats this EEPROM as a small EEPROM and only correctly reads part of the program. It also means that when we tried to write to the EEPROM we were using the address we wired up on the board but the EEPROM was not configured with this address (due to the unconnected pins in the MSOP8 package), so we were never completing the write and the EZUSB_WaitForEEPROMWrite was never returning.

We were finally able to write to the EEPROM using address 000 but this still doesn't solve the problem that this EEPROM cannot be wired up to be recognized by the CypressFX2 as a large EEPROM. For now we are testing with RAM download of the firmware.

Parents Reply Children
No data