Advertising:

Siemens GS20: Difference between revisions

From MS4X Wiki
No edit summary
Line 54: Line 54:
=Checksums=
=Checksums=
Checksums are used to verify that the data written to the ROM has not become corrupt. At the moment we don't know where they are located.
Checksums are used to verify that the data written to the ROM has not become corrupt. At the moment we don't know where they are located.
Checksum correction tool: [[File:Siemens TCU GS20 SMGII Checksum Corrector.rar|thumb]]

Revision as of 18:46, 23 August 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 384 kByte
30000 3FFFF
40000 4FFFF
50000 5FFFF
60000 6FFFF
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. At the moment we don't know where they are located.

Checksum correction tool: File:Siemens TCU GS20 SMGII Checksum Corrector.rar