2.0L ECM: Difference between revisions

From OpenGK
Line 9: Line 9:
* program code
* program code


=== SIMK41 - 2mbit ===
=== 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?