2.0L ECM: Difference between revisions
From OpenGK
mNo edit summary |
|||
Line 85: | Line 85: | ||
!Offset | !Offset | ||
!Size (bytes, decimal) | !Size (bytes, decimal) | ||
!Example | |||
!Notes | !Notes | ||
|- | |- | ||
Line 90: | Line 91: | ||
|0x3E01 | |0x3E01 | ||
|4 | |4 | ||
|0x58D8C848 | |||
|Two bytes seed, followed by two bytes key | |Two bytes seed, followed by two bytes key | ||
|- | |- | ||
Line 95: | Line 97: | ||
|0x3E22 | |0x3E22 | ||
|17 | |17 | ||
|2.0 ECUs don't store VIN. Instead, there's | | | ||
|2.0 ECUs don't store VIN. Instead, sometimes there's a [[Vehicle identification number (VIN)|wildcard that narrows the VIN down to Tiburon models]], sometimes it's just 'xxxxxxxxxxxxxxxxx' | |||
|- | |- | ||
|Socket | |Socket | ||
|0x3F70 | |0x3F70 | ||
|2 | |2 | ||
| | |0x5539 (ASCII: U9) | ||
|[[File:Socket label example SIMK43 U9 5WY1923A.png|thumb]]Value from the small sticker usually located on the ECU socket | |||
|- | |- | ||
|ECU family | |ECU family | ||
|0x3F80 | |0x3F80 | ||
|8 | |8 | ||
| | |||
| | | | ||
|- | |- | ||
Line 110: | Line 115: | ||
|0x3F8A | |0x3F8A | ||
|50 | |50 | ||
| | |||
| | | | ||
|- | |- | ||
Line 115: | Line 121: | ||
|0x3F98 | |0x3F98 | ||
|6? | |6? | ||
| | |||
| | | | ||
|} | |} |
Revision as of 03:26, 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) | Example | Notes |
---|---|---|---|---|
KWP seed/key | 0x3E01 | 4 | 0x58D8C848 | Two bytes seed, followed by two bytes key |
VIN | 0x3E22 | 17 | 2.0 ECUs don't store VIN. Instead, sometimes there's a wildcard that narrows the VIN down to Tiburon models, sometimes it's just 'xxxxxxxxxxxxxxxxx' | |
Socket | 0x3F70 | 2 | 0x5539 (ASCII: U9) | Value from the small sticker usually located on the ECU socket |
ECU family | 0x3F80 | 8 | ||
Serial number | 0x3F8A | 50 | ||
Date (YYMMDD) | 0x3F98 | 6? |