Pages: [1] 2 3 ... 10
Author Topic: Open Source Checker for ME7...  (Read 100615 times)
360trev
Full Member
***

Karma: +68/-2
Offline Offline

Posts: 235


« on: December 30, 2012, 08:38:33 AM »

ETA (nyet): new thread here
http://nefariousmotorsports.com/forum/index.php?topic=3347.0

Q. How many C developers/lurkers on here?

Well for you guys, here is my attempt to calculate checksums for my ME7.x firmwares from the info I found (mostly on Andy's site) so it was indeed inspired by good old Andy Whittakers work and done quite a long time ago now, sorry its taken so long to upload it. Decided to upload this it since some guys on here won't release their source code to ME7 stuff and I thus feel innovation dies, come on guys step up and help your fellow brothers.

... This software compiles under win32 using Mingw (executables included in the zip too) but very easy to cross compile to Linux (I did try and it worked fine in Ubuntu). Anyway, this stuff is completely freeware, do anything you want with it, its BSD licensed so free as in free beer.

My tool uses config files (ini files) so will work with many ME7 dumps out there, it would be trivial to update the checksums and write them back to the file if so desired (no need to buy ANY tools to do this!!). Let me know if someone wants this feature. Anycase I will provide that feature in the next update, I just ran out of time at the time I did this. It may be useful to some.

This was done to work with the Ferrari 360 dump I did (using a custom home made bench flash cable). I've uploaded the firmware dump in the usual place.

Here's an example of the config file (as it stands today)
#
# Ferrari 360 (For Bosch Ignition Computers)
#
# This is the base configuration for Ferrari 360 firmware dumps
# for Bosch ME7.3 firmware decoding & checksum generation
#

[ignition]
# main rom checksumming
rom_firmware_start=0x800000
rom_checksum_block_start=0x1fc20
rom_checksum_block_len=0x10
rom_checksum_offset=0x01bc88
rom_checksum_final=0x07ffe0

# boot sector validation
rom_boot_Startaddr=0x00800000
rom_boot_Endaddr=0x00803fff
rom_boot_Chksum=0x0fa0f5cf
rom_boot_InvChksum=0x0f05fa30

# rom data segment information dumps
[dumps]
dump_show=8

dump_1_type=String
dump_1_visible=true
dump_1_label=EPK        :
dump_1_offset=0x1002b
dump_1_len=43

dump_2_type=String
dump_2_visible=true
dump_2_label=SW Number  :
dump_2_offset=0x1015f
dump_2_len=8

... cut ...


Relatively straight forward right? The dumps section allows you to print out interesting ascii string information to shell..

This means you can indeed create new version of the ini files for other ME ROM based cars easily. I plan to add more stuff soon like a command line shell environment to allow you to edit roms (from a cli environment) and re-calc the checksums and then flash back to car. Will likely create a GIT project when I get some time.. Right now its very simple indeed...

Hope its useful to someone. It allowed me to go much further at the time....

If anyone's interested in the pinout diagram to dump these roms from the Ferrari Bosch ecu's let me know... I have pictures and pinout information I did at the time on my camera somewhere. This is a great starting point for the Ferrari 360 for which there is very little information posted around the web...

I've also included in the zip me7stuff pointing out where one of the maps is in this dump, again easy enough to create 'templates' to find these in as future tool. (and add it as editable) so people can modify from cli environment.

Anyway let me know if there is interest in this concept (i.e. fully open source) tool. Free that everyone can contribute to.

Regards,

Trev

https://github.com/360trev/ME7Sum/

« Last Edit: September 16, 2014, 02:15:46 PM by Tony@NefMoto » Logged
rnagy86
Sr. Member
****

Karma: +6/-11
Offline Offline

Posts: 367


« Reply #1 on: December 30, 2012, 09:01:58 AM »

I thought x-mas was over  Shocked Grin
Logged
360trev
Full Member
***

Karma: +68/-2
Offline Offline

Posts: 235


« Reply #2 on: December 30, 2012, 09:08:54 AM »

I thought x-mas was over  Shocked Grin

Smiley 

Perhaps we can all create some config files for the various roms available?
Logged
rnagy86
Sr. Member
****

Karma: +6/-11
Offline Offline

Posts: 367


« Reply #3 on: December 30, 2012, 09:26:10 AM »

Smiley 

Perhaps we can all create some config files for the various roms available?


First I would really upload it to github so that it's easier to contribute.
Logged
360trev
Full Member
***

Karma: +68/-2
Offline Offline

Posts: 235


« Reply #4 on: December 30, 2012, 10:25:37 AM »

As requested,

There is now an open source code repository on GitHub at: https://github.com/360trev/ME7Sum
This is where all of the source-code is now posted.

Regards,

Trev
Logged
prj
Hero Member
*****

Karma: +1072/-480
Offline Offline

Posts: 6035


« Reply #5 on: December 30, 2012, 10:34:59 AM »

I haven't looked at this yet, but you are off to a very good start here.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
360trev
Full Member
***

Karma: +68/-2
Offline Offline

Posts: 235


« Reply #6 on: December 30, 2012, 10:48:29 AM »

I haven't looked at this yet, but you are off to a very good start here.

Thanks, hopeful its useful to others too.

Would be great to have some more good open source cross platform tools that everyone can contribute to.
Logged
rnagy86
Sr. Member
****

Karma: +6/-11
Offline Offline

Posts: 367


« Reply #7 on: December 30, 2012, 11:58:38 AM »

I will start with replacing the ini parser because that is not portable for sure -- sometime around next week
Logged
nyet
Administrator
Hero Member
*****

Karma: +607/-168
Offline Offline

Posts: 12268


WWW
« Reply #8 on: December 30, 2012, 12:08:01 PM »

Awesome. Thanks. I will try to get a working csum corrector working asap.
Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your ex
nyet
Administrator
Hero Member
*****

Karma: +607/-168
Offline Offline

Posts: 12268


WWW
« Reply #9 on: December 30, 2012, 12:10:46 PM »

You should remove the .o files from the repo.
Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your ex
nyet
Administrator
Hero Member
*****

Karma: +607/-168
Offline Offline

Posts: 12268


WWW
« Reply #10 on: December 30, 2012, 12:18:56 PM »

Made a few changes.

Intermixing pointers and integers is not 64-bit clean.
Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your ex
360trev
Full Member
***

Karma: +68/-2
Offline Offline

Posts: 235


« Reply #11 on: December 30, 2012, 12:23:11 PM »

I will start with replacing the ini parser because that is not portable for sure -- sometime around next week

Actually surprisingly it is fully 100% portable, ini files are just a text format. Not as popular or expressive as XML but easy to use. 

I've already tested the code under Linux aand even ran it under an embedded microcontroller so its 100% cross platform.
Its just a text format after all.  May not be the trendiest but its simple.

Feel free to replace with XML if you want though.
Logged
360trev
Full Member
***

Karma: +68/-2
Offline Offline

Posts: 235


« Reply #12 on: December 30, 2012, 12:24:25 PM »

Made a few changes.

Intermixing pointers and integers is not 64-bit clean.

Great find.

Yes, I only tried to compile so far on 32-bit toolchain so far!
Logged
360trev
Full Member
***

Karma: +68/-2
Offline Offline

Posts: 235


« Reply #13 on: December 30, 2012, 12:25:55 PM »

Awesome. Thanks. I will try to get a working csum corrector working asap.

I think this would make it super useful to the average (non coder) vs us guys. Wink
Logged
360trev
Full Member
***

Karma: +68/-2
Offline Offline

Posts: 235


« Reply #14 on: December 30, 2012, 12:48:09 PM »

You should remove the .o files from the repo.

whoops. These tools work so much better under Linux than Windows... been trying to commit the change but its failing for obscure reasons. Will dual boot my machine and revert to Linux to continue dev.
Logged
Pages: [1] 2 3 ... 10
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.023 seconds with 17 queries. (Pretty URLs adds 0s, 0q)