E-Sys Manual PDF
E-Sys Manual PDF
E-Sys Manual PDF
Manual
Manual
Programming ECUs with E-Sys
Project: Fahrzeugprogrammierung
Authors: Wolfgang Schühle, ESG
Tobias Thiemann, ESG
Version: 10.0
Valid as of: E-Sys 3.32.0
Date: 19.02.2018
Manual: Programming ECUs with E-Sys 19.02.2018
Contents
1) Introduction 4
1.1 Change documentation 4
1.2 Confidentiality 5
1.3 Purpose 5
1.4 References 6
1.5 Abbreviations 6
1.6 Table of figures 8
2) Basics 10
2.1 Programming flow 10
2.2 Settings 10
2.2.1 Program 11
2.2.2 System data / fingerprint 12
2.2.3 FSC/CERT 13
2.2.4 Options 14
2.2.5 Connections 16
2.2.6 External Applications 18
2.2.7 Authentication 19
2.2.8 ODX 20
4) Creating a TAL 33
4.1 Manual creation in the TAL-Editor 33
4.2 Automatic TAL calculation 36
4.3 Definition of a TAL-Filter 37
4.4 Creating a TAL in the PDX-Charger 39
4.5 Creating a TAL with BLUP/FLUP 40
Page 2 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
5) Connecting 45
5.1 Choosing a TargetSelector 46
5.1.1 Connecting via gateway 46
5.1.2 Direct connection 46
5.2 Choosing the physical interface 47
5.2.1 Connecting via Ethernet 47
Connecting via gateway URL 47
Connecting via vehicle identification number (VIN) 48
5.2.2 Connecting via ICOM 48
Connecting via ICOM/D-CAN 48
Connecting via ICOM/Ethernet 48
5.2.3 Connecting via CANCard and CANCase 49
5.2.4 Connecting via OMITEC 50
5.2.5 Connecting via radio interface 51
5.3 Choosing vehicle-specific parameters 51
5.4 Connection test 52
6) Executing a TAL 53
6.1 Selecting ECUs and transaction classes 54
6.2 Parameters for TAL the execution 55
6.3 Logging during the TAL-Execution 57
Page 3 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
1) Introduction
1.1 02.02.07 Description of component name in section 3.4 added Tobias Thiemann, ESG, ES-71
1.2 04.05.07 Chapter 7 “Special features for L4-ECUs” added Tobias Thiemann, ESG, ES-71
Chapter 4 restructured
2.1 19.07.07 Tobias Thiemann, ESG, ES-71
Sections 4.2 and 4.3 added
3.1 13.12.07 Minor adaptations to E-Sys 3.3.1 Tobias Thiemann, ESG, ES-71
Page 4 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
1.2 Confidentiality
The present manual is only for the insight of persons participating directly to the project. Any forwarding of
this documentation, in particular to contract partners outside of the BMW Group, must be agreed with the
appropriate responsible project leader and must comply with the regulations and specifications of the
confidentiality agreement of the development contract.
1.3 Purpose
This document describes the process of programming ECUs with E-Sys. It is assumed, that valid software
units (SWEn) have already been created with the SWE-Generator. The handling of the SWE-Generator is
described in [SWEGEN].
Page 5 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
1.4 References
Reference Version Date Description Author
[LH_FP_SWL] 9 18.04.2008 LH „FP Teil 2 Softwarelogistik“, 10000967 - 000 – 09 Dr. Olaf Kluge, BMW
Available in the SAP system
1.5 Abbreviations
Abbreviation Description
KIFA Development Resorts: Body and Interior Trim (Karosserie), Electrics/Electronics and
Driver Environment (Interieur), Driving Dynamics (Fahrwerk), Powertrain
(Antriebsstrang)
Page 6 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Abbreviation Description
SC Standard Core
SG Steuergerät (ECU)
Page 7 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 8 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 9 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
2) Basics
2.2 Settings
All program and user settings can be modified in the menu „Options Settings“. System specific information
will be saved in the file
▪ <E-Sys_installation>\config\Esys.properties.
User specific settings will be saved in
▪ C:\Documents and Settings\<login>\Esys\EsysUser.properties.
The settings will be described in the following sections.
Page 10 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
2.2.1 Program
Global settings are specified in the tab „Program“ (cf.Figure 1), the following settings can be made:
▪ „Directories“: Defines the path for the data folder in which E-Sys data will be stored. This folder will
be referred to as <E-Sys_data> in the following sections of this document. The folder <E-
Sys_data>/psdzdata is the location where ODX data is stored.
▪ „Language“: Switches the E-Sys GUI from German to English and vice versa.
▪ „Logging“: Sets the log level for E-Sys. Log files are automatically created in the folder <E-
Sys_data>/Logs at system start with the name pattern
E-Sys_yyyymmdd_hhmmss.log (e.g. E-Sys_20090112_143821.log). Old log files can be deleted at
system start by activating the provided checkbox.
Page 11 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Settings for programming / coding and fingerprint can be specified on the tab „System data“ (cf. Figure 2).
The fingerprint contains information about the programming system, which are written to the ECU in the
programming process. The fingerprint is composed as follows:
▪ TesterApplyIdentifier: as defined in system data settings. Selection via direct entry or via drop-
down menu possible.
▪ ProgrammingDeviceType: fixed value (0x01), not changeable.
▪ ProgrammingDeviceSerialNo: as defined in system data settings.
▪ BusPriority:
▪ Settings FingerprintID: depending on the used TesterApplyIdentifier
- PlantID:
- SystemSupplierID:
- SystemSupplier List:
- DealerID:
- FingerprintID:
A tooltip with the permitted values for each field appears when moving the cursor over the field. The “Default”
button can be used to reset all values.
Page 12 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
2.2.3 FSC/CERT
On tab „FSC/CERT“ (cf. Figure 3) the settings for FSC (activation of additional ECU functions with a
cryptographic code) can be taken:
▪ Verify: Defines, whether an FSC is verified automatically on “Open” and “Safe” in FSC Editor.
▪ Certificate: Defines the path of the FSC certificate. If an FSC certificate is specified, it will be written
to the ECU in addition to the FSC in the functions “Write FSC” and “Upgrade FSC” in the module
“FSC” as well as in batch mode.
▪ Periodical Check: Defines, whether an additional periodical check is triggered when reading the
SWT status in the modules “FSC”, “FSC Extended” and in batch mode.
▪ Certificate management Server-URL: Here it is possible to add, delete or edit the server URLs of
CBBs for certificate management.
Page 13 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
2.2.4 Options
The following settings can be found on the „Options“ tab (cf. Figure 4):
▪ „Show message after cancel…“: Defines whether a message dialogue is shown when cancelling
an action.
▪ „Ask for saving changes…“: Defines whether the user is prompted to save unsaved data when
leaving a module.
▪ „Update VCM after TAL execution“: Defines whether the VCM (Vehicle Configuration Module) will
be updated automatically after TAL execution. By doing this FA, FP, I-Step and SVT will be written to
the VCM module (currently in the ZGW) and FA and I-Step will be written to VCM backup module
(currently in the CAS) after TAL execution. With no CAS available VCM update will cause timeout
errors!
▪ „Show warning before TAL generation…“: Defines whether a dialogue with function constraints
will be shown when generating a TAL in the PDX-Charger.
▪ „Check software availability…“: Defines whether a check for availability of required software units
is performed before TAL execution. TAL execution will be aborted if a required software unit is not
available when this option is active..
▪ „Update MSM after TAL execution“: Defines whether the MSM (Master Security Module) will be
updated automatically after TAL execution. MSM update transfers transport keys for all CSM-ECUs
(Client Security Modules) to the MSM (currently in the ZGW) and triggers distribution to the CSMs.
All affected ECUs are determined by reading data from the VCM in advance.
▪ “Show message after connection is established”: Defines whether an info dialogue is shown
after successfully establishing a connection or not.
▪ “Show warning to close other applications at startup”: Defines whether a message to close
other applications is shown after programme start or not.
▪ “Show collapsed SVT”: Defines whether the tree structure of a SVT in the module “TAL-
Calculating” will be shown in a collapsed way or not.
▪ “Show message after finish of TAL…”: Defines whether a separate message with the status of
the TAL-Processing will be displayed after the TAL-Processing or not.
▪ “Delete list of recently…”: Defines whether the list of recently opened files will be deleted upon
each restart of the application. The list itself can be found under “File” -> ”Recent Files” in modules
like the FA-Editor or the TAL-Editor.
▪ “Read vehicle configuration (SVT) before and...”: Defines whether the SVT will be read
automatically from the vehicle before and after the TAL-Processing. Advantage of the automatic
reading is, that the respective vehicle configurations are guaranteed to be logged to the log file.
The radio buttons in the box "E-Sys mode" are to switch between the car and the motorcycle mode. The
scope of functions is adjusted specifically to the selected mode.
Page 14 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 15 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
2.2.5 Connections
On the „Connections“ tab (cf. Figure 5) an additional timeout for all diagnostic services can be specified. This
additional timeout respects the latency caused by bus transmission. The maximum value for the „Additional
Transmission Timeout“ is 1000ms.
In addition to that special settings needed for connecting via radio and ICOM interface can be made on this
tab:
• All/global connections:
- Additional Transmission Timeout [ms]: Additional transmission time for all connections added
to the normal timeout
• Wireless connection:
- Additional Transmission Timeout [ms]: Additional transmission time for the radio connection
added to the normal timeout
- Short-VIN: The 7-digit vehicle identification number of the vehicle to be connected
- MDA Number: The MDA number of the radio interface connected to the vehicle
• ICOM connection:
- Base Port: The base port used for calculation of port-mapping URLs needed for ICOM
connections
• Http Update:
- Checkbox: Defines whether a PSdZ internal Http-Server is used for flashing via Ethernet
connections or not.
- Server Port: Defines the port for the internal PSdZ http server. If no port number is specified,
port 8888 will be used by default.
The default settings can be restored via the "Default" button.
Page 16 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 17 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
On the „External applications“ tab (cf. Figure 6) an external editor and a browser can be defined to open
appropriate file formats directly in those tools from E-Sys.
The default settings can be restored via the "Default" button.
Page 18 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
2.2.7 Authentication
On the „Authentication“ tab (cf. Figure 7) one can define settings that allow the executability of secured
processes.
Developer-Soft-Token:
In this area of the tab it is possible to define the path for the developer soft token (EST) which is needed for
coding function data lists (FDLs).
Client Certificate for CBB:
In this area, a client certificate needed to establish a connection to the Certificate and Binding Box (CBB) can
be imported into the application. To do so the path to a valid certificate file in the CERT[PEM].txt format must
be specified and the “Import” button must be pressed afterwards.
To retrieve a valid client certificate one has to generate a Certificate Signing Request (CSR) for the
respective machine. After the successful generation of the CSR file a message will popup, indicating under
which path the CSR file can be found. Now the CSR file has to be manually forwarded to the respective
department.
Attention: It is only possible to import a client certificate which was issued based on the most
recently generated CSR.
Page 19 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
2.2.8 ODX
On the „ODX“ tab (cf. Figure 8) the path of the ODX check rules can be specified. These rules are used by
the ODX-Checker in the PDX-Charger module to check for the correctness of ODX containers. As of E-Sys
3.4.0 C:\Data\Rules is the default directory to which the rules are copied during the installation process.
The maximum size of the user documentation that can be added to the PDX container can be specified in
the box „Component Documentation Files“ (cf. chapter 3.5).
The default settings can be restored via the "Default" button.
Page 20 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 21 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Finally, the software units (SWEn) for the ECU variant can be added by choosing “Add” in the SWE context
menu. The appropriate SWE files in the BSW format (binary software) can then be chosen from a file
dialogue. The software units are automatically extracted and processed during container import.
The coding application files (CAFs) needed for ECU coding cannot be added beneath the ECU variant. They
are added to the CAF element at top level instead. Thus, they are not related to any ECU variant. The same
applies to SVT files which can be added to the SVT element. All other configuration files (e.g. mapping files,
sweseq files (cf. 3.6), …) have to be appended beneath the Config element.
Page 22 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 23 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
If an ECU variant (HSR_EV in our example) contains at least one BLUP or FLUP the appropriate BLUMap
can be added by using the basevariants context menu (cf. Figure 12) and choosing the appropriate file from
the file dialogue. After picking the file its name can be altered. The convention for BLUMap files is
blumap_<base_variant_name>_<component_name>.xml.
The added BLUMap then appears beneath Config/blumaps and is not assigned to a certain ECU variant (cf.
Figure 13, red marking). To see if a BLUMap has been added for an ECU variant, check for the element
“Bootloader map present: yes” beneath the variant.
Page 24 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 25 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Appended documents are saved in the ZIP archive <component_name>_Doku.zip within the container and
are listed beneath the DOC element in the PDX charger (cf. Figure 15).
Page 26 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
The maximum size of this archive defaults to 1MB. It can be altered in the menu Options → Settings → ODX
(cf. section 2.2.8).
Page 27 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Attention: Sweseq files can also be used to specify an order among master (BTLD) and slave
bootloader (FLSL). If no dependency is specified between those the slave bootloader (FLSL) will be
programmed first. Structural dependencies (e.g. BTLD before SWFL, SWFL before CAF) don’t need to
be defined here. If the dependencies specified by the user are in conflict with those elementary rules
programming will be aborted!
Page 28 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
<E/E_component>__<free_text>.<version>.pdx
For the E/E component, the hyphen "-" should be replaced by a double underscore "__"
According to these rules ZBE__04__F001.003_004_000.pdx for instance would be a valid component
container name.
Page 29 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
3.8 ODX-Checker
After saving the container it can be checked for formal correctness by using the ODX-Checker (cf. Figure
17). The rules needed by the ODX-Checker are copied to the folder C:\Data\Rules during the E-Sys
installation process (cf. section 2.2.8). If new checker rules are provided via GIS the old rule files in this
folder have to be replaced by the user.
The ODX-Checker detects errors and irregularities in the and reports those in the lower section of the PDX-
Charger (cf. Figure 17).
Attention: E-Sys contains ODX-Rules which have been developed exclusively for BMW as well as
ODX-Rules which have been purchased by BMW within the scope of the package ASAM. If a user
installs E-Sys on a hardware which is not owned by BMW AG or any other affiliated company within
in the BMW Group, the user shall:
1. Purchase a Licence for the ASAM-Rules (detailed information can be obtained at
http://www.asam.net) or
2. Delete the ASAM-Rules which can be found in the data directory (default:
C.\Data\Rules\asamrules.jar).
Otherwise the user commits a violation of third parties intellectual property (right to licence).
Page 30 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Attention: As the files in the directory psdzdata/extLibs are used by the Java Virtual Machine (JVM)
this folder cannot be deleted while E-Sys is running.
Page 31 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 32 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
4) Creating a TAL
In order to program an ECU, E-Sys needs a transaction list (TAL). A TAL can either be created manually in
the TAL-Editor, it can be calculated automatically in the module “TAL-Calculating” or it can be derived from
an ECU variant in the PDX-Charger.
Attention: It is strongly recommended to calculate the TAL either from SVTactual and SVTtarget or
from an ECU variant in the PDX-Charger (with SVT readout). This ensures completeness and
correctness of the TAL.
Page 33 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Figure 21 for instance shows a TAL for programming the bootloader and the software units of a HU_CIC.
Therefore one TAL-Line for the bootloader (TalLine_ID=tl_3) and one TAL-Line for application and data
software units (TalLineID=tl_4) have been created. Eight transactions of the same type (SwDeployTA) have
been appended to TAL-Line 4. The attributes beneath the SgbmIdentifier element (ProcessClass, ID,
MainVersion, …) have been filled according to the file names of the software units.
Attention: If the SWE versions specified in the TAL do not match the versions of the SWE files
programming will be aborted!
In addition, the InstalledEcuList_Ist/_Soll has to be filled with the ECUs (base variant and diagnostic
address) installed before/after TAL execution.
Page 34 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 35 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 36 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Empty Execution of the transaction depends on differences between SVTactual and SVTtarget
(filter option will not be added to the TAL-Filter)
Allow Execution of the transaction depends on differences between SVTactual and SVTtarget
(filter option will be added to the TAL-Filter)
Prohibit The transaction will not be executed (differences between SVTactual and SVTtarget are not
taken into account)
Force The transaction will be executed (differences between SVTactual and SVTtarget are not taken
into account)
Page 37 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
A generated or loaded TAL filter is displayed as a table (cf. Figure 23). Each row represents an ECU that can
potentially be treated during the TAL execution. Within the first column of the table one can set a global filter
option for each transaction category. During the TAL calculation process this global filter option will only be
considered for those transactions that were not explicitly defined on an ECU level (filter option = “empty”).
The columns of the table are used for the following purposes:
ID-Basis (column 1) Identification of the ECU based on its diagnostic adress in the
hexadecimal format (decimal in brackets).
Set All to… (column 2-5) Assigns the value of all TA categories of the respective ECU to the
value of the respective column.
Specifiy… (column 6) Opens a dialogue which allows to specify filter options for the sub
transactions of the swDeploy transaction (swDeployTa, swDeleteTA
for swfl and swfk). The specified options will be used if the filter
option for the swDeploy transaction is set to “User defined”.
TA-Categories (column 7-18) Allows the specific editing of a filter option with respect the
transaction category.
Page 38 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 39 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Automatic TAL calculation as described in section 4.2 also works with process classes BLUP and FLUP. The
SVTactual/SVTtarget contains the actual or target bootloader with process class BTLD/FLSL in this case. By
using the BLUMap from the container the necessary BLUP/FLUP transactions for the TAL are calculated.
Attention: For this function, it is necessary to establish a connection with a project containing valid
BLUMaps for the desired ECU.
Attention: It is not possible to derive a TAL with BLUP/FLUP transactions in the PDX-Charger. The
actual ECU state needed for this calculation is not available in the PDX-Charger.
To add BLUP/FLUP transactions to the TAL manually please follow these instructions:
Page 40 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
1. Create a TAL-Line for the BLUP/FLUP transaction and add a BlFlash section to this TAL-Line (cf.
Figure 25).
Page 41 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 42 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 43 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
4. Pick the desired BLUP file from the file dialogue. Subsequently a BLFlash transaction is created
which contains the SGBM-ID of the BLUP as well as the SGBM-ID of the encapsulated BTLD
(contained bootloader) (cf. Figure 28).
Page 44 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
5) Connecting
Before programming or coding an ECU a vehicle connection has to be established. This is only possible with
a PDX container successfully imported into PSdZ (cf. section 3.9). The connection dialogue can be opened
by clicking the connection button in the toolbar (cf. Figure 29).
Page 45 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Gateway connection has to be chosen whenever a gateway is installed between the programmer and the
ECU(s) to be programmed. The gateway will route all diagnostic services to the ECU bus system and back
to the tester based on its routing table.
Attention: When setting up a gateway connection, a “VehicleInfo” WITHOUT the suffix “_DIRECT”
has to be selected in the connection dialogue (cf. Figure 31).
In the case of a direct connection, the host computer is connected for example via a CANCard or CANCase
or something comparable. That means a direct connection is established to the ECU to be programmed; no
gateway-ECU is used.
Attention: When setting up a direct ECU connection a “VehicleInfo” WITH suffix “_DIRECT” has to be
selected (cf. Figure 32).
Page 46 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
An Ethernet connection can be set up by either specifying the gateway URL or by selecting a vehicle by its
vehicle identification number (VIN). To set up a vehicle connection the tester and the vehicles’ gateway have
to be in the same IP subnet. If there is no DHCP server available in this subnet the gateway will fall back to a
169.254.x.y local IP address (Windows APIPA addressing). This means an address in the same subnet (i.e.
169.254.u.v) has to be assigned to the testers’ network interface to set up the connection, the subnet mask
is 255.255.0.0 in this case.
If one knows the gateways’ IP address a connection can be set up by simply entering the URL (cf. Figure
33). Specifying the protocol (tcp://) and the port (:6801) is mandatory! Thus tcp://169.254.47.11:6801 would
be a valid gateway URL.
Instead of the IP address the gateways’ DNS name can also be used in the gateway URL. For a vehicle with
the VIN “00000000000000000” the gateway URL would in this case be
tcp://diagadr10bmwvin00000000000000000.muc:6801.
Page 47 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
When opening the connection dialogue and after clicking the “Refresh” button all available vehicles are
detected by a network broadcast and their vehicle identification numbers (VINs) are listed under “Connection
via VIN” in the connection dialogue (cf. Figure 34). A connection to the desired vehicle can be established by
picking it from the drop down list. If there is no vehicle available “Connection via B2V” is disabled.
Basically there are two ways to set up a connection via ICOM depending on whether the ICOM forwards
messages to the vehicle via D-CAN or via Ethernet. Irrespective of that the connection to the ICOM is always
set up via TCP/IP.
If the ICOM forwards messages to the vehicle via D-CAN (special ICOM firmware required) “Connection via
ICOM/D-CAN” has to be chosen (cf. Figure 35). The ICOM URL has to be entered in the text field, the port in
this case is 52410 (50000 + 10*0xF1).
If the ICOM forwards messages to the vehicle via Ethernet “Connection via ICOM/Ethernet” has to be
chosen (cf. Figure 36). The ICOM URL has to be entered in the text field, the port in this case is 50000 +
10*<gateway diagnostic address>. To forward messages to the ZGW, for example, enter port 50000 +
10*0x10 = 50000 + 10*16 = 50160.
Page 48 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
The supported CAN hardware and driver versions are listed in the release notes, at “C:\EC-Apps\ESG\E-
Sys……\lib\environment”, of the current E-Sys version. Up-to-date drivers for the CAN interfaces can
generally be downloaded from the manufacturers’ homepage.
Attention: Before programming via CANCard or CANCase the E-Sys vector driver „ProDiaS-CAN-
Driver CAN 1“ has to be assigned to the CAN device/channel connected to the ECU. The assignment
can be made in the „Vector Hardware“ panel located in the Windows system settings menu
(cf. Figure 37).
Page 49 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
To connect to an ECU via CAN device, select „Connection via bus“ in the connection dialogue. The drop-
down menu on the left specifies the bus name (e.g. FA_CAN), the drop down box on the right specifies the
interface which is VECTOR_DIRECT in this case (cf. Figure 38).
Attention: When connecting to the D_CAN you must not select a “VehicleInfo” with the suffix
“_DIRECT” since you will communicate with the ECUs via the gateway.
Prior to using the OMITEC interface the EDIABAS OMITEC drivers have to be installed. The installation
package is available from GIS in the folder
The settings in the connection dialogue are “Connection through Bus” with bus name “D_CAN” and interface
“STD_OMITEC” (cf. Figure 39). When choosing a target selector one has to select a project without the
suffix “_DIRECT”.
Page 50 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Similar to the OMITEC interface, EDIABAS is also needed to use the radio interface with E-Sys. You can
install EDIABAS as part of the “Standard Tools Setup” available from GIS in the folder
To connect via radio interface pick „Connection through Bus“ with bus name “D_CAN” and interface
„STD_FUNK“ (cf. Figure 40).
Note: To use the radio interface additional settings are necessary (cf. section 2.2.5).
Page 51 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Setting those parameters causes E-Sys to use special data from the PDX template for a certain series/I-step
if applicable. Such special data is necessary if certain ECU attributes (e.g. bus connection) have to be
differentiated within one main series. It is thus recommended to specify or read those parameters from VCM
whenever possible. If the parameters are not set (empty fields), E-Sys uses default data for the particular
main series.
Page 52 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
6) Executing a TAL
The actual programming process is triggered in the module “TAL-Processing” where the transactions
contained in the TAL (cf. chapter 4) are finally executed. Before the execution one at least must perform the
following preparations within the top area of the module (cf. Figure 43):
1. Loading of a valid TAL
2. Providing of a valid vehicle identification number (VIN)
As an alternative to the process of manually typing the VIN into a text field, the VIN can also be read from a
vehicle order (FA) or directly from the VCM (button “Read VIN (VCM)”). If stored in the VMC, the FA itself
can also be read from the vehicle (button “Read (VCM)”). TAL and FA can be opened for editing in the
designated editor by clicking the “Edit” button. Optionally a SVT can be specified which will be written as
SVTtarget to VCM before TAL execution if VCM supports SVT version 6 or higher.
Attention: If the TAL contains coding transactions an entire FA is needed for TAL execution instead
of just a VIN. FAs can be created comfortably with the tool [FA_GEN].
Page 53 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Attention: Transactions with a status different from “executable” are always executed. Therefore
failure free execution of the TAL is not possible.
Page 54 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 55 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Attention: In case an ECU is added to the Blacklist it is recommended to add all other ECUs to the
Whitelist. It should also be noted that ECUs can only be switched if central gateways are not
included in the blacklist.
Page 56 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 57 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
7.1 Mapping
To be able to treat KWP2000-ECUs adopted from a prior series, logistic information from those ECUs
(assembly number, hardware number, hardware reference …) has to be mapped to SGBM identifiers. This is
achieved by means of XML mapping files which are generated in the “Eintrittskarteneditor (EKE)” and added
to the PDX container beneath the “Config” element (cf. Figure 47).
Figure 47: Container with mapping files for AMP_TOP and MULF_Basis
The following list briefly describes the existing mapping files and the mapping flow:
▪ _BTLD: Maps the ECU hardware reference to the SGBM-ID and the version of the bootloader
(BTLD).
▪ _CAFD: Maps the assembly number to the SGBM-ID of the CAF file (CAFD). The CAF main version
is derived from the parameter BMW_vehicleManufacturerCodingIndex which is part of the ECU
response to the diagnostic service „Ident_Lesen“. Subversion and patch version are derived from the
diagnostic service „Aenderungsindex der Codierdaten lesen“.
▪ _HWEL: Maps physical ECU hardware number (PECUHN) and hardware reference (ZZZPPP) to the
SGBM-ID and the version of the hardware module (HWEL). If the hardware number cannot be read
HWEL-mapping is based on the hardware reference only.
▪ _TYPNR: Maps the assembly number to the type approval number (“Typprüfnummer”).
▪ _ZB: Maps the assembly number and the program reference (respectively the data reference) to the
application (and data) software units (SGBM-IDs and versions). If ECU information and mapping files
differ in the program version only the SGBM-IDs are mapped and versions are set to 000_000_000.
Page 58 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
7.2 AIFContents
When programming a KWP2000-ECU in E-Sys the content of the user info field (AIFcontents) has to be filled
in the TAL (cf. Figure 48).
The following elements have to be filled (if they have not been generated automatically):
▪ BmwAssemblyNumber: Assembly number written to AIF/UIF after programming
▪ BmwCalibrationDataSetNumber: SW number from the _TYPNR mapping file for ECUs with large
AIF (51 or 64 byte), "0000000" otherwise
▪ BmwExhaustRegulationOrTypeApprovalNumber: Type approval number (“Typprüfnummer”)
from _TYPNR mapping file for exhaust relevant parts, "0000000" otherwise
▪ PrgRef: Program reference of the software to be programmed
Attention: The AifContents entered in the TAL are written to the ECU after a successful programming
process. Therefore mapping might not be possible afterwards if this information is not correct. In
this case the ECU would no longer be programmable with E-Sys.
Page 59 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
8.1 IDBackup
IDBackup denotes the process of reading and saving individual data. To perform an IDBackup first of all an
adequate TAL is required. This TAL can be either calculated automatically from an appropriate
SVTactual/SVTtarget or can be created manually in the TAL-Editor.
To be able to calculate a TAL for IDBackup automatically with E-Sys, a SVTactual and a SVTtarget fulfilling
the following qualifications are needed:
▪ For the IDR-ECU at least, one hardware element (HWEL) had to be different between SVTactual
and SVTtarget in either the SGBM-ID or the version. Now it is possible to read out the individual data
memory objects from the ECU (cf. Figure 49)
▪
Manual creation
The TAL for IDBackup can also be manually created in the TAL-Editor (cf. Figure 50). At least the following
elements have to be added to the TAL:
Page 60 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Page 61 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
In order to read the individual data, the TAL created in the former steps has to be loaded and executed in the
module „Expert Mode → TAL-Execution“ (cf. chapter 6). If IDR is successful the TAL executes with status
„FinishedForHWTransactions” and a dialog is automatically opened, asking the user where to save the
individual data. The data is then saved to the XML file IDBackup.bak (possibly additional files are genereated
aswell) in the specified directory (cf. Figure 51).
Figure 51: Backup files after IDR classic (left), IDR light (middle) and IDR with PIA Client (right)
Page 62 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
8.2 IDRestore
IDRestore denotes the process of writing individual data back to the ECU. Just like IDBackup the IDRestore
process is triggered by executing a TAL, either calculated automatically or created manually. Automatic
creation only works when the individual data is stored in an IDBackup.bak file created in the IDBackup
process described in section 8.1.
For calculation of the IDRestore transaction in the module “Comfort Mode → TAL-Calculating” SVTactual
and SVTtarget do not necessarily have to be different. Thus both can be filled with the SVTactual read from
the vehicle so a correct InstalledECUList will be created even with no KIS available. Additionally the
checkbox “Use data backup” has to be checked and the directory containing the file IDBackup.bak has to be
specified in the file dialogue next to the checkbox (cf. Figure 52). Having done that the TAL calculation can
be triggered by the “Calculation” button and a TAL containing all the information from the backup file will be
created.
Attention: Warnings might occur during TAL calculation e.g. if KIS is not available. Those warnings
normally do not affect IDBackup and can thus be neglected in this context.
Manual creation
Similar to IDBackup the IDRestore TAL can also be created manually. For this purpose a TAL with a single
TAL-Line containing an IDRestore transaction has to be created in the TAL-Editor (don’t forget to fill base
variant and diagnostic address). Different settings have to be performed depending on the IDR mode
Page 63 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
1. IDR light:
In order to accomplish an ID restore light, one has to add an IDRestoreLight element to the
IDRestore-TAL-line (this requires to first delete the automatically generated IDRestore element).
Then for each DataRecord a matching Element containing the DataIdentifier and the respective
value (cf. IDBackup.bak) has to be appended (cf. Figure 53). This is done by right-clicking on
"IDRestoreLight new DataRecord".
Page 64 of 65
Manual: Programming ECUs with E-Sys 19.02.2018
Figure 54: TAL for IDRestore (IDR classic & PIA client)
To finally write back the data to the ECU the calculated or manually created TAL has to be executed in the
module “TAL-Execution”. If the individual data could be restored successfully the TAL execution will end with
the status “Finished”.
Page 65 of 65