Reading and writing ECU: Difference between revisions
No edit summary |
|||
Line 29: | Line 29: | ||
You can use tool to recalculate cheksums and fix them. Some flashing tool will do it for you. | You can use tool to recalculate cheksums and fix them. Some flashing tool will do it for you. | ||
==Reading and writing== | ==Reading and writing modes== | ||
There are 2 modes for reading and writing an ecu : OBD2 or Boot mode. Each mode has their own advantages and disavantages. | There are 2 modes for reading and writing an ecu : OBD2 or Boot mode. Each mode has their own advantages and disavantages. | ||
Line 40: | Line 40: | ||
*Can read anything even ecu with TPROT | *Can read anything even ecu with TPROT | ||
''When in boot mode, you shouldn't hear the trottle adapting nor the fuel pump priming.'' | ''When in boot mode, you shouldn't hear the trottle adapting nor the fuel pump priming.'' | ||
== Opening the ECU == | ==Opening the ECU== | ||
This is required only for boot mode reads. The pictured is a ME17.5, but it would be the same process for a ME7.1.1 | This is required only for boot mode reads. The pictured is a ME17.5, but it would be the same process for a ME7.1.1 | ||
Remove the 4x T15 bolt from the cover. | Remove the 4x T15 bolt from the cover. | ||
Using a heat gun, heat the edges of the ecu. It will make the sealant softer and make the cover removal easier | Using a heat gun, heat the edges of the ecu. It will make the sealant softer and make the cover removal easier | ||
Line 53: | Line 54: | ||
You can now remove the cover. | You can now remove the cover. | ||
[[File:20210408_003653.jpg|frameless]]<references /> | |||
[[File:20210408_003653.jpg|frameless]] | |||
=Reading and writing the ECU= | |||
==Bosch ME7.1.1== | |||
===OBD2=== | |||
===Boot mode=== | |||
'''For all tools, the ECU pinout should be the same''' | |||
[[File:Me7.1.1 pinout.png|frameless|756x756px]] | |||
[[File:ME7.1.1 Boot pin.png|frameless|424x424px]] | |||
''Refer to your tool's instruction for wires colors'' | |||
====Using KTAG==== | |||
{{Note|note-reminder|If using a clone, ensure you're using an EU clone with a red board}} | |||
Launch K Suite, go to '''PROTOCOLS''' | |||
[[File:Ktag-protocol.png|frameless|586x586px]] | |||
In the KTAG section, select '''BOOTLOADER ST10Fxxx''' and then '''BOSCH ME7.1.1 VAG HW III''' | |||
[[File:KTAG-FAMILY-52.png|frameless|587x587px]] | |||
A window will pop up with the warnings, recommendations and instructions. Once you read them, click ok. | |||
You can select which memory you want to read or write. If you read everything, KTAG will save all the memory into one file. It will ask you if you want to save the files seperately, '''click yes'''. | |||
[[File:Ktag-52.png|frameless|578x578px]] | |||
Files output will be .'''FLS''' (Flash), .'''MPC''' (Microcontroller), .'''EEP''' (EEPROM) | |||
==Bosch ME17.5 (2010+)== | |||
===OBD2=== | |||
===Boot mode=== | |||
Pinout will vary between ME17.5 and ME17.5.6 | |||
'''ME17.5''' | |||
[[File:ME17.5 Pinout.png|frameless|689x689px]] | |||
[[File:ME17.5 Boot pin.png|frameless|389x389px]] | |||
'''ME17.5.6''' | |||
Pinout might varies depending of your tool, please refer to your tool's manual | |||
====Using KTAG (Doesn't include ME17.5'''.6''')==== | |||
{{Note|note-reminder|If using a clone, ensure you're using an EU clone with a red board}} | |||
Launch K Suite, go to '''PROTOCOLS''' | |||
[[File:Ktag-protocol.png|frameless|586x586px]] | |||
In the KTAG section, select '''BOOTLOADER TRICORE''' then '''BOSCH MED17 VAG''' | |||
[[File:KTAG-FAMILY-128.png|frameless|587x587px]] | |||
Read the warnings and recommendations. Then click ok. | |||
You will be promted to select a plug-in, select '''128 - BOSCH MED17.5 IROM TC1766 VAG (P128)''' | |||
[[File:MED17-PLUG-IN.png|frameless|591x591px]] | |||
You can select which memory you want to read or write. If you read everything, KTAG will save all the memory into one file. It will ask you if you want to save the files seperately, '''click yes'''. | |||
From there, KTAG will output the EEPROM and the MPC memory (MAPS) | |||
[[File:ME17.5 OUTPUT.png|frameless|587x587px]] | |||
<references /> |
Revision as of 01:29, 24 July 2022
ECU memory
Generally ECUs contains about 3 differents chips for stocking memory.
EEPROM
Contains informations regarding the vehicule and the immobilizer data
Microcontroller (MCU / MPC)
You could define this one as the "brain" of the ecu.
- Manage the inputs and ouputs
- Process all the calculations (Logics, functions)
- It posses its own memory
Flash memory (external memory) Contains maps and few functions
Some ecu might not have an external flash memory and will use the embeded memory of the MCU (ME17.5 ecu for exemple).
- Fast memory, made to be written all over again (Good for 1,000,000 write cycle per sector)
- Offer sectors protections features (OTP[1])
Your ECU flashing tool will offer the possibility to either read all the memory or only a specific chipset. Memory cannot be changed while driving, you will have to turn off the engine each time you want to reflash modifications. It usually takes less than 5 mins, but it can be an hassle for tuning efficiently. You can however use an emulator if you are seeking live tuning features.
Checksums
Everytime you edit a file, you will have to fix the checksums otherwise the engine won't start (except if someone disabled the integretity tests).
A checksum is a generated number through an algorithm that match a certain memory block, it indicates wheter if the memory has been altered or not. If the memory block has been changed, it will not match the checksum and the integrity test will fail.
The ECU validate the checksums when it boot and will periodiclly recheck the checksums while driving.
You can use tool to recalculate cheksums and fix them. Some flashing tool will do it for you.
Reading and writing modes
There are 2 modes for reading and writing an ecu : OBD2 or Boot mode. Each mode has their own advantages and disavantages.
OBD2
- User-friendly, no ecu removal required, just plug the cable to the OBD2 port
- Can only read flash memory (Some pricey tool can read eeprom, but might require boot mode to write it)
- On late ecu with TPROT[2], you might not be able to flash the file over OBD2 depending of your tool
Boot mode (OBD2 or Bench)
- Need to remove and open the ecu in order to ground the boot pin
- Can read anything even ecu with TPROT
When in boot mode, you shouldn't hear the trottle adapting nor the fuel pump priming.
Opening the ECU
This is required only for boot mode reads. The pictured is a ME17.5, but it would be the same process for a ME7.1.1
Remove the 4x T15 bolt from the cover.
Using a heat gun, heat the edges of the ecu. It will make the sealant softer and make the cover removal easier
Using screwdrivers, gently pry the cover upward, then cut the sealant with a blade. Repeat the process on all the edges.
You can now remove the cover.
Reading and writing the ECU
Bosch ME7.1.1
OBD2
Boot mode
For all tools, the ECU pinout should be the same
Refer to your tool's instruction for wires colors
Using KTAG
Launch K Suite, go to PROTOCOLS
In the KTAG section, select BOOTLOADER ST10Fxxx and then BOSCH ME7.1.1 VAG HW III
A window will pop up with the warnings, recommendations and instructions. Once you read them, click ok.
You can select which memory you want to read or write. If you read everything, KTAG will save all the memory into one file. It will ask you if you want to save the files seperately, click yes.
Files output will be .FLS (Flash), .MPC (Microcontroller), .EEP (EEPROM)
Bosch ME17.5 (2010+)
OBD2
Boot mode
Pinout will vary between ME17.5 and ME17.5.6
ME17.5
ME17.5.6
Pinout might varies depending of your tool, please refer to your tool's manual
Using KTAG (Doesn't include ME17.5.6)
Launch K Suite, go to PROTOCOLS
In the KTAG section, select BOOTLOADER TRICORE then BOSCH MED17 VAG
Read the warnings and recommendations. Then click ok.
You will be promted to select a plug-in, select 128 - BOSCH MED17.5 IROM TC1766 VAG (P128)
You can select which memory you want to read or write. If you read everything, KTAG will save all the memory into one file. It will ask you if you want to save the files seperately, click yes.
From there, KTAG will output the EEPROM and the MPC memory (MAPS)