Forum: Mikrocontroller und Digitale Elektronik C167 Interrupt-Tabelle


von smartie (Gast)


Lesenswert?

ich habe zwei C167-Files Disassembliert aus zwei Steuergeräten.
C167 mit externem Flash 512KB, 16 Bit.
Bei dem einen File steht in Adresse 0000 bis 01ff eine Sprungtabelle,
so wie es sein soll.
Bei dem anderen steht in 0000-7FFF nur ein Füllbyte, ab 8000 gehts erst
los. Nun steht aber nicht in 8000 die Sprungtabelle sondern nur ein
ASCII Text. erst in 8020 stehen ein paar Sprungbefehle, aber keine
ganze Tabelle. Nun frage ich mich, wie kann das sein? Die
Reset-Einsprungadresse ist doch 0000 oder 8000 aber doch nicht
woanders.
Oder gibt es noch andere Einsprungadressen?
Auch kurios: die Sprungbefehle springen in Segment 8, also oberhalb der
512KB, also im Prinzip wieder bei 0000, weil die Adressleitung am Flash
ja nicht angeschlossen ist. Hat das irgendetwas zu bedeuten? oder
irgendein Trick des Programmierers?
Hat da vielleicht jemand Ahnung von?

von Mark de Jong (Gast)


Lesenswert?

Hallo Smartie,

Die start adresse ist immer 0x0000.

es muss nicht die ganze tabelle da sein, nur die benutzte.
ist nicht 100% schon aber geht.

Hat der C167 vielleicht internes FLASH/ROM?

Grüße Mark,

von Trubadur (Gast)


Lesenswert?

Schon wieder so ein Chiptuner  der an Motorsteuergeräten rummurkst !


Gruss

von Martö (Gast)


Lesenswert?

Kann sein das ein Monitor Programm von 0x0000 bis 0x8000 Läuft.

von smartie (Gast)


Lesenswert?

nee mit Chiptuning hat das nichts zu tun. Gerade die Chiptuner haben ja
Null Ahnung vom Code ansich und murksen trotzdem munter drin rum. Mir
geht es mehr um die Funktionsweise an sich. Hintergrund ist mehr der,
einen Motor zu marinisieren und alles rauszuschmeien, was nicht
gebraucht wird.
Mit dem internen Flash hab ich mir auch schon als einzige Erklärung
gedacht.
Steht leider nur eine Bosch-Nummer drauf auf dem Prozessor, da kann man
den Typ nicht genau ermitteln.
Kann höchstens mal die EA Leitung rausmessen, da müßte man ja erkennen
ob interner Speicher da ist. Oder mal den externen Flash deaktivieren
und schauen, ob sich was auf den Adressleitungen tut.

von Weihnachtsmann (Gast)


Lesenswert?

Hallo Smartie,


Blöde Frage aber warum willst du alles rauslöschen was es nicht
braucht. Da ist eigentlich nichts drin was es nicht braucht oder wie
meinst du das ?

Auch wirst du probleme dann  mit der Anpassung der Checksumme haben.
Die ist soviel ich weiss im ROM und kann nicht geändert werden.

von smartie (Gast)


Lesenswert?

Checksumme anpassen sollte das kleinste Problem sein,
aber auf einem Boot brauch ich kein Getriebe, Schalthebel,
Abgasrückführung und vor allem keine Wegfahrsperre.
Werde also manuell nach Einsprungadressen suchen und ab da Stück für
Stück disassemblieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.