We have some questions regarding errata e4396 for the MPC5674F processor. While the workaround mentioned in the errata is trivial, the implications and cost of rolling out a new software revision that includes the workaround to our customers can be quite large. Any help that you can provide to better understand the errata and the likelihood of occurrence is much appreciated
- Why wasn’t this fixed in subsequent silicon revs after it was found? Is it because the likelihood of its occurrence is so small that it didn’t warrant a fix?
- Is it “normal” compiler generated code that can cause the condition or is it tight, hand assembly that is more likely the culprit?
- The wording of the errata is a bit vague regarding the end effect of this condition. Does the processor (due to the errant fetch address) jump or return via a BLR instruction to an invalid address? Presumably, this would cause our software to crash making it obvious that something was going on.
- We’ve never seen a crash due to this condition…is that odd? Does it only happen at some temperature range?
- We did a google search for this errata and found one hit that mentioned in a code comment “the workaround doesn’t work”. We aren’t sure if this is a valid statement or not…can you verify that if implemented, the workaround does work?