Pages: [1]
Author Topic: Adding Maps to free area crashes ECU  (Read 2059 times)
R32Dude
Full Member
***

Karma: +45/-10
Offline Offline

Posts: 246



« on: September 28, 2023, 12:34:57 AM »

Is there a trick to adding extra maps to unused FFed ares in ME7.11? Although maps are not as yet used in the code and I have turned off crc checks - 2 places in code and one in eeprom, the ecu crashes and get the flashing lights in the dash.
Logged
prj
Hero Member
*****

Karma: +915/-428
Offline Offline

Posts: 5843


« Reply #1 on: September 28, 2023, 12:52:32 AM »

No there isn't. And if you just modify a random unused area of the flash then this does not cause a crash, your problem is elsewhere.
Logged

PM's will not be answered, so don't even try.
Log your car properly.
fknbrkn
Hero Member
*****

Karma: +177/-18
Offline Offline

Posts: 1404


mk4 1.8T AUM


« Reply #2 on: September 28, 2023, 01:28:56 AM »

Did you modify the code?
I've got the same condition once with st10, spending tons of time to investigate crcs and so on and finally came up to incorrectly jmpr offset that I modify in original code.
Logged
gt-innovation
Sr. Member
****

Karma: +60/-89
Offline Offline

Posts: 447


« Reply #3 on: September 28, 2023, 04:43:48 AM »

Is there a trick to adding extra maps to unused FFed ares in ME7.11? Although maps are not as yet used in the code and I have turned off crc checks - 2 places in code and one in eeprom, the ecu crashes and get the flashing lights in the dash.

What you Consider empty might not be empty or even exist. As fknbrkn said this can be a jump with the wrong offset.It might be a good idea to check the structure and the mapping of the areas you are working on.Easy way to check is to put your code without the jump or the call.


When i was working on my ST10 stuff i was using MPC for extra functions and storing the variables to Flash.
Logged
Blazius
Hero Member
*****

Karma: +89/-40
Offline Offline

Posts: 1278



« Reply #4 on: September 28, 2023, 05:12:10 AM »

So.. on ST10 specially on 32CE like you are working on, the 8F1600+ area is free, personally put stuff there without issues.

But if you modified some code on MPC according to IDA you have to be very careful if you are using a KTAG read of the MPC, becuase it will be missing the 10000 offset(area rather) and your calls / code location wont match up.
so you need to put 10000 display offset in Winols, so that everything after the first 32kb(0-8000h) matches up adress wise.
It's kinda retarded, even if you have a full padded MPC and everything according to memory mapping Winols ignored the padding and shows wrong adresses/offset, if you get what I mean.

Logged
R32Dude
Full Member
***

Karma: +45/-10
Offline Offline

Posts: 246



« Reply #5 on: September 29, 2023, 05:42:08 AM »

So.. on ST10 specially on 32CE like you are working on, the 8F1600+ area is free, personally put stuff there without issues.

I've been testing the problem on the bench now, using vcds to communicate with the ECU as a check.

ECU is all back to stock except for the checksum off mods mentioned here

 http://nefariousmotorsports.com/forum/index.php?;topic=10926.0.

These mods have worked well so far, had no problem with either patched code in the mpc or modded maps, but with big modded chunks something isnt right.

I edit the bin directly with hexedit and upload it with galletto. If I copy some random maps and paste them on the free FF area after the last map at 8FEFD0 (also gave 8F1600 a go from above) , the ECU still boots and communicates via kwp2000, but VCDS cant get any info from it. No VAG number, no Component ID etc.
No fault codes show up either.
My logger also connects and disconnects straight away.
Its as if some part of the stock code is checking that area and partially crashes but the kwp2000 part still works??  A small amount of mod is tolerated but many bytes screw it up.
I will get rid of the checksum patches next and see if the same happens.....
Logged
gt-innovation
Sr. Member
****

Karma: +60/-89
Offline Offline

Posts: 447


« Reply #6 on: September 30, 2023, 01:49:51 AM »

What you are describing here is basically an active checksum doing its job.
Logged
prj
Hero Member
*****

Karma: +915/-428
Offline Offline

Posts: 5843


« Reply #7 on: September 30, 2023, 05:16:55 AM »

What you are describing here is basically an active checksum doing its job.
+1
Logged

PM's will not be answered, so don't even try.
Log your car properly.
R32Dude
Full Member
***

Karma: +45/-10
Offline Offline

Posts: 246



« Reply #8 on: September 30, 2023, 07:37:41 AM »

Thanks for all the suggestion, they made me look carefully for a mistake. I put everything back to stock and through trial and error found that while copying and pasting, somehow, the very end of the files that gave problems had a few bytes altered. Probably by accident, although I can't figure out how. In any case, the very last two bytes need to be A5 A5. I thought they were a checksum for the block, which changed when I added the extra maps, but they are not. A5A5 is  hard coded in the mpc and partially crashes the ecu if it doesn't find A5 A5 in the very last two bytes of the flash.
Logged
terminator
Sr. Member
****

Karma: +15/-4
Offline Offline

Posts: 425


« Reply #9 on: October 01, 2023, 11:03:21 AM »

I may have missed something, but verifying even a 32-bit checksum takes time. So I believe that even with a bad checksum the ECU will work for a while.
If you are not changing CRC area everything will be fine for a couple of minutes.

Reset occurs for many reasons and usually it's a bad program code.
Logged
gt-innovation
Sr. Member
****

Karma: +60/-89
Offline Offline

Posts: 447


« Reply #10 on: October 02, 2023, 02:00:50 AM »

You are confusing the behavior of rsa signatures and normal crc32 checksums on me7 based ecus.
Logged
terminator
Sr. Member
****

Karma: +15/-4
Offline Offline

Posts: 425


« Reply #11 on: October 03, 2023, 02:54:58 AM »

No, I'm talking about normal crc32. I tested it on MED17 and it takes a while for the ECU to detect the incorrect CRC.
Logged
R32Dude
Full Member
***

Karma: +45/-10
Offline Offline

Posts: 246



« Reply #12 on: October 03, 2023, 05:44:40 AM »

You may have not read my last post entirely. It was due to some sort of additional check by the ecu of the very last two bytes of the flash. I accidentally overwrote one of them. These bytes are not part of the usual checksum that winols changes, they never change.
Logged
Pages: [1]
  Print  
 
Jump to:  

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