Doğrulama¶
Bir ROM'u değiştirdikten sonra ECU onu yine de kabul eder, ama emniyet veya emisyon testlerinden geçemeyebilir. Doğrulama iki işe yarar: yazdığınız verinin ROM içinde doğru yerde olduğunu kanıtlar ve varsa checksum alanlarını yeniden hesaplar.
Checksum nedir?¶
Birçok ECU, kod ve veri bloklarının üzerinde ya da sonunda bir sağlama değeri taşır. Bu değer değişmediyse ECU "değiştirilmediğim" sanır. Yazma işlemi bu alanları geçersiz kılar; düzeltilmezse ECU kendi kararını verir (genellikle acil durum modu).
Doğrulama ve düzeltme¶
Proje ▸ Checksum Doğrula — seçili algoritma için tüm blokları kontrol eder.
Proje ▸ Checksum Düzelt — hatalı blokları yeniden hesaplar.
Akış:
- ECU tipinizi seçin.
- Doğrula çalıştırın; hangi blokların hatalı olduğu listelenir.
- Önce harita düzenlemelerinizi yapın, en son checksum düzeltmesini uygulayın — aksi hâlde checksum tekrar geçersiz olur.
- Düzeltme sonrası tekrar doğrulayın.
Yerleşik algoritmalar¶
Bosch MED17/EDC17 doğrulaması ve düzeltmesi uygulama içinde gömülüdür;
ek DLL gerekmez. Bu aile dışındaki algoritmalar için Windows modül
kütüphanesi kullanılır.
148 modüllük Windows kütüphanesi¶
ChecksumDLL/ klasöründe 148 adet 32-bit modül bulunur. Bunlar 32-bit
Windows üzerinde çalışır ve 64-bit uygulamanın içinden checksumhelper.exe
yardımcı süreci aracılığıyla çağrılır.
Gerekli çalışma zamanı
Modüller Microsoft Visual C++ 2005 SP1 (x86) çalışma zamanına bağlıdır. Bu çalışma zamanı kurulu değilse modüller yüklenemez. Uygulama bu durumu açık bir mesajla bildirir.
Modüller yalnız Windows üzerinde kullanılır; Linux ve macOS'ta yalnızca yerleşik MED17/EDC17 yolu çalışır.
Bir checksum modülü yüklerken neden ayrı süreç var?¶
checksumhelper.exe 32-bit bir yardımcı süreçtir. ROM verisi geçici
dosyalar üzerinden iki süreç arasında aktarılır. Bu sayede 64-bit uygulama,
32-bit bir DLL'i kendi adres alanına yüklemeden çalıştırabilir.
Harici kontrol ile karşılaştırma¶
Uygulamanın verdiği sonucu her zaman bir bağımsız kaynakla doğrulayın:
- ECU yazılımının kendi araç seti,
- Üreticinin checksum/doğrulama yazılımı,
- Dinamometre ve emisyon testi sonuçları.
Uygulama "başarılı" dese bile haritalar yanlış yere yazılmışsa sonuç anlamsızdır. Doğrulama zincirinin en zayıf halkası checksum değil, adres eşleştirmesidir.
A2L taban adresi doğrulaması¶
Bir A2L dosyasındaki adresler bir taban adresine göre verilir. Yanlış taban adresi seçildiğinde haritalar yanlış yere açılır — checksum doğrulaması bunu yakalayamaz. İlk çalışmada:
- Tanıdığınız bir haritanın adresini A2L ile karşılaştırın.
- ROM'da o adresin anlamlı veri içerdiğini doğrulayın.
- Gerekirse taban adresi listesini elle düzeltin.
Kaydedip yeniden açma testi¶
En basit bütünlük testi:
- Değişiklikleri kaydedin.
- Projeyi kapatın.
- Dosyayı yeniden açın.
Doğrulaçalıştırın ve düzenlediğiniz haritaların değerlerini kontrol edin.