Contents Wiring diagrams Section: Coding and Programming - Overview - All Models All sections

Flash Programming BMW 7 series E65/E66 facelift

Flash Programming

The procedure to program Flash Programmable control modules follows all of the preceding steps describing "Exchange control unit". EPROMs are not exchanged for Flash programmable control modules, they have a soldered in, non removable EEPROM.

When connected to the diagnostic connector, the DIS/MoDiC utilize the loaded programming software to communicate with the engine or transmission control module to establish an "authorized unlocked link" with the control module. This link is known as the "seed/key relationship" and is used for the purpose of programming only. The relationship is established as follows

Scheme 136

Scheme 136: Flash Programming
  1. The DIS/MoDiC initiates the relationship by requesting the "seed" data from the control module.
  2. The control module responds by sending the seed to the DIS/MoDiC.
  3. Based on the received seed, the DIS/MoDiC generates the "key" data and sends it back to the control module.
  4. The control module then compares the received "key" data with a previously stored value. If they are identical the control module will "unlock" in preparation of programming and send an acknowledgement to the DIS/MoDiC for continuation. If the "key" data is not correct, the control module will discontinue the relationship preventing an "unauthorized unlocking" as a security measure.
  5. The control module then allows the DIS/MoDiC to erase certain areas of the EEPROM to provide space for new data when an update is being performed or program all of the data for when a new basic module is being installed into a vehicle.

Scheme 137

Scheme 137: Procedure for Flash Programming a Control Unit.

Scheme 138

Scheme 138

Scheme 139

Scheme 139

Additional Steps to be Taken into Consideration

Follow the additional information listed below when flash programming an engine or transmission control module.

  1. Sufficient battery voltage is critical when flash programming a control module. If the battery voltage drops below a certain level during programming, the session will terminate prior to completion. If the vehicle has been in the workshop for diagnosis with the ignition key on for long periods of time, the battery voltage is most likely deficient. Verify the battery voltage prior to programming, if necessary connect a battery charger to the vehicle prior to starting flash programming. Do not connect the charger during the actual procedure. This could cause a voltage spike to occur which will also abort the programming procedure. Connect the charger before you start programming!
  2. Flash Programmable control modules can be programmed up to 13 times. The remaining programming sessions is displayed during the programming procedure.
  3. The program will automatically realign the EWS & DME. This function can also be found either in the Engine control module programming software or ZCS coding of the EWS.
  4. Depending on the level of programming data, the procedure can take between 2 and 15 minutes.
  5. After programming, clear the control module's adaptation values. The programming software will automatically provide instructions. Clearing the adaptation values can also be found in the Service Functions menu of the diagnostic software in the DIS. The control module will quickly re-adapt to the system storing new values during a test drive.
  6. After programming, clear all vehicle control modules that interface with the newly programmed control module. The programming procedure can cause other interfacing control modules (AGS, ASC, etc) to store erroneous faults. When programming is completed, perform a quick test with the DIS to determine if any faults have been stored. Clear all vehicle control module fault memories to prevent any unnecessary future diagnosis.