2.0L ECM: Difference between revisions
From OpenGK
Line 9: | Line 9: | ||
* program code | * program code | ||
=== | === Memory layouts per ECU === | ||
==== SIMK41 - 2mbit ==== | |||
{| class="wikitable" | {| class="wikitable" | ||
! style="text-align: center; font-weight:bold;" | Start | ! style="text-align: center; font-weight:bold;" | Start | ||
Line 38: | Line 39: | ||
|} | |} | ||
=== SIMK43 - 4mbit === | ==== SIMK43 - 4mbit ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="text-align: center; font-weight:bold;" | Start | ! style="text-align: center; font-weight:bold;" | Start | ||
Line 71: | Line 71: | ||
| style="text-align: center; background-color:#fffc9e;" | 384 kByte | | style="text-align: center; background-color:#fffc9e;" | 384 kByte | ||
|} | |} | ||
=== Description of memory sections === | |||
==== Bootloader & UIF ==== | |||
This section is 16 kilobytes in size and contains the boot code that initializes the ECU and verifies that everything is ok before control is handed over to the program code section. | |||
This section also contains one time writeable data such as hardware identifier, manufacturer information and user information fields (UIF). | |||
Offsets and data structure in the table below are shared across all variants. | |||
{| class="wikitable" | |||
|+ | |||
!Name | |||
!Offset | |||
!Size (bytes, decimal) | |||
!Notes | |||
|- | |||
|[[K-Line|KWP seed/key]] | |||
|0x3E01 | |||
|4 | |||
|Two bytes seed, followed by two bytes key | |||
|- | |||
|[[Vehicle identification number (VIN)|VIN]] | |||
|0x3E22 | |||
|17 | |||
|2.0 ECUs don't store VIN. Instead, there's only a [[Vehicle identification number (VIN)|wildcard that narrows the VIN down to Tiburon models]] | |||
|- | |||
|Socket | |||
|0x3F70 | |||
|2 | |||
| | |||
|- | |||
|ECU family | |||
|0x3F80 | |||
|8 | |||
| | |||
|- | |||
|Serial number | |||
|0x3F8A | |||
|50 | |||
| | |||
|- | |||
|Date (YYMMDD) | |||
|0x3F98 | |||
|6? | |||
| | |||
|} | |||
* |
Revision as of 00:38, 26 December 2024
Vehicles equipped with the 2.0L Beta used the 2mbit SIMK41 up until the first facelift model (2005), when CVVT was introduced and 4mbit SIMK43 was used.
Memory layout
Both units memory can be separated into 5 sections:
- bootloader & UIF
- adaptive values
- calibration zone
- program code
Memory layouts per ECU
SIMK41 - 2mbit
Start | End | Section | Size |
---|---|---|---|
0 | 3FFF | Bootloader & UIF | 16 kByte |
4000 | 7FFF | Adaptive values | 16 kByte |
8000 | FFFF | Calibration Zone | 32 kByte |
10000 | 3FFFF | Program Code | 192 kByte |
SIMK43 - 4mbit
Start | End | Section | Size |
---|---|---|---|
0 | 3FFF | Bootloader & UIF | 16 kByte |
4000 | 7FFF | Adaptive values | 16 kByte |
8000 | FFFF | Program Code | 32 kByte |
10000 | 1FFFF | Calibration Zone | 64 kByte |
20000 | 7FFFF | Program Code | 384 kByte |
Description of memory sections
Bootloader & UIF
This section is 16 kilobytes in size and contains the boot code that initializes the ECU and verifies that everything is ok before control is handed over to the program code section.
This section also contains one time writeable data such as hardware identifier, manufacturer information and user information fields (UIF).
Offsets and data structure in the table below are shared across all variants.
Name | Offset | Size (bytes, decimal) | Notes |
---|---|---|---|
KWP seed/key | 0x3E01 | 4 | Two bytes seed, followed by two bytes key |
VIN | 0x3E22 | 17 | 2.0 ECUs don't store VIN. Instead, there's only a wildcard that narrows the VIN down to Tiburon models |
Socket | 0x3F70 | 2 | |
ECU family | 0x3F80 | 8 | |
Serial number | 0x3F8A | 50 | |
Date (YYMMDD) | 0x3F98 | 6? |