Hi Dinesh,
read operation cannot cause such problem. That's related only to modify operations.
ECC error can be caused by:
- as already mentioned - by unexpected reset during modify operation
- overprogramming - when you program word or doubleword (depends on device and type of memory) which is not fully erased. In case of data flash on MPC5602D, the ECC is handled on 32bit boundary, so a word which is going to be programmed must be fully erased. In case of code flash, ECC is handled on 64bit boundary, so you can program only fully erased doubleword.
- flash wear-out. If the flash has been programmed/erased too many times or if the flash has been programmed a lot of years ago (see the spec in datasheet) then incorrect data may occur.
The AN5200 should provide enough information. You don't need "driver with ECC code". The ECC is enabled and running all the time and it is handled on background without user intervention. All you need to do is to handle the exceptions as described in the application note.
By the way, you can download Standard Software Driver for flash and Emulation EEPROM driver:
http://www.nxp.com/files/run_time_software/device_driver/MPC5xxx_EEE_DRIVER.exe
http://www.nxp.com/files/soft_dev_tools/software/device_drivers/MPC56XX_C90LC_JDP_SSD_100_DEVD.exe
Regards,
Lukas