Here's a beta of the command line reflashing tool

OpenECU software executables and source code

Moderator: Freon

Here's a beta of the command line reflashing tool

Postby cboles » Wed Jul 06, 2005 9:02 pm

Here is a new version of EcuFlash (version 0.91) which supports the newer OpenPort 1.2 hardware. The next EcuFlash will be GUI based, but I wanted to get this release out so that everyone can use something until then.

enjoy!

-colby

Code: Select all
EcuFlash release notes

V 0.91

This version has been created to support the new OpenPort 1.2. The OpenPort 1.2 has a 12V reflashing voltage that is controlled by RTS line of the virtual serial port which is off by default. EcuFlash now switches this voltage on at the appropriate times.

This is intended to be the last command line version of EcuFlash. Future versions under development use a GUI and are support under Windows / OS-X / linux.

V 0.90

-description-

This is the first fully functional release. This version of EcuFlash allows you to:

* dump flash contents of the ECU
* compare flash contents of the ECU
* reflash the ECU

-special notes-

* You can very easily render your ECU (and therefore your car) non-operational through improper use of this tool. At this point, it is recommended only for advanced users already familiar with the Subaru reflashing process. If you can't afford to lose an ECU or have your car non-operational until you get a new ECU, you should reconsider the potential risk of using this software.

* The ECU is reset each time EcuFlash is run as the kernel download process wipes out ECU learning.

* EcuFlash has no way to verify that a flash image is correct for your model ECU or if it contains working code/data. EcuFlash only verifies that the image is of the correct size. This means that you better be *very sure* that image you are flashing is correct - otherwise you will end up with a dead ECU.

* Only reflash your ECU on a fully charged battery.

* You should first attempt to dump your ECU's flash image as both a backup process and to verify EcuFlash is working correctly. I would recommend subsequently using the "compare image" switch, and then the "test flash image" switch when you think you are ready to reflash. These switch options further exercise the reflash process without actually writing any flash memory.

* EcuFlash accepts both "compacted" and "expanded" flash images. The compact images are 160k bytes in size and contain only the memory for the 3 flash banks. The expanded images (the ones that EcuFlash outputs) are 192k bytes in size and contain a blank area from 0x20000 to 0x27FFF which is represents the area normally occupied by RAM. The purpose of the expanded image is to maintain a memory address representation which matches the physical address space of the ECU. This make loading the expanded images into a dissasembler easier and avoid confusion about memory addresses, at the expense of file size.

-system requirements-

* PC running WinXP with USB port
* OpenPort 1.0 interface (www.tactrix.com)
* ECU reprogramming connector (see openecu.org for details)
* One of the following vehicles:
    + 2002-2005 USDM WRX (probably many other non-US models too)
   
-usage-

[general]

* The green test mode connector must be plugged in when using EcuFlash
* The programming connector only needs to be plugged in if relashing (not reading)
* Unpack EcuFlash to a directory on your computer
* EcuFlash is run from the command line
* To see a list of options, type

    ecuflash /?
   
    which results in:
   
    EcuFlash V0.90
    flashes WRX Denso ECU plus other functions.
   
    ecuflash {switches}
   
    where switches are:
   
       -one of the following switches-
   
       /ci [image file] - compare image
       /fi [image file] - flash image
       /tfi [image file] - test flash image (no writing)
       /dm [hex start] [hex end] [dumpfile] - dump specified memory area to a file
       /dq [filebase] - quick dump all of flash memory to file(s)
   
       -and any of these optional switches-
   
       /l [logfile] - log output to a file
       /c [comport] - select comport for interface hardware
       /m {wrx2002,wrx2004} - select vehicle model

* You should always specify what comport and vehicle model you are using, e.g.

    ecuflash /c com5 /m wrx2002 (other switches)
   
[dumping flash images]

* To dump a 2005 USDM WRX connected via com5, type

    ecuflash /c com5 /m wrx2005 /dq my2005wrx
   
* At the end of the process, this will result in two files:

    my2005wrx_cpu.hex
    my2005wrx_tpu.hex

* The *_cpu.hex file is a dump of the main flash memory, like the others on the openecu.org site, with zero padding for the 0x20000-0x27FFF RAM area. This file can be used to reflash your ECU or others of the same model.

* The *_tpu.hex file is a dump of the TPU flash memory, like the others on the openecu.org site. The TPU code is not reflashed with this application, but is useful in understanding how to load a kernel into the ECU.

[comparing flash images]

* This feature does a graphical comparison between what is in flash versus a flash image file. The comparison is made using CRC32 checksums of 256 byte blocks in memory. A "." indicates 2 blocks have the same checksum, a "*" indicates that they are different. Obviously, EcuFlash can make this comparison much more quickly using one large CRC32, but I thought it would be useful to see where the differences are in the this early release.

* To compare an image file myimage.hex to flash memory of a 2002 USDM WRX on com2, type

    ecuflash /c com2 /m wrx2002 /ci myimage.hex
   

[test flashing an image without writing]

* This feature mimics as much as possible the real reflashing process without actually writing to the ECU flash memory at all. It is a useful sanity check to be sure that EcuFlash is communicating with its kernel in the ECU correctly, and that the reflashing process will rewrite the memory areas that you expect. It is highly recommended to try this option before actually reflashing.

* To "test" flash an image file myimage.hex to flash memory of a 2003 USDM WRX on com3, type

    ecuflash /c com3 /m wrx2002 /tfi myimage.hex

[flashing an image]

* This feature performs an actual reflash of the ECU. Do not use this until you are sure of what you are doing, and have had success with the "test" flashing. Obviously, any interruption of this reflashing process could render your ECU inoperative. As can flashing a corrupt flash image, or one intended for a different model ECU / car.

* To flash an image file file myimage.hex to flash memory of a 2004 USDM WRX on com1, type

    ecuflash /c com1 /m wrx2004 /fi myimage.hex
   


(attachment removed - please download the EcuFlash GUI version instead)
Last edited by cboles on Sat Mar 11, 2006 1:22 pm, edited 3 times in total.
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Postby NeverLies » Wed Jul 06, 2005 11:08 pm

Sounds great ! so we can do some tests now !

Should try first with the original dumped rom content as you've mentionned Colby. Think I will try soon ;)

I can see this one is a beta release. What are the limitations of this beta ?
NeverLies
 
Posts: 179
Joined: Tue Apr 12, 2005 1:49 am

Postby DaveImpreza » Thu Jul 07, 2005 12:54 am

cboles you rock !!! :) :wink:

Thanks for your great work !
DaveImpreza
 
Posts: 19
Joined: Thu Jan 13, 2005 1:59 am

Postby ahains » Thu Jul 07, 2005 7:11 am

WOOT!!

This is a significant milestone, to be sure.

Do you know what level of compatibility exists between images? Would I be safe with any image for an '04 WRX (I have an '04 WRX wagon), or would it be necessary to use one from the same ECU type (I have AH792)?

I'm guessing than any '04 would work since I assume that the commercial reflashes out there do not have a seperate image for each ECU type. But I have no idea.. I won't go experimenting with my car until it is a bit more clear :)

Anyone have any image address info they'd like to share? What location to change to disable the CL/OL delay, for instance? :D
Probably it is one byte that represents seconds / milliseconds? Or is it in clock ticks or something?

Thanks!
-Adrian
ahains
 
Posts: 83
Joined: Mon Jun 06, 2005 12:59 pm
Location: Renton, WA

Postby NeverLies » Thu Jul 07, 2005 8:02 am

You should only use a rom file made for your ecu !!
As Colby has said, you can very easily render your ECU non-operational through improper use of this tool !

What i suggest u is to first dump the content of your ecu with this great tool. When you will have dumped successfully your ECU, you will need to study about tuning ;)
NeverLies
 
Posts: 179
Joined: Tue Apr 12, 2005 1:49 am

Postby cboles » Thu Jul 07, 2005 8:34 am

You *should* be OK within a model year as long as the physical ECU did not change during that year. The 02-03 models are definitely different than the 04-05s and you should never use a file from one with the other. Cobb Tuning, for example, uses one file for 02-03 WRXs, and seperate files for the 04 and 05. They used to use one 05 file for the 04-05, but they ran into strange stalling issues in 04s which lead them back to using seperate files for the 04s. The point here is just because your car can still start doesn't mean a particular image is working 100% correctly for your car. The best approach is to learn where the maps are for your particular image and apply the changes to that map.

ahains wrote:WOOT!!

This is a significant milestone, to be sure.

Do you know what level of compatibility exists between images? Would I be safe with any image for an '04 WRX (I have an '04 WRX wagon), or would it be necessary to use one from the same ECU type (I have AH792)?

I'm guessing than any '04 would work since I assume that the commercial reflashes out there do not have a seperate image for each ECU type. But I have no idea.. I won't go experimenting with my car until it is a bit more clear :)

Anyone have any image address info they'd like to share? What location to change to disable the CL/OL delay, for instance? :D
Probably it is one byte that represents seconds / milliseconds? Or is it in clock ticks or something?

Thanks!
-Adrian
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Darn!

Postby bofh » Thu Jul 07, 2005 10:22 am

I was hoping to flash my 04 with an 02 image to avoid the OL/CL delay. You are saying this will not work? The entire reason for me is to get rid of that delay... Do I need to get another ECU for testing?
bofh
 
Posts: 50
Joined: Thu Dec 30, 2004 1:59 pm
Location: Houston, TX

Re: Darn!

Postby cboles » Thu Jul 07, 2005 11:04 am

bofh wrote:I was hoping to flash my 04 with an 02 image to avoid the OL/CL delay. You are saying this will not work? The entire reason for me is to get rid of that delay... Do I need to get another ECU for testing?


No - you don't want to put an '02 image on an '04. There are a number of OL/CL transition parameters on the '04 you can adjust however. Send me your '04 image and I can see if I can find them and show you where they are.
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Postby Spiider » Thu Jul 07, 2005 12:34 pm

Now we need more people to go dump their cars so we can build a good library. Please people, go and get these images dumped and online.

Thanks once again Colby.
Spiider
 
Posts: 191
Joined: Thu Mar 10, 2005 4:16 pm

Re: Darn!

Postby ahains » Thu Jul 07, 2005 2:28 pm

cboles wrote:
bofh wrote:I was hoping to flash my 04 with an 02 image to avoid the OL/CL delay. You are saying this will not work? The entire reason for me is to get rid of that delay... Do I need to get another ECU for testing?


No - you don't want to put an '02 image on an '04. There are a number of OL/CL transition parameters on the '04 you can adjust however. Send me your '04 image and I can see if I can find them and show you where they are.


Colby - could you please take a look at my ECU image for the same info? I have already uploaded it to the ROMs area of the site.

Thanks!
Adrian
ahains
 
Posts: 83
Joined: Mon Jun 06, 2005 12:59 pm
Location: Renton, WA

Postby FrSTi » Sat Jul 09, 2005 5:27 am

Excellent job Colby ;)

From now, I hope everyone understand what they're doing, talking about communication issues first... but not to forget the possible downsides of ECU tuning.

Spiider wrote:Now we need more people to go dump their cars so we can build a good library. Please people, go and get these images dumped and online.


I think this would be a good start from the milestone ;)
FrSTi
 
Posts: 79
Joined: Wed Jun 29, 2005 6:09 am
Location: facing my laptop

Postby cboles » Sat Jul 09, 2005 5:27 pm

...still waiting for feedback on this tool. has anyone else used it yet? it's been working great for me, but it was developed around my cars and computers, so it would be useful to have some other datapoints. let me know...
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Postby Spiider » Sat Jul 09, 2005 10:02 pm

I've had no problems with it.

Dumping, reflashing it works great.

All we need now is a GUI/Launcher program for eliminating the command line stuff to make it easier on the newbies.
Spiider
 
Posts: 191
Joined: Thu Mar 10, 2005 4:16 pm

Postby NeverLies » Sun Jul 10, 2005 2:56 am

Dumping, relfashing also and works fine ;) Thanks Colby.
NeverLies
 
Posts: 179
Joined: Tue Apr 12, 2005 1:49 am

Postby west_minist » Sun Jul 10, 2005 7:51 am

Hey Cboles!

Nice release!

I have a question. We are now able to download the rom. What can we do with it now, since in a hex editor its just hex.
west_minist
 
Posts: 515
Joined: Fri Jan 07, 2005 1:31 pm
Location: Barbados

Next

Return to OpenECU Software

Who is online

Users browsing this forum: No registered users and 12 guests

cron