ECU Flashing
ECU flashing is the process of programming selected internal or external non-volatile memory (NVM) of an Electronic Control Unit (ECU).
ECU Flashing with INCA
The M-ETK is prepared for this process and provides an infrastructure for ECU flashing to implement and realize a fast and reliable solution for flashing ECU software directly in the vehicle, using the ETAS INCA software environment.
Compared to ECU flashing via XCP on CAN or FlexRay, using the M-ETK offers significantly shorter programming times and provides powerful recovery options. The entire process is typically automated and managed by a ProF script within INCA.
There are two primary methods for flashing an ECU with the M-ETK.
Bootstrap Flashing (BSF): This is the recommended M-ETK ECU flashing solution if possible to realize. For this solution the control of the micro-controller unit will be taken over by using the debug interface. All active tuning protections and watchdog timers, which could interrupt this process must be disabled beforehand. After halting all active and running cores, an ETAS proprietary flashing application will be downloaded. It will be executed out of the internal RAM. This application manages the programming of the non-volatile memory.
|
Note |
|---|
|
Bootstrap flashing does not support the flashing of security protecteded areas in the µC. |
ECU-backed Flashing (EBF): The ECU-backed flashing is an alternative solution, if the Bootstrap Flashing solution cannot be realized. Reason for this might be limitations caused by tuning protection, watchdog timer or debug interface limitations of the micro-controller unit. To realize this flashing solution ETAS proprietary interfaces must be implemented in the ECU software.
In general we differentiate between 2 possible variants:
-
ECU software does the non-volatile memory programming. Therefore the full ETAS proprietary communication interface must be supported by the ECU software. In this case the ECU software can continue serving tuning protections and watchdog timers.
-
An ETAS proprietary flashing application performs the non-volatile memory programming after being executed by the ECU software. The ECU software cannot serve tuning protection and watchdog timers during the process on the other side only a minimal ETAS proprietary communication. On the interface must be implemented.
|
Feature |
Use Case |
ECU's Role |
|---|---|---|
|
Bootstrap Flashing (BSF) |
Programming of selected internal or external non-volatile memory. Tuning protection and watchdog timers must be disabled for this process beforehand. |
Passive: The control of the mirco-controller is taken over via the debug interface by the M-ETK. |
|
ECU-backed Flashing (EBF) |
Depending on the ECU software execution, selected internal or external non-volatile memory can be programmed. |
Active: The ECU software performs the non-volatile memory flashprogramming and is able to handle active tuning protections and watchdog timers during this process. |
|
Note |
|---|
|
As the ECU flashing procedure and options depend strongly on the Microcontroller system context (e.g. tuning protection, watchdog behavior, NVM type) ETAS support should be contacted in an early project phase for the appropriate solution. |
ECU Flashing with 3rd Party XCP Tools
It is also possible to use 3rd-party tools (from vendors other than ETAS) to flash an ECU through the M-ETK. The M-ETK can act as a universal bridge, allowing other software to communicate with the ECU.
|
Note |
|---|
|
When using a 3rd-party tool, you are restricted to only the functions available through mandatory XCP commands. (PGM commands). Contact the ETAS support. |