Have you ever wanted to read and reflash the Read Only Memory (ROM) image of your Electronic Control Unit (ECU) using nothing but OpenSource software? Perhaps you simply want to backup the software on your standard/modified ECU or even learn how to ‘map’ it and write it back. This article describes how to read and reflash your ECU using some great software called ECUFlash.
Thanks to the OpenECU community for making this possible.
Refer to the technical article describing connecting to your ECU in more detail. This article assumes you have a working OBDII cable.
What does ECUFlash do?
Figure 1 - ECUFlash main window
ECUFlash is a software application for the Microsoft Windows operating system. It communicates with your ECU via an OBDII cable. ECUFlash provides the following core capabilities:
- download ECU ROM image to a file
- compare a ROM image file to the one currently installed on your ECU
- upload a.k.a. reflash a saved ROM image file to your ECU
ECUFlash allows you to download your ECU ROM image – the software and data your Subaru uses to control things like fuelling, boost, and timing – to a file on your hard disk. You could use this to back up your ECU ROM, perhaps before getting it remapped by a trusted professional, or even to back up the remapped ROM data.
ECUFlash allows you to compare a previously saved ROM image against that installed on your ECU. After a reflash (see below), this capability ensures you have successfully uploaded a new ROM image.
ECUFlash allows you to reflash your ECU with a previously saved ROM image file. This replaces the ROM image within your ECU and could be used to install an upgraded ‘map’.
Download ECU ROM
Before continuing ensure your car battery is fully charged. With your ignition turned off and with reference to the connecting to your ECU article, connect the green 'test' mode connectors and 'jumper' the flash block connector.
Connect your ODBII cable to the OBDII connector under the steering column to your computer. If you haven't already, invoke the ECUFlash application. Select your COM port from the Options -> Port menu. Select your ECU model from the Options -> Model menu.
You are now ready to read your ECU ROM. Note this will not harm your ECU, simply read its contents. Click the 'Read from ECU' icon, then turn on our ignition, and click the 'Ok' button. Debug log information will be displayed in the ECUFlash main window. If you see 'unable to load kernel' in the log, then reading has failed. If this is the case please post your log file and details of your configuration on the OpenECU reflashing software user forum.
To complete the read operation we should compare the image you have just read with the one in your ECU. This will confirm the read operation was successful. To compare this image click the 'Compare to ECU' icon.
You have now read your ECU ROM image in to ECUFlash. To save this image select File -> Save ROM As... In order to assist in the continue evolution of free tools from the OpenECU community it would be appriciated if you would post your ROM image under the OpenECU reverse engineering technical forum.