You are on page 1of 4

Motronic

3.1, 3.3, 3.3.1


checksum correction

Written by: slmz


Date: November 2010
All info from PhilipM
For more info: www.ecuconnections.com
Revision: 1
In Motronic M3.1, M3.3 and M3.3.1, the file is seperated into two parts: program data and the data tables. Between
theese parts is a gap, but sometimes it uses all the space, so it may be hard to tell.

So lets begin. Firstly you need a hex editor. You can download one from http://mh-nexus.de/en/hxd/

We neet to determine start and end addresses of data tables. Start address is xx00. In this case the start address is
6A00.

Pic. 1 Start address is highlighted yellow.

The FF‘s in the Pic. 1 is the gap between those two parts.

Next what you have to do is to find the end address. In my case the end address is 799B.

Pic. 2 End address is highlighted yellow

Open your hex editor program and load your *.bin file and find the start address

Pic. 3 Start adress in HxD


Highlight data all the way down till you reach your end address. In my case this is 799B

Pic. 4 Highlighted data in HxD

Now press Analysis> Checksums...

Pic. 5 Hxd menu

Choose Checksum-16 and press OK

Pic. 6 HxD checksum menu


Check out the result

Pic. 7 HxD checksum result

In this case the check sum is C7A9. Now go to WinOLS and check the values after your end address.

Pic. 8 Checksum value (highlighted red) and end address (highlighted yellow) in WinOLS

If checksum result in Hxd and the values in WinOLS after end address is not maching, that means that yours start or end
address is wrong.

When you have made some changes in *.bin file, calculate the checksums and change the checksum value.

Conclusion:
All information and values given in this document may be used at own risk. I do not stand in for
any problems. Thanks to the memebers from www.ecuconnections.com especially for PhilipM for all information.

You might also like