I have a problem with the wait states of the internal EEPROM of the LPC1857 and the LPCOpen library.
Till now I never had a problem, but now I had many devices which could not write to the EEPROM in the release version, the debug version was working fine.
I traced the problem to the wait states of the internal EEPROM of the LPC1857 and on the way found out that in the function "Chip_EEPROM_Init" the function "setWaitState" gets called and there some magic values get written into the wait states registers. With these values the EEPROM wont work with many processor here. But as it sometimes work, it seems to be a timing problem.
I commented out the call to "setWaitState" and now it seems to work with all devices, but how can I be sure?
So where do these magic values come from? Why are the values so small compared to the values which are in the registers after reset? Why does no other have this problem?