When it comes to a post-rebuild adjustment of transmission control software, the terms flashing, re-flashing, programming, reprogramming and tuning often get used interchangeably. That said, each of these has a specific meaning and is used to address specific situations.
To understand some of these terms we would have to break down the controller into three major categories: The processor, flash memory and Eprom memory.
The flash memory is what contains the program code with every instruction the processor needs to execute. So, this program contains items such as when a shift needs to happen, how much base pressure it required, etc.
Eprom memory stores a different kind of information like the VIN, immobilizer data and adaptation information—for example, how much pressure needs to be added or subtracted from the previous base-pressure to get the shift quality the designer had in mind.
The three main terms used are Flashing, Programming and Coding. Since we now know that the program is contained within the flash memory, the term flashing makes sense. But since the data needs to be written is an actual program, the term programming “kind of” makes sense as well.
So that “kind of” makes flashing and programming the same thing. But there is a distinct difference.
When you get a new module, it often comes with no software on the module and no car information in the Eprom. This is what we call a Virgin Module. It normally contains a little bit of code to initiate communication to receive the new program. This is why we often see a note on the box: “Requires Programming.” Programming is and should be used to indicate writing the software on a new module. Re-programming is then used to indicate that a new updated program is being written on the controller. This new program often contains bug fixes, better algorithms, enhanced diagnostic routines and more refined mapping.
Flashing and re-flashing are often more reserved for the aftermarket and are commonly used for tuning.
With tuning, the mapping and software parameters are altered in a way to suit a certain purpose: faster shift timing, different shift strategy, clutch pressure, TCC speeds, etc. While programming original OEM software only requires a J2534 interface and the proper website, tuning often requires a specific program to read, modify and write the software. A selected group of tuning-programs will work with J2534, but most aftermarket tools come with a specific interface like HPtuners and EFI-live for instance.
One term we haven’t brought up yet was coding. When you are installing a used controller, you know it already has a program on it. This might not be the correct software, but it has some nonetheless. However, the controller is from another car and thus may have some incorrect information such as the VIN, immobilizer data or something else. Coding refers to the vehicle information in the Eprom that needs to be altered to suit the new car. After this is done, one normally reprograms it with the latest available software online using pass through portals.
One term that isn’t widely used but does deserves a little attention is “restoring.” Sometimes when there is a mechanical issue, the controller will use its adaptive strategy to keep everything working as it should. This can lead to adaptations that go wild and seek out the outer limits. After the mechanical issue is resolved, the adaptation will then be reset to start fresh. But in rare cases the adaptations will be stuck in a loop or frozen solid no matter how often it is going to be reset.
Normally this can be forced by a reprogramming with a newer software version. In that case we sometimes will see an option to restore the controller. This will program the exact same software into the controller effectively forcing a total restoration of the original operations. This will help to “dislodge” the adaptations and fix the issue.