Hello I'm working with M52235EVB and Codewarrior 7.2. I'm having an exception which seems to be the address speculation error.
It's solved with the workaround 1, and if I debug the exception both flash and ram addresses match (see the picture).
But in the chip errata document I read:
This erratum is fixed in devices labeled with the A suffix or 3M23E mask.
I've checked my device and it's labeled
PCF52235CAG60
M23E
QAA0550
Is that A in red the suffix mentioned in the errata document or it should be PCF52235CAG60A?
Thank you
已解决! 转到解答。
> PCF52235CAG60
According to "Table 2. Orderable Part Number Summary" in the latest MCF52235 Data Sheet (the same table is in the Reference manual), that part number doesn't exist. The closest matches are "MCF52235CAL60" and "MCF52235CAL60A. The presence of the trailing "A" in that table means your part isn't the A revision and has the bug.
The "P" in "PCF"? Searching for "PCF" in this forum finds this article:
PCF signifies a pre-production device similar in all functions to the production MCF device.
So it looks like a very old part:
> QAA0550
I'd guess that means "2005, 50th week".
> M23E
The valid masks for this chip are 2M23E, 3M23E and (as of May 2012) 4M23E. Searching on www.freescale.com for "M23E" finds:
http://cache.freescale.com/files/shared/doc/pcn/PCN13905.htm?fsrch=1&sr=1
Part marking will change from either "2M23E" or "M23E" to "3M23E" mask revision.
You definitely have the 2M23E mask with the bug.
Searching for "PCF5235" finds your chip here:
http://cache.freescale.com/files/shared/doc/pcn/PCN13100.htm?fsrch=1&sr=1
Ditch that chip and get a current one. If you do want to support it for some reason, read the PRN field of the CIR register on code startup and only apply the fix if you're on the old mask version. Inspecting that field should also prove you have an old chip, although Freescale don't seem to document what value in that field means what.
Tom
> PCF52235CAG60
According to "Table 2. Orderable Part Number Summary" in the latest MCF52235 Data Sheet (the same table is in the Reference manual), that part number doesn't exist. The closest matches are "MCF52235CAL60" and "MCF52235CAL60A. The presence of the trailing "A" in that table means your part isn't the A revision and has the bug.
The "P" in "PCF"? Searching for "PCF" in this forum finds this article:
PCF signifies a pre-production device similar in all functions to the production MCF device.
So it looks like a very old part:
> QAA0550
I'd guess that means "2005, 50th week".
> M23E
The valid masks for this chip are 2M23E, 3M23E and (as of May 2012) 4M23E. Searching on www.freescale.com for "M23E" finds:
http://cache.freescale.com/files/shared/doc/pcn/PCN13905.htm?fsrch=1&sr=1
Part marking will change from either "2M23E" or "M23E" to "3M23E" mask revision.
You definitely have the 2M23E mask with the bug.
Searching for "PCF5235" finds your chip here:
http://cache.freescale.com/files/shared/doc/pcn/PCN13100.htm?fsrch=1&sr=1
Ditch that chip and get a current one. If you do want to support it for some reason, read the PRN field of the CIR register on code startup and only apply the fix if you're on the old mask version. Inspecting that field should also prove you have an old chip, although Freescale don't seem to document what value in that field means what.
Tom