AnsweredAssumed Answered

µPSD3333D-40U6 behaves really like µPSD3334D-40U6

Question asked by david_t on Jul 23, 2014

The specification says:
- µPSD3333: 8x16KB in main Flash memory
- µPSD3334: 8x32KB in main Flash memory
Thus, I was surprised to be able to do the following with the 3333...

Using psd_pgm.exe, connected to the 3333 via JTAG:
1. Store 8x32KB random data (stored in PROJECT.OSF) in main Flash memory as if it was 3334
2. Power off then on the chip
3. Retrieve 8x32KB main Flash memory from the 3333 (seen as a 3334) and store to a file EXPORTED.OSF
4. Compare both OSF files.

Believe it or not, my 3333 was able to retrieve the same exact amount of bytes from its memory while it is expected to own 2x less Flash memory.

1. Take the original PROJECT.OSF (valid for 3334, where sectors = 32KB) where a valid executable is stored, whose size exceeds the 3333 sector size (i.e. 16KB).
2. Program the 3333 as if it was a 3334.
3. Reset the 3333 and look whether the application runs: it runs with no failure (even when calling functions stored after the 16KB limit).
4. Hack the PROJECT.OSF to force 0xFF after the 16KB limit then program it via JTAG the same way (as if it was a 3334).
5. Reset the 3333 and look whether the (truncated) application runs: it fails after a jump to 0xFF memory, proving that calls were effectively done previously beyond 16KB.

In both tests, I never changed any of the PLD configuration (which is embedded in the OSF), thus fs0, fs1, ... fs7 and other signals are identical to the µPSD3334 configuration. It appears as if µPSD3333 and µPSD3334 were the same chip, although the different references... I didn't try yet with other similar products (like 3312 or 3354).

Anyone having already experienced such a thing?