BCM Firmware Reverse-Engineering

  • In dieser Serie von Beiträgen rund um das BCM möchte ich mich etwas mehr in das innere der Software eingraben. Zum einen um diese besser zu verstehen, zum anderen aber auch um mir gewisse Dinge für Modifikationen dingbar zu machen.

    Die Arbeitsergebnisse

    Wie immer sammle ich im ersten Thread nach und nach die Erkenntnisse, bzw. Verweise darauf:

    Der Proband

    Ich verwende für alle Beiträge ein BCM eines 2.2er Diesel mit allen Funktionen (Vollausstattung) vom Typ BG9T-14A073-XK und der darauf befindlichen Firmware BG9T-14C094-AK.

    Einige Eckdaten

    Die Zentraleinheit (1) vom Typ R32C R5F64524KFD

    • Byteorder: Little-Endian
    • Internes RAM: 48 KB
    • Interner Flash-Speicher: 768 KB + 4 KB Data Flash + 4 KB EEPROM Emulation Flash

    Memory Map

    • SFR1 und SFR2 => Special Function Register, bilden über Speicheradressen Zugriff auf die Module des Mikrocontrollers
    • Data Flash => 0x0006_0000 - 0x0006_1FFF (ECC und Non-ECC Modus). Enthält nur die CCC im AsBuilt-Format.
    • E2 Data Flash => 0x0006_2000 - 0x0006_3FFF. EEPROM-Emulation.
    • Internal ROM => 0xFFF4_0000 - 0xFFFF_FFFF. Hier liegt die Firmware sowie die Reset-Vectoren.


    Verfügbare Datenblätter

    "Lernen ist Erfahrung. Alles andere ist einfach nur Information."

    Albert Einstein

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!