Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

What might be a systematic way of finding root cause of ECC error in a Automotive ECU?

jani12

Member
Fuel economy ECU in a truck is experiencing Flash (stored program flash) ECC Error. Link to microcontroller manual for this ECU is:

The problem was duplicated on a bench.

How to recover from Flash ECC Error? In Flash ECC interrupt handler, reset needs to be forced in order to recover from ECC Error?

Does the code in Flash ECC interrupt handler read and write Flash ECC registers to find out things like:
  1. Address of the instruction that was executing at the moment Flash ECC error occurred.
  2. Address of Program memory location that has the ECC error.
  3. Force a reset to recover from this ECC error.
  4. What other code is in the Flash ECC Error handler?

If ECC error occurs while truck is being maneuvered on a public road, will the maneuver remain operational or maneuver will be required to fail safely?

How to find root cause or source of Flash ECC Error?
 
Are your questions for a specific ECC controller or just in general ?
Obviously one design to another, one programmer to another
might have different implementations. Unless there is a SAE standard......

Sure sounds like ECC, running on the bench, clean power, still having issues
leads one to believe design is flawed in hardware and or software.

Regards, Dana.
 
If ECC stands for error correcting code, then it is likely there is nothing you can do to fix the problem. For most ECC schemes there is a limit to the length of the error or the number of errors it can correct. If the flash memory has not exceeded its useful lifetime, then it may be possible to reflash the entire memory. You probably to not have access to the required material and equipment to perform this process. If the flash memory has exceeded its useful lifetime then you need to bin the device or have the flash memory replaced and reprogrammed.
 
Last edited:
Its a pretty old Freescale part that has been around for a very long time,
~ 30 years. Was ECU / Truck in operation all that time ?

The flash is only good for :

1683214975789.png



Regards, Dana.
 
My questions are about Fuel Economy ECU and the questions are also general.
That's nice, but what does that have to do with a Flash Memory ECC error? I think it might be telling you that the operation of the ECU may no longer be reliable. You need to fix that first before embarking on additional quests.
 
ECC can be corrected if it is a single error. You have the ability to vary the read margin threshold to characterize the bit error, random? fading to initial erased bit? same bit? How much margin to failure for 1 bit error vs two or more?

Do you see how margin testing could help define the cause with external stimulus of noise? SNR and BER are critical tools to help define root cause.

Does this help you understand?

The impact on the system depends greatly on which bit and how it deals with power up or periodic self-test errors like this.
 
Last edited:
Referring to the microcontroller manual of your ECU and finding out where Flash ECC interrupt handles are located will enable you to set an interrupt handler in case an alarm goes off unexpectedly.
Code in this handler must access Flash ECC registers in order to identify both the address of the instruction that was executing at the moment of error and where in program memory it occurred, along with any ECC errors present at that location. A reset should then be forced in order to recover from an ECC error and get things running normally again.
 
I worked at a Cadillac dealer for a while.
On one car the body control module forgot how to operate the passenger door mirror.
Reprogramming the body control module solve the problem.
That sort of thing happened a lot.
Your problem maybe deeper than that.
 
>> running on the bench, clean power
Issue was re-created on bench performing powerline noise test using higher peak to peak voltage than within specification.

there is nothing you can do to fix the problem.
Really! It's not possible to find root cause of the problem?

it may be possible to reflash the entire memory.
There shouldn't be need to re-flash memory since ECC errors are recoverable?

Was ECU / Truck in operation all that time ?
No

That's nice, but what does that have to do with a Flash Memory ECC error? I think it might be telling you that the operation of the ECU may no longer be reliable. You need to fix that first before embarking on additional quests.
I'm saying EEPROM in Fuel Economy ECU has ECC error.
Are you saying operation of Fuel Economy ECU isn't reliable because ECC error is occurring?

Do you see how margin testing could help define the cause with external stimulus of noise? SNR and BER are critical tools to help define root cause.
Yes, like we performed voltage noise test to duplicate problem on the bench. But please explain where to acquire and how to use SNR and BER tools to help define root cause.
 
ECC is "Error correction code" - the memory controller can provide the correct read data even in cases of minor bit errors.

As I see it, the ECC monitoring routine should be recording (logging) error counts, recoverable or otherwise.

Anything other than very rare, recoverable, errors indicate the memory is failing - or there is a design / power interference problem, either from the local regulators or external supply to the module.


If it's a single device with the problem & supply voltages are OK with no noise or glitches, the solution is to mend it with a new one - eg. scrap the faulty part. Parts fail, that's just a simple fact.

If it's a repeating design problem then look at the memory ECC configuration, clock speed and timing etc., also voltage regulation & filtering.

In other words go through the design and device configuration from scratch and cross-check everything.
 

Latest threads

Back
Top