Advertising:
Siemens GS20: Difference between revisions
(4 intermediate revisions by the same user not shown) | |||
Line 29: | Line 29: | ||
| style="text-align: center; background-color:#fffc9e;" | 20000 | | style="text-align: center; background-color:#fffc9e;" | 20000 | ||
| style="text-align: center; background-color:#fffc9e;" | 2FFFF | | style="text-align: center; background-color:#fffc9e;" | 2FFFF | ||
| rowspan=" | | rowspan="4" style="text-align: center; background-color:#fffc9e;" | Program Code | ||
| rowspan=" | | rowspan="4" style="text-align: center; background-color:#fffc9e;" | 256 kByte | ||
|- | |- | ||
| style="text-align: center; background-color:#fffc9e; color:#000000;" | 30000 | | style="text-align: center; background-color:#fffc9e; color:#000000;" | 30000 | ||
Line 41: | Line 41: | ||
| style="text-align: center; background-color:#fffc9e; color:#000000;" | 5FFFF | | style="text-align: center; background-color:#fffc9e; color:#000000;" | 5FFFF | ||
|- | |- | ||
| style="text-align: center; | | style="text-align: center;" | 60000 | ||
| style="text-align: center; | | style="text-align: center;" | 6FFFF | ||
| rowspan="2" style="text-align: center;" | Unused Flash Area | |||
| rowspan="2" style="text-align: center;" | 128 kByte | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center;" | 70000 | ||
| style="text-align: center | | style="text-align: center;" | 7FFFF | ||
|} | |} | ||
Its interesting that a | Its interesting that a Siemens unit actually follows the same firmware layout usually known from Bosch units with a C167 from that era. | ||
Codewise it is therefor more similar to a Bosch ME7 ECU than to the Siemens MS42 or MS43. Axises and item names are also Bosch-style instead of Siemens. | Codewise it is therefor more similar to a Bosch ME7 ECU than to the Siemens MS42 or MS43. Axises and item names are also Bosch-style instead of Siemens. | ||
=Checksums= | =Checksums= | ||
Checksums are used to verify that the data written to the ROM has not become corrupt | Checksums are used to verify that the data written to the ROM has not become corrupt. | ||
Checksum correction tool: [[File:Siemens TCU GS20 SMGII Checksum Corrector.rar| | The checksum routines are shared with the SMG II transmission control unit used in the E46 M3. | ||
Checksum correction tool: [[:File:Siemens TCU GS20 SMGII Checksum Corrector.rar|Siemens TCU GS20 SMGII Checksum Corrector.rar]] |
Latest revision as of 17:20, 29 December 2021
The Siemens GS20 transmission control unit (TCU) uses a Bosch branded Infineon C167CR_SR CPU in combination with a 4 megabit AMD AM29F400BB flash memory.
This TCU controls the General Motors 5L40E 5 speed automatic transmission, or in BMW speak the A5S 360R.
Said gearbox came with the M57 six cylinder diesel engine, and was also put into some N42 powered cars and most important, the E46 330i ZHP.
Memory Layout
The memory layout can be seperated into three major sections, first the bootloader, followed by the calibration data and then the actual programm code.
See this table for binary data areas:
Start | End | Section | Size |
---|---|---|---|
00000 | 0FFFF | Bootloader Code | 64 kByte |
10000 | 1FFFF | Calibration Data | 64 kByte |
20000 | 2FFFF | Program Code | 256 kByte |
30000 | 3FFFF | ||
40000 | 4FFFF | ||
50000 | 5FFFF | ||
60000 | 6FFFF | Unused Flash Area | 128 kByte |
70000 | 7FFFF |
Its interesting that a Siemens unit actually follows the same firmware layout usually known from Bosch units with a C167 from that era.
Codewise it is therefor more similar to a Bosch ME7 ECU than to the Siemens MS42 or MS43. Axises and item names are also Bosch-style instead of Siemens.
Checksums
Checksums are used to verify that the data written to the ROM has not become corrupt.
The checksum routines are shared with the SMG II transmission control unit used in the E46 M3.
Checksum correction tool: Siemens TCU GS20 SMGII Checksum Corrector.rar