Flash/ rimappatura ECU Monster 1100 / Scrambler

Come rimappare (Flash) l’ ECU M3C di un Ducati Monster 1100 tramite l’interfaccia BDM.
Il segnale BDG è interno alla centralina, quindi è necessario aprirla per accedervi.

Questo metodo permette di modificare le mappe originali, oppure di caricare un file esterno tipo Ducati perfomance in forma di file.bin.

Materiale necessario:
BDM Freescale s12 interface  (Se non disponibile .. Forse questo è compatibile)
– Portatile Windows 7, 32 bit
Codewarrior HC12 v5.1 special edition
srecCvt-gui.exe
Srecordizer.exe
Winols test version

Il “motore” di m3c ecu è un potente microcontrollore Freescale MC9S12XS256 il cui intervallo di memoria interessato inizia in esadecimale a 780000 e termina a 7FFFFF della memoria globale.
Questo intervallo contiene l’intera memoria flash e può essere sostituito da un file.bin esterno.

In realta, come potete vedere nella parte sinistra dell’immagine, possiamo leggere e scrivere solo un’area alla volta, precisamente Block_1S and Block_0.
Nel caso volessimo scrivere un file DP, sarà utile solamente metà del file.bin e precisamente la metà inerente ak Block_0, (Block_1S all’interno di file.bin è identico all’originale).
Nel caso in cui si volesse modificare la tabella della mappa originale, la trovate in Block_1S.

Interfacciamento lettura & salvataggio:

Per scaricare il blocco Block_1S e Block_0 come un file SX utilizzate hiwave.exe in /program files/freescale/cws12v5.1/prog/hiwave.exe e nella sezione “command” scrivete:
– SAVE 0x0780000’G..0x079FFFF’G block_1s.sx (Per Block_1S 312kb)
– SAVE 0x07E0000’G..0x07FFFFF’G block_0.sx  (Per Block_0 312kb)
Fate attenzione al simbolo ‘ vicino a G, se copiate e incollate queste linee, probabilmente dovrete riscriverlo manualmente.
Questo và fatto con la chiave di accensione moto, in stato “ON” (motore OFF) e cliccate sull’ icona “Reset”  nella barra dei comandi di CW.

Una volta salvato il file .sx è necessario utilizzare srecCvt-gui.exe per convertirlo in un file .s19.

Block_1S.sx —-> Block_1S.s19 (304kb):

Block_0.sx —-> Block_0.s19 (242kb):

Winols per trovare la mappa all’ interno di Block_1S.S19
La tabella della mappa parte dall’ indirizzo E1B000 fino a E1B07F esadecimale:

All’interno di Block_1s ci sono anche altre tabelle, ma non ne conosco la funzione.
La tabella che modificheremo è inerente alla quantità di benzina immessa in funzione dei giri motore.
Ad ogni modo ho aumentato tutti i valori della tabella di +1, +2. +3 punti tramite Srecordizer.exe.

Srecordizer.exe
Srecordizer è un semplice editor esadeciamale, il quale ricalcola da solo l’ultimo bit inerente al cheksum di ciascuna linea.
Di seguito un esempio della mappa Fuel incrementata di +2 punti da E1B000 a E1B07F.

Preparazione alla scrittura della Flash

Per scrivere le modifiche nella flash memory và utilizzato ancora “Hiwave.exe”, ma per evitare di trasformare la centralina in un mattone inutilizzabile bisogna disattivare la protezione software.
Nello specifico, la protezione viene abilitata da 1 bit interno alla memoria flash, il quale può essere attivato intrinsecamente dal tool di scrittura.
Per evitare che tale situazione si avveri occorre creare un file “Preload.cmd” nella cartella che contiene “Hiwave.exe” e all’interno dovremmo inserire le seguenti linee:

// Before loading the commands written below will be executed
// The following commands must be enabled to load in flash with the ICD12
// initialize the flash mechanism
FLASH NOUNSECURE

La prova che il file preload.cmd viene caricato è visibile quando lanciate Hiwave.exe.

Scrittura Flash Memory

Importante . . prima fate quanto scritto sopra nel paragrafo della protezione 🙂
Una volta lanciato “Hiwave.exe” selezionate la tendina TBDML HCS12 e poi Flash…

Per scrivere occorre prima cancellare la flash memory e in seguito il pulsante “Load…” sarà disponibile e permetterà il caricamento di un file .s19.
Ovviamente a seconda di quale file .s19 andrete a scrivere:
– Ducati Performance S19 file và scritto in PFLASH 00F88000 – 00FFBFFF (Block_0)
– Original edited S19 file và scritto in PFLASH 00E08000 – 00E7BFFF (Block_1S)
NON CANCELLATE MAI ALTRE PARTI DELLA FLASH MEMORY 🙂

Come convertire un file DP BIN  in un file DP S19 file

Per convertire un file BIN in un S19 pronto per essere scritto, scaricate Splitfile e usatelo così:

Nella cartella “parts” troverete i 2 file appena divisi e ognuno deve pesare 128kb.
Rinominateli così:
– part.0 —-> Block_1S.bin
– part.1 —-> Block_0.bin

Recuperate BIN2SREC e usatelo così:
bin2srec.exe -s -o 780000 Block_1S.bin > Block_1S.sx
bin2srec.exe -s -o 7E0000 Block_0.bin > Block_0.sx
Utilizzate SrecCvt.exe per covertire gli indirizzi del file SX in S19:


Con il mio file DP “M1100_ABS_A2IU1NIL_00601000_NoO2NoFlapTune.bin” i file .s19 pesano:
– Block_1S.S19 —-> 304 Kb
– Block_0.S19 —-> 237 kb
Dopo di che potrete scrivere il file Block_0.S19 nella vostra ECU… vi ricordo che
con le mappe DP non è necessario scrivere il file Block_1S.S19 in quanto è identico all’originale.

3 risposte a “Flash/ rimappatura ECU Monster 1100 / Scrambler”

    1. La possibilità ci sarebbe se conoscessimo la posizione del bit inerente l’opzione delle sonde lambda e presumo sia coinvolto il Block_0.
      Per semplificare potresti procurarti delle mappe DP con lambda disabilitate e poi scriverle col mio tutorial.
      Ciao

  1. Complimenti per il tuo sito e grazie per questo tutorial, ho provato tutta la procedura egira anche

    codewarrior 5.1 funziona solo su win32bit non su 64bit , ma gira anche su virtual machine ,usato
    Oracle virtualbox virtual machine , e winxp 32 pro serviced pack2 , sp1 non funziona.

    grazie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *