EcuFlash

From EvoEcu
Revision as of 20:20, 20 October 2010 by EdwardMarshall (talk | contribs)
Jump to navigation Jump to search

EcuFlash is a general-purpose ECU reflashing and editing tool that supports an ever-growing list of vehicles. EcuFlash uses the OpenPort vehicle interface to reflash vehicles via the OBDII port. EcuFlash also allows you to edit ECU data (known as 'maps' or 'tables') in a human-readable format using a XML-based definition system to translate the data. With properly setup definitions, the ROM from any vehicle can be edited.

Release history (from EvoM):

  • 0.91, 2005-10-25
    • 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 supported under Windows / OS-X / linux.
  • 1.01, 2005-11-14
    • First GUI version of EcuFlash using the Qt Toolkit
    • (We only have the executable, and it might not be the official one at that.)
  • 1.21, 2006-04-15
    • Add support for drive by wire Subarus (STi,Forrester XT,Legacy GT,Baja,2006+ WRX)
    • Switch to 'Mac' styled UI
    • Add table view / editing with infinite undo
    • Add user definable color maps
    • Make 68HC916Y5 (WRX) kernel deal with bad serial data better
  • 1.22, 2006-04-16
    • Add flipx/flipy to axes widgets
    • Change default color map
  • 1.23, 2006-04-29
    • Fix bug in SH7055 kernel that caused incorrect FMCLR register to be chosen
    • Table checkboxes now single click and only hot within checkbox
  • 1.24, 2006-04-30
    • Fix bug causing crash when ROM images are closed out of order
  • 1.25, 2006-05-01
    • Add user level option to hide obscure tables
  • 1.26, 2006-05-10
    • This is the first version to officially support Mitsubishi vehicles (Evo 7/8,Eclipse,Lancer). Some ROM definitions are included, more will be added later
    • Added driver installer to EcuFlash installation
    • Installer backs up your current metadata to 'backupXXX'
    • Removed option to delete maps until it works
    • Added a needed checksum module for DBW Subarus
    • Added support for float and double data types in scalings
    • Added idle category
    • Improved help in scalings editor
    • Adaptive cell sizing in tables
    • Map windows have ROM file in the title
    • Added procedure steps for connecting to Mitsubishis
    • Added directory browsing to options
  • 1.27, 2006-05-15
    • Some new maps added to Evos
    • Improved programming voltage messages for Subaru
    • Fixed bug in tracking open map views when metadata view changed
    • Expanded table cell sizing a bit to prevent ellipses
  • 1.28, 2006-06-20
    • Evo 9 reflash support added
    • Eclipse AT reflash support added
    • Evo 9 map support improved
    • Update all Mitsubishi XML definitions to use new reflash tool names
    • Improved cell sizing further
    • Fix problem of options changing when browsing options menus and canceling
    • Add support for hex data entry when editing
    • Switch to Qt 4.1.3
    • Remove need for C runtime DLLs
    • Fix update logic when editing map definitions
    • Reset reference ROM data when reading a ROM
    • Fix crash on edit of table with no parent
  • 1.29, 2006-09-29
    • Added many new Subaru ROM definitions thanks to merchgod of enginuity.org
    • Added some Mitsubishi ROM definitions
    • Added auto-selection of OpenPort cables
    • Added descriptive icons to tables in metadata view
    • Fixed bug with tables having 2 generations of parents
    • Fixed bug with incorrect XMLID in new ROM wizard
    • Added ability to load a ROM file from the command line
    • Improved color scaling handling
    • Changed table to show only units for main data
    • Improved table layout
    • Added help text to tables
    • Fix metadata ordering to match XML file order
    • Add support for bloblist data type which enables DTCs
  • 1.29a, 2006-10-03
    • fixed bug in install preventing driver installer from running
  • 1.30, 2007-03-09
    • added OpenPort drivers for Amd64 processors
    • simplified kernels to support both register-based and flash-routine versions of the SH7055
    • moved to Qt 4.2.2
    • prepare code for linux / OSX versions
    • some new XML definitions / fixes
    • (First release with an obscured executable. Change of heart from a few months prior, yet "About" text still asks for donations. Nice.)
  • 1.31, 2007-08-24
    • added Mac OSX (intel) support! - still some minor Qt issues on the mac...
    • moved to Q 4.3.0
    • 2D and 3D graphing features working
    • task pane is hideable and has resizing splitter
    • significant improvements to the Subaru ECU defintions thanks to merchgod
    • add better visibility options for invalid or higher user level tables
    • faster on-demand XML parsing
    • add relative directory support in the options
    • read only support for H8/539 based mitsubishis - flashing disabled due to lockout problem
    • switch to true kwp2000 protocol stack for Subarus
    • fix endian reversal in metadata parser - old metadata files are no longer compatible!
    • add shbootmode for SH705x processor recovery
    • fix asymmetry error in substeps for undo and redo. undo now does steps in exact reverse order, in case two or more substeps operate on the same data (as happens in a 2D interpolation)
    • fix crash on editing of static values
    • automatically detect and warn if Subarus are not in the test mode when flashing
  • 1.322007-09-06
    • removed test mode detection for 2005+ DBW Subarus because some models do not have a test mode connector
  • 1.33, 2007-10-01
    • Subaru metatdata updated to version 0.79b
    • removed test mode detection altogether as it causes problems on many ECUs
    • fix to HC16 kernel to allow bootloader communications to complete before starting kernel
    • fix bug causing extra data to be sent when loading some kernels
    • improve KWP2000 resynchronization
  • 1.34, 2007-11-05
    • fixed crash which occurred when using older OpenPort 1.2 cables
    • added automatic notification when new version is released
  • 1.35, 2007-05-15
    • this is a minor update to support some recent cable changes - a major release is coming soon!
    • FTDI drivers updated to CDM 2.02.06
    • Qt updated to 4.4.0
    • Qwt updated to 5.1.0
    • bitfields now supported in bloblists ("blobbits", ie. for periphery bit editing)
    • Subaru definitions update to merchgod's 0.8 release
  • 1.36
  • 1.37, 2008-09-05
    • the main features of this release is support for Subaru CAN vehicles and the J2534 OpenPort 2.0 cable
    • this release has no Subaru CAN definitions in it yet - those will be supplied in a few weeks once we collect all of the new ROMS.
    • some mitsubishi definitions have been updated (thanks mychailo!)
    • J2534 OpenPort 2.0 applications supported with new op20pt32.dll
    • op20pt32.dll automatically updates OpenPort 2.0 firmware when needed
    • test mode connection no longer needed with newer Subaru ISO and CAN vehicles when using OpenPort 2.0
    • fix bug with unknown ROMs not carrying memory model through wizard
    • fix bug with loading inherited XML when the rommetadata path is a relative one
    • make shbootmode less picky about receiving ACK responses
  • 1.40.2173, 2007-10-21 (??)
  • 1.40.2178, 2007-10-??
    • this release fixes a bug in op20pt32.dll which can allow older firmware to be used if the firmware update fails. using older firmware can lead to flashing failures
  • 1.41.2483, 2009-01-29
    • EcuFlash Related Changes
      • add support for EVO X CAN reflash
      • add DTC clear option for Evo X
      • add flash recovery mode option and flash recovery mode for Evo X
      • H8 support for 1.3 cables removed.
  • 1.42.2595, 2009-06-27
    • EcuFlash Related Changes
      • support for flashing H8/539FA processor (e.g. Evo 6.5) via new H8539FA memory model
      • add many generic memory models to allow support for arbitrary ROMs from ECUs that EcuFlash has no flashing support for. these are named Generic1K, Generic2K, ... up to Generic2048K, including all powers of 2, plus many other common sizes.
      • fix programming voltage warning errors in Subaru HC16 kernels
      • actively pull up OBD pin 9 when communicating with HC16 Subarus to avoid reflash mode initialization problems on some EDM models
      • add some retries to kernel reads, instead of failing
      • allow unique ID data in Subaru CAN ROM protected area to be different without requiring this area to be reflashed (which is not allowed). this allows ROMs of the same version to be shared amongst users without refusal-to-flash errors.
      • fixed error that limited data type to 4 bytes in size (doubles and bloblists can be bigger)
      • fixed bug in Subaru K-line reflashing that did not initialize the parity mode of the vehicle interface, causing errors if the interface had previously been used with odd or even parity
    • J2534 DLL Related Changes
      • (no changes other than new firmware payload)
    • Firmware Related Changes
      • fix bug which can cause CAN receive buffer overruns during large ISO15765 transfers
      • fix bug where resting voltage of adjustable power supply can be low enough to trigger undervoltage protection of voltage multiplexer IC
      • increase maximum allowable ISO9141 baud rate to be 125000 baud