GM Service Manual Online
For 1990-2009 cars only

PCM EEPROM

The PCM contains an EEPROM (Electrically Erasable Programmable Read Only Memory) to store software and calibration information. The PCM uses the information to control fueling, idle speed, ignition timing, transaxle shifting, and emissions. The information is based on various aspects of the vehicle such as engine size, vehicle weight, transaxle type, final driver ratio, etc.

The EEPROM is programmed (flashed) with the software and calibration information. Replacement PCMs do not contain this information. Therefore, the technician must program the replacement PCM using the latest diagnostic tools, equipment, and programs.

The EEPROM, unlike earlier model years, is not replaceable. The only repair option is to replace the PCM. The PCM incorporates specific diagnostic trouble codes (DTCs) to diagnose an internal failure or program change within the PCM and/or the EEPROM. The PCM uses the following DTCs to detect the conditions:

    • DTC P0601 PCM Memory - ROM.
        The PCM uses this DTC to verify the integrity of the PCMs operating program. During the initial programming of the PCM, the PCM calculates a checksum value of the operating program. This checksum value is stored within the EEPROM. At key ON, the PCM loads the operating system, and performs a key ON checksum calculation. The PCM compares the key ON checksum to the previously checksum value stored within the EEPROM. If the key ON checksum does not match the stored checksum, DTC P0601 will set. This requires that the PCM be replaced, and the replacement PCM be programmed using the approved tools/equipement and procedures.
    • DTC P0602 - PCM Not Programmed.
        When diagnosis leads to a PCM malfunction, the PCM must be replaced. The replacement PCM does not contain the final program and calibrations. This final information must be programmed into the service PCM using the approved tools/equipment, and procedures. If the service PCM is not programmed, DTC P0602 will set. When the DTC sets, the PCM disables the fuel pump relay, and the fuel injectors.
    • DTC P0603 - PCM Long Term Memory Reset.
        Specific vehicle information is stored within an area of the EEPROM called non-volatile memory. The PCM uses this DTC to verify the integrity of the non-volative information across ignition cycles. At key OFF, before storing this information, the PCM performs a checksum calculation of the information. At key ON, the PCM retrieves the information, and places it into the PCMs Random Access Memory (RAM). After retrieval, the PCM conducts a checksum of the information in RAM, and compares this value to the value stored in the EEPROM at the previous KEY OFF. If the values do not match, DTC P0603 will set. Also, during operation, the PCM maintains a running checksum on a certain section of RAM that contains critical information. If, at any time this running checksum fails, DTC P0603 will set.
    • DTC P0604 - PCM Memory - RAM.
        The PCM loads the vehicle operating information stored in the EEPROM into the PCMs Random Access Memory (RAM). This allows the PCM to work with, and make any updates to the information. The PCM tests all areas of the RAM. If the PCM detects an error in any area of RAM, DTC P0604 will set. This requires that the PCM be replaced, and the replacement PCM be programmed using the approved tools/equipement and procedures.
    • DTC P0606 - PCM Internal Performance.
        The PCM uses this DTC to detect a malfunction within the controller (PCM hardware). This requires that the PCM be replaced, and the replacement PCM be programmed using the approved tools/equipement and procedures.
    • DTC P1621 - PCM Memory Performance.
        Specific vehicle information is stored within an area of the EEPROM called non-volatile memory. The PCM uses this DTC to verify the integrity of the non-volatile memory areas in the EEPROM. There are several locations (areas) within non-volatile memory to store the specific/critical operating information. If the PCM detects a problem in one location of the EEPROM, the PCMM attempts to store the data in another location. If the PCM runs out of valid places to store the information, DTC P1621 will set.
        The PCM stores a copy of the previous key ON values in the non-volatile memory. When the DTC sets, the PCM defaults to the previously stored information. The vehicle operator will not notice a difference in vehicle performance. The PCM will contrinue to search for good memory locations within non-volatile memory to store the information. A CURRENT DTC P1621 requires that the PCM be replaced, and the replacement PCM be programmed using the approved tools/equipement and procedures.

Important:  The PCM uses the EEPROM to save critical data even when the battery power is removed from the PCM. The EEPROM stores information such as TP sensor learned value, Transaxle Shift Adapt values, Vehicle Theft Deterrent Password, Crankshaft Angle Sensing Error values, and Oil Life Indexes. These values are stored in the EEPROM during the first 30 seconds after the key is turned OFF. Disconnecting the battery before the PCM is able to store the values may result in an EEPROM reset. This results in a reset of the stored values. Therefore, you should wait at least 30 seconds after key OFF before disconnecting the battery or PCM connectors to allow these values to be stored in the EEPROM.

Powertrain Control Module (PCM) and Flashing The EPROM

Important: The service PCM will not contain the final program information. After PCM installation, the EEPROM must be flashed using the approved tools/equipment, and procedures.

This powertrain has very complex components with equally complex operating characteristics. Therefore, it is essential that the Powertrain diagnostic procedures given in this and other service manual sections be used for diagnosis before any repairs are made. While the PCM may appear on the surface to be the source of a problem, it may, in fact, be operating properly based on incorrect input. Powertrain diagnostic procedures are designed to arrive at the CORRECT repair as QUICKLY as possible. DO NOT, under any circumstances, replace a PCM unless directed to do so by diagnostic procedures in the service manual, other service information sources, or through technical assistance.

Service of the PCM will consist of replacement of the PCM and flashing the EEPROM. If a diagnostic procedure calls for the PCM to be replaced, the PCM should be checked first to see if it is the correct part. When flashing the EEPROM, refer to the latest service publications for updated programming procedures and information.

EEPROM Data Following PCM Replacement

Since the information contained in the EEPROM is vehicle specific, the EEPROM should reset if the PCM is installed in another vehicle.

When this reset occurs, the following data will be erased or reset:

    •  TP sensor learn. The TP sensor learn can be relearned by ensuring the throttle is closed and turning the ignition ON for 30 seconds. Do not move the throttle or brake pedals during the TP learn.
        
    •  Transaxle adapts (shifts, steady state, and garage shifts). The transaxle adapts will be relearned during normal operation.
    •  Transaxle oil life - The transaxle oil life index can be reset using the scan tool.
    •  Engine oil life - The engine oil life index can be reset using the scan tool.
    •  PCM odometer reading

In addtion, the vehicle theft deterrent (VTD) password and crankshaft position sensor error (CASE) values will be incorrect if the PCM is installed in another vehicle. This results in the following actions:

    • Incorrect VTD password will cause the PCM to disable the starter, and the fuel injectors.
    • Incorrect CASE values may cause DTC P0300 to set.