Which flash module (c90FL or c90LC) is used in MPC5644B ?
there's C90LC. This SSD driver is compatible:
Can you kindly tell me where is this documented?
Good question. It seems this info is not available in reference manual, maybe we should add it to next revision.
Just in case:
C90LC flash: MPC560xB, MPC560xP, MPC560xS, MPC560xE, MPC563xM, MPC564xB, MPC564xC, MPC567xK
C90FL flash: MPC564xA, MPC564xL, MPC564xS, MPC5668G, MPC5668F, MPC567xF, MPC5676R
Is there any document which explains the difference between C90FL and C90LC flash module?
Also if i have a flash driver for C90FL would it be compatible with C90LC?
Useful information can be found in this document:
AN5200 - Error Correcting Codes Implemented on MPC55xx and MPC56xx
Also read this app note - it is related only to C90FL:
No, the drivers are not compatible. Compatible drivers can be found on www.freescale.com. Just find the web page for your device, for example this one:
Then select "Software & Tools" tab:
... and see the "Runtime Software" section and "Middleware-Device Drivers". Here you can find SSD driver and EEPROM Emulation driver compatible directly with this device.
Thanks a lot for the help, really appreciate it.
I'm using MPC5644C. Brownout during data flash memory(FEE) erase or programming operation, then cause ECC exception. (wait to find out the rootcause, I guess it's the FEE erase during page change, will test for confirmation).
During the boot phase, I read some parameters which store in the data flash, then IVOR1 will be thrown.
1. I try to recover from non-correctable ECC errors, in AN4521, MPC56xx C90FL Flash Recovery. but I cannot find the pFlashDepletionRecover function.
2. I search the solution and find your share, I read AN5200, and will try.
But I also want to know if u have any better solution to solve my issue.
My email ChenQiF@CATLBattery.com, u can contact with me if possible.
the problem with depleted bits described in AN4521 applies only to devices with C90FL flash. MPC564xC has C90LC flash, so it is not affected. ECC errors can be recovered by simple erase of a block.
It's not a good idea to erase in the IVOR1, right?
A lot of parameters need to be stored in Data Flash (more than 16KB), include some APP to Bootloader communication flag.
So in the bootloader I need to FEE read the parameter, and Flash ECC error (I mention before) will cause IVOR1.
These 16KB parameter may across 3 block, so in the bad time I need erase all 3 block dataflash. On the other hand, need to check few ecc error in the block.
And all these is hard to find a good solution.
Could u pls give me some advices about my bootloader solution.
I can see that you use FEE module from MCAL which is out of my scope. It's definitely not good idea to erase the flash in exception handler but that's all I can say.
Retrieving data ...