Pages: [1]
Author Topic: Flashing and complete ECU reading times?  (Read 3808 times)
woj
Hero Member
*****

Karma: +43/-3
Offline Offline

Posts: 500


« on: June 22, 2017, 02:21:36 PM »

I have relatively little experience with ECUs other than the ones that work with for my own cars (two so far), so a stupid question perhaps - what are the best reading and flashing times for custom written boot-mode software for ST10 based ME ECUs? Asking because for my ECU (ME7.9.10) which is 850K in flash size the theoretical limit at 115200 baud is about 1 minute (to just transmit the data), so far my software does it in 1.5 minutes for reading and just under 2 minutes for writing. I simply wonder if further fight to reduce these times has any chance of more improvement?

EDIT: and of course only after I asked I have seen the post a couple of lines below about MED flashing times. Apparently I can still improve it...
« Last Edit: June 22, 2017, 02:28:37 PM by woj » Logged
prj
Hero Member
*****

Karma: +1072/-480
Offline Offline

Posts: 6035


« Reply #1 on: June 22, 2017, 07:03:23 PM »

You can do it much faster.

1. Use compression.
2. Use higher baud.
3. CRC each flash block and erase/write only the ones that were changed.
Logged

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

Karma: +43/-3
Offline Offline

Posts: 500


« Reply #2 on: June 24, 2017, 10:30:48 AM »

Can't seem to do higher than 115200 baud, on my Linux box the whole thing just refuses to communicate, not sure at which end though. On the other hand, after fixing a handful of comm related things on the PC side, I can now push in (flashing skipped) and pull out the whole file in 1:16. At this baud rate, the theoretical max is 1:14, so I am good here. Flashing takes additional 20 seconds or so on top the transmission time. Selective block writing I already had, only manual, CRC code based is indeed a better idea.

So I am left with the compression, since most time it would be the data block / segments writing, I am guessing a simple per word run length compression should do the trick?
Logged
woj
Hero Member
*****

Karma: +43/-3
Offline Offline

Posts: 500


« Reply #3 on: June 25, 2017, 04:10:14 PM »

OK, so some figures with and without CRC checking and simple RL compression (all with actual flashing included):

- complete forced rewrite (no CRC checks): 1:12

- complete rewrite with CRC checking when only data blocks need writing (typical dummy mode for updating tables): 17 seconds

- forced manual rewrite without CRC checking of just the data blocks (128K, but highly compressable): 7 seconds, with CRC checking (obsolete, data needs updating anyhow) additional 2 s.

I could probably improve some split of a second here and there using better compression, however, right now my boot code fits into the IRAM, which simplifies things a lot.
Logged
Pages: [1]
  Print  
 
Jump to:  

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