Forum: Mikrocontroller und Digitale Elektronik Siemens/Infineon C166 BSL Boot loader


von Fabian E. (fabianlphd)


Lesenswert?

Hallo Leute,

ich versuche gerade mit einen Siemens C166(!kein C167) im BSL zu 
schicken und
darüber Befehle auszuführen...
Das Datenblatt ergibt um in den BSL zu kommen, folgendes zu machen: "The 
SAB 80C166 enters BSL mode, when ALE is sampled high at the end of a 
hardware reset andif NMI becomes active directly after the end of the 
internal reset sequence." Verstehe ich das richtig... ALE auf HIGH und 
dann reset? Ist der dann im BSL?
Außerdem nutze ich KEIL uVision und bekomme bei einem BSL assembler Code 
eine 113Byte große H86 Datei... Wie wird diese 32Byte groß für den BSL 
Mode?

Vielleicht hat ja jemand noch Erfahrungen... Ich würds mir wünschen :D

Lg und Danke!

von Thomas Z. (usbman)


Lesenswert?

mm lang ist es her. Deshalb alles nur aus der Erinnerung.

Nach dem Aktivieren des BSL modes kannst du bis zu 32 Bytes schicken, 
die ein gültiges Prorgram darstellen müssen. Die Schnittstelle wird mit 
9600 8N1 bedient. Wie so ein Program aussehen muss, ist in irgend einer 
Appnote beschrieben. Danach wird dann regulärer Code übertragen. 
SecondStageLoader

Natürlich kann das kein IntelHex (H86). Du musst das schon binär 
schicken.

Ich glaube mich auch zu erinnern, dass der BSL eine autobaud Funktion 
hatte.
Wie man den BSL aktivert, hab ich vergessen.

von Fabian E. (fabianlphd)


Lesenswert?

Ja danke erstmal für deine Antwort.
Autobaud ist richtig, aber ich bekomme keiner richtige Verbindung hin.

Laut Datenblatt: "After entering BSL mode the SAB 80C166 scans the RXD0 
line to receive a zero byte, i.e. one start
bit, eight ‘0’ data bits and one stop bit. From the duration of this 
zero byte it calculates the
corresponding baudrate factor with respect to the current CPU clock and 
initializes ASC0
accordingly."

Nun verstehe ich nicht was ich genau dem Ding per Seriel schicken soll?
Einfach 0? Ich habe jedenfalls nie eine Antwort mit "The SAB 80C166 
returns the value <55H>." bekommen.

Nachdem Init will er ein 32Byte Programm richtig...
Vielleicht bekomme ich ihn auch nur nicht im Boot Mode, keine Ahnung -.-

von Thomas Z. (usbman)


Lesenswert?

So langsam kommen wieder ein paar Bruchstücke...
Es ist bei mir ziemlich genau 20 Jahre her...

Über die Steuerleitungen des Comports haben wir ALE und RESET bedient. 
Danach die 0 gesendet und auf die Antwort gewartet. Wir haben auf diese 
Weise dann die Flashs auf dem Board programmiert.

Wenn du also keine Antwort bekommst würde ich es einfach mit einer 
kleineren Baudrate noch mal probieren.
Es gab aber, meine ich, auch einen Weg den BSL mit bootpin Optionen zu 
sperren.

von Soul E. (Gast)


Lesenswert?

Fabian E. schrieb:

> Nun verstehe ich nicht was ich genau dem Ding per Seriel schicken soll?
> Einfach 0? Ich habe jedenfalls nie eine Antwort mit "The SAB 80C166
> returns the value <55H>." bekommen.

Binär 0x00. Nicht ASCII "0", das wäre 0x30.

von Fabian E. (fabianlphd)


Lesenswert?

Okay, ich hole mir dann mal die ALE Leitung und RESET raus.
Um genau zu sein ist der C166 in einem Bosch Steuergerät und sollte 
keine Boot Loader sperre haben. Reicht es auch ALE High zu haben und 
dann einfach Strom an? Oder benötige ich extra RESET?
Danke für die Infos

von Thomas Z. (usbman)


Lesenswert?

Bei einem Steuergerät würde ich darauf wetten dass BSL vernagelt ist. 
Bosch wird Updates sicher nicht per BSL einspielen. BSL ist mehr was für 
die Produktion.
Das sollte auch mit PwrOn reset gehen.

von Fabian E. (fabianlphd)


Lesenswert?

Soul E. schrieb:
> Fabian E. schrieb:
>
>> Nun verstehe ich nicht was ich genau dem Ding per Seriel schicken soll?
>> Einfach 0? Ich habe jedenfalls nie eine Antwort mit "The SAB 80C166
>> returns the value <55H>." bekommen.
>
> Binär 0x00. Nicht ASCII "0", das wäre 0x30.

Ja okay, gibts ein Terminal indem ich direkt Hex schicken kann?
Putty anscheinend ja nicht. Sonst muss ich mal ein kleines Programm für 
diesen Zweck schreiben.

von Fabian E. (fabianlphd)


Lesenswert?

Thomas Z. schrieb:
> Bei einem Steuergerät würde ich darauf wetten dass BSL vernagelt ist.
> Bosch wird Updates sicher nicht per BSL einspielen. BSL ist mehr was für
> die Produktion.
> Das sollte auch mit PwrOn reset gehen.

Laut Forum für Flashen von Steuergeräten, soll die möglich sein.
Normal wird der Flash per KWP2000 programmiert.
Wenn das Steuergerät jedoch nicht erreichbar ist, sollte BSL 
funktionieren.
Wollte per BSL den internen ROM vom C166 auslesen. Ist dies Schwer?

von Thomas Z. (usbman)


Lesenswert?

Fabian E. schrieb:
> Ist dies Schwer?

nein ist es nicht, allerdings sind die Dinger doch Romless oder täusche 
ich mich da?

von Fabian E. (fabianlphd)


Angehängte Dateien:

Lesenswert?

Thomas Z. schrieb:
> Fabian E. schrieb:
>> Ist dies Schwer?
>
> nein ist es nicht, allerdings sind die Dinger doch Romless oder täusche
> ich mich da?

Die Dinger gibts ROMLess, aber auch mit 32kByte ROM.
In den SG wurde wohl immer mit 32kbytes ROM verbaut.

von Achim M. (minifloat)


Lesenswert?

Fabian E. schrieb:
> Ja okay, gibts ein Terminal indem ich direkt Hex schicken kann?
> Putty anscheinend ja nicht.

HTerm kann das. Oder Coolterm. Oder oder oder. Viele Terminalemulatoren 
können auch Textdateien senden und/oder lassen sich skripten oder haben 
eine eigene Skriptsprache eingebaut.

Dann gibt es von Infineon noch ein Flashtool [1], welches über einen 
Bootstrap-Lader ein Monitorprogramm in den RAM geladen hat, welches 
Flash lesen und schreiben konnte. Hatte ich mal vor langer Zeit für die 
XC2000-Serie verwendet...

mfg mf

PS. [1] 
https://www.infineon.com/dgdl/Infineon-Memtool-DevelopmentTools-v04_90-EN.exe?fileId=5546d462518ffd8501525537c197206f

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

Fabian E. schrieb:
> Die Dinger gibts ROMLess, aber auch mit 32kByte ROM

OK c166 mit Rom sind mir bis jetzt noch nicht untergekommen. Ob man den 
Rom Inhalt so einfach lesen kann, kann ich nicht sagen. Es ist durchaus 
möglich, dass sowas gesperrt ist. Siemens hatte das Flashzeitalter 
irgendwie verpennt.

von geb (Gast)


Angehängte Dateien:

Lesenswert?

Ich hab noch was gefunden, was dir weiterhelfen könnte.Die relavante 
Funktion ist "CVICALLBACK FB", hier siehst du, wie 32 Bytes über die 
serielle geschickt werden, gefolgt von einem "Hexloader-Programm", das 
darauf folgende Bytes in das externe Flash klopft.
Eventuell kann ich auch noch das Hexloader Programm finden, falls du es 
brauchst.
Grüsse

von Fabian E. (fabianlphd)


Lesenswert?

geb schrieb:
> Ich hab noch was gefunden, was dir weiterhelfen könnte.Die relavante
> Funktion ist "CVICALLBACK FB", hier siehst du, wie 32 Bytes über die
> serielle geschickt werden, gefolgt von einem "Hexloader-Programm", das
> darauf folgende Bytes in das externe Flash klopft.
> Eventuell kann ich auch noch das Hexloader Programm finden, falls du es
> brauchst.
> Grüsse

Vielen dank!

Jedoch bekomme ich nicht hin das Ding in BSL zu bekommen. Ich habe ALE 
immer High und auch !NMI auf HIGH.
"when ALE is sampled high at the end of a hardware reset",
"NMI becomes active directly after the end of the internal reset 
sequence"

Aber ich bekomme keine 55H zurück.

Kann mir jemand noch sagen was alles zutreffen muss?
Muss ALE erst HIGH sein wenn Reset auf HIGH geht?
Muss ich irgendein Timing beachten?

von Thomas Z. (usbman)


Lesenswert?

Es ist schwer dir zu helfen wenn wir nicht wissen wie dein Setup 
aussieht...

Was für HW benutzt du? Welches OS? Welches Terminal Prog? Was für ein 
Comport Adapter? Was passiert im Terminal wenn du RX und TX verbindest? 
Bekommst du im Terminal dann ein Echo? Welche Baudrate und Settings? 
Steht das Terminal auf binär?

von geb (Gast)


Lesenswert?

Was ich mich noch erinnern kann, muss Datenleitung D4 beim Reset auf 
Masse gezogen werden.
Irgendwo hab ich noch einen Schaltplan, aber leider nicht auf diesem 
Rechner.
Falls das für dich wirklich wichtig ist, könnte ich noch meinen alten 
Rechner hochfahren.
Wenn man so drüber nachdenkt... wie kompliziert in der Handhabung waren 
diese Prozessoren damals. Heute eingebaute Bootloader über seriell, USB, 
SPI,I2C...
Grüsse

von Fabian E. (fabianlphd)


Lesenswert?

Thomas Z. schrieb:
> Es ist schwer dir zu helfen wenn wir nicht wissen wie dein Setup
> aussieht...
>
> Was für HW benutzt du? Welches OS? Welches Terminal Prog? Was für ein
> Comport Adapter? Was passiert im Terminal wenn du RX und TX verbindest?
> Bekommst du im Terminal dann ein Echo? Welche Baudrate und Settings?
> Steht das Terminal auf binär?

Also...
Ich benutze ein CP2102 Seriell Adapter, dieser bekommt auch Echo wenn 
RX/TX gebrückt sind. Der Prozessor schickt auch irgendwas per Seriell 
wenn man RESET auf HIGH setzt, nur definitiv nicht der BSL.
Als Terminal benutze ich HTerm... Als Baud habe ich alles zwischen 
1200-115200 probiert.
Das Terminal steht auf HEX und sendet 0x00.

von Fabian E. (fabianlphd)


Lesenswert?

geb schrieb:
> Was ich mich noch erinnern kann, muss Datenleitung D4 beim Reset auf
> Masse gezogen werden.
> Irgendwo hab ich noch einen Schaltplan, aber leider nicht auf diesem
> Rechner.
> Falls das für dich wirklich wichtig ist, könnte ich noch meinen alten
> Rechner hochfahren.
> Wenn man so drüber nachdenkt... wie kompliziert in der Handhabung waren
> diese Prozessoren damals. Heute eingebaute Bootloader über seriell, USB,
> SPI,I2C...
> Grüsse

Ja heute ist das deutlich einfacher, auch von der Dokumentation Online 
von vielen Bastlern die darüber berichten.
Es wäre echt Super wenn du nochmal nachschauen könntest, denn ich stehe 
voll aufm Schlauch.
Kann am Ende auch sein das ich die CPU schon getoastet habe.
Neue Steuergeräte sind schon unterwegs.

Jede Antwort von Euch hilft mir ungemein. Ist auch echt interessant mit 
alten Dingern noch was zu machen :D

von geb (Gast)


Lesenswert?

Ich hab noch einen ausgedruckten Schaltplan gefunden, D4 auf Masse bei 
Reset ist richtig, ALE und NMI wurde da nicht benutzt, bzw. war gar 
nicht angeschlossen. Allerdings handelte es sich um einen C161.

>>Ist auch echt interessant mit alten Dingern noch was zu machen

weiss nicht, bin schon älter und nicht masochistisch veranlagt. Aber wer 
sich selbst geisseln will...

Grüsse

von Guido B. (guido-b)


Lesenswert?

geb schrieb:
> Allerdings handelte es sich um einen C161.

Der gehört aber zur C167-Familie! Der C166 war anders.

von geb (Gast)


Lesenswert?

Ja, definitiv, aber war etwas abgespeckt und daher billig.

von Fabian E. (fabianlphd)


Angehängte Dateien:

Lesenswert?

Ich habe Mal ein Bild vom dem Prozessor angehangen. Vielleicht ist es ja 
ein c161? Tuner Forum sagen das man D4 auf Masse setzen muss. Beim c166 
wars aber wieder anders und auch beim c167...
Ist sehr unübersichtlich für mich der damit nun was macht :D

von Guido B. (guido-b)


Lesenswert?

Das sieht nicht nach einem C167er aus, die sind meist quadratisch.
Ich habe hier das "Handbuch des 80C166" von Siemens, da ist kein
BSL darin erwähnt. Im C167-Handbuch ist allerdings wirklich die
Signatur 0x55 für den C166 angegeben. Ev. hatten den BSL nur
spätere Typen mit EPROM o.ä.?

Beim C167 muss P0L.4 mit Widerstand auf Masse gezogen werden, das
wird dir aber auch nicht viel helfen.

von geb (Gast)


Lesenswert?

Sieht weder nach einem C167 noch C161 aus, vlt. irgend ein 
maskenprogrammiertes Spezial-Kundenteil.

von Fabian E. (fabianlphd)


Lesenswert?

Ich habe eine PDF von Siemens "SAB 80C166/83C166".
Darin ist der BSL beschrieben und auch das Pinout passt 1:1 auf meinen 
Chip.

von Thomas Z. (usbman)


Lesenswert?

Lt einem PDF von Phytec ist BSL erst ab einer bestimmten Maskenrevision 
beim C166 verfügbar.  Es ist durchaus möglich, dass das bei der 
Boschvariante einfach nicht geht.

https://www.phytec.eu/fileadmin/user_upload/downloads/Manuals/L071E.pdf

von 661C (Gast)


Lesenswert?

Das Bild ist ein custom chip. Könnte natürlich ein festprogrammierter 
C166 sein (MASK-ROM).

Der BSL im C166 hatte irgendeinen Fehler.
Kommt aber erst später ins Spiel. Er antwortet auch so.

Du kannst ja die unterschiedlichen Aktivierungen des BSL der C16x 
Familie ausprobieren. Vielleicht ist es ein 161, 163, 164, 165 oder doch 
167? Die hätten auch flash onboard.

von 661C (Gast)


Lesenswert?

Fabian E. schrieb:
> das Pinout passt 1:1 auf meinen
> Chip

Gibt es externen Speicher?

von Fabian E. (fabianlphd)


Lesenswert?

661C schrieb:
> Fabian E. schrieb:
>> das Pinout passt 1:1 auf meinen
>> Chip
>
> Gibt es externen Speicher?

Ja, es war ein AM29F400.
Die Datei ist aber zur ersten Hälfte nur mit 00 voll. Müsste dann nicht 
theoretisch eine Sprunganweisung am Anfang sein? Zumindest wenn er 
theoretisch ROMLess wäre.

Kann natürlich sein das BSL deaktiviert ist und nur ein Bootloader auf 
dem Prozessor liegt.
Man kann auch ohne Flash das Steuergerät mit einem OBD2 programmier 
Kabel erreichen, das heißt das ein Code auf jeden Fall drauf ist und 
dieser nicht ROMLess ist.

von 661C (Gast)


Lesenswert?

Fabian E. schrieb:
> Ja, es war ein AM29F400.
> Die Datei ist aber zur ersten Hälfte nur mit 00 voll.

Welche Datei???

Fabian E. schrieb:
> Müsste dann nicht
> theoretisch eine Sprunganweisung am Anfang sein?

Wenn er MASK-ROM hat, kann da irgendetwas drin stehen, irgendwelche 
Parameter.

Fabian E. schrieb:
> heißt das ein Code auf jeden Fall drauf ist und
> dieser nicht ROMLess ist

Wie aktivierst du den BSL, Power On oder nur Reset? Ich würde immer den 
Reset Pin wählen, wenn die Versorgung stabil anliegt.

von Guido B. (guido-b)


Lesenswert?

Fabian E. schrieb:
> Ja, es war ein AM29F400.
> Die Datei ist aber zur ersten Hälfte nur mit 00 voll. Müsste dann nicht
> theoretisch eine Sprunganweisung am Anfang sein? Zumindest wenn er
> theoretisch ROMLess wäre.

Weiter oben schreibst du, dass dir das Handbuch vorliegt. Die
Buskonfiguration bei diesen Chips ist sehr vielfältig, aber durch
Nachmessen leicht bestimmbar. Also, ran mit dem Multimeter!
Dann weißt duch auch was Anfang des Speichers ist.

von Fabian E. (fabianlphd)


Lesenswert?

661C schrieb:
>
> Welche Datei???
>
Ich habe das Steuergerät zuvor per OBD Ausgelesen und die 512kb Datei 
gespeichert. Außerdem habe ich per Arduino den Flash ebenfalls 
ausgelesen und die Dateien stimmen 1:1.



> Wenn er MASK-ROM hat, kann da irgendetwas drin stehen, irgendwelche
> Parameter.
>
So wird es dann sein.


> Wie aktivierst du den BSL, Power On oder nur Reset? Ich würde immer den
> Reset Pin wählen, wenn die Versorgung stabil anliegt.
Ich setze ALE auf HIGH und dann setze ich die Schaltung unter Spannung. 
Ich habe es auch immer mit Reset-Pin versucht. Die Stromaufnahme steigt 
immer um 7mA wenn Reset LOW, bzw !RSTIN auf HIGH ist.

Der Prozessor sendet immer über TXD0 3 Byte wenn ich reset von low auf 
high setze. Der setzt sich dann wohl nicht in BSL sondern lädt normal 
das Programm oder sowas.

von Thomas Z. (usbman)


Lesenswert?

Nun im Datenblatt steht dass auch NMI am Ende des Resets anstehen muss. 
Versuch das mal. Baudrate <9600.

Edit:
Bitte vorher nachmessen ob der NMI nicht hart auf VCC hängt.

: Bearbeitet durch User
von Fabian E. (fabianlphd)


Angehängte Dateien:

Lesenswert?

Das habe ich auch schon Probiert.
Ich habe mit ALE, NMI und Reset in jeder Konstruktion schon 
durchprobiert.

Nun liegt mir auch die komplette Funktionsbeschreibung von der 
Steuergerätenserie vor...

Im EDC15C_Siemens_PDF.pdf ist die Bezeichnung des genauen PDFs genannt.
(http://www.diakom.ru/el/elfirms/datashts/Infineon/m167.pdf)
Darin ist beschrieben das der BSL per "pin P0L.4 is sampled low" 
aktiviert wäre. Das wäre ja ein C167.

Jedoch steht in der Flash Routine(EDC15C Flash.pdf) per KWP2000(OBD), 
dass es ein 83C166 ist(WTF?). Also das wird so wirr.
Was noch interessant ist, ist dieser Satz: "Aufgrund des Gehäuse-Typs 
des eingesetzten FLASH-Bausteins wird die FLASH-Programmierung über 
KWP2000 auch im RB-Werk bei der SG-Fertigung genutzt". Das heißt, dass 
der C166 schon ein fertiges ROM drauf hat und vlt kein BSL da ist.

Ich bekomme heute noch paar Steuergeräte zum testen geliefert. Ich werde 
mal sehen welch C166/167 verbaut ist. Vielleicht haben die BSL...

von 661C (Gast)


Lesenswert?

Fabian E. schrieb:
> Ich setze ALE auf HIGH und dann setze ich die Schaltung unter Spannung.
> Ich habe es auch immer mit Reset-Pin versucht. Die Stromaufnahme steigt
> immer um 7mA wenn Reset LOW, bzw !RSTIN auf HIGH ist.
>
> Der Prozessor sendet immer über TXD0 3 Byte wenn ich reset von low auf
> high setze. Der setzt sich dann wohl nicht in BSL sondern lädt normal
> das Programm oder sowas.

Was mit jetzt noch einfällt, wäre ihn ROMLESS zu starten. Also 
zusätzlich BUSCON oder den entsprechenden Pin beschalten und dann das 
BSL Procedere.

von 661C (Gast)


Lesenswert?

Fabian E. schrieb:
> Das heißt, dass
> der C166 schon ein fertiges ROM drauf hat und vlt kein BSL da ist.

Der BSL wird schon drin sein. :-)

In der Doku steht doch alles drin:
Das Ding ist ein c166 mit MASK-ROM.
Im MASK-ROM sind grundsätzliche Funktionen enthalten (startup).
Zur Anpassung besonderer flash Bausteine wird Code ins RAM geladen und 
dort 'exiku...' (einfach geil die Ausdruckweise).

Das Ding ist ein Neumännchen. Der kann Code im ganzen Speicherbereich 
ausführen. Vermutlich wird immer aus dem MASK-ROM gebootet. Die 
Grundfunktionen zur Kommunikation sind dort auch enthalten. 
Erweiterungen sind im externen ROM/flash.

Für welches Auto? Wieviel PS gibt es jetzt, oder nur Tacho zurück?

von Fabian E. (fabianlphd)


Lesenswert?

661C schrieb:
> Was mit jetzt noch einfällt, wäre ihn ROMLESS zu starten. Also
> zusätzlich BUSCON oder den entsprechenden Pin beschalten und dann das
> BSL Procedere.

Ja ich versuche mich weiter dran. Aber Danke für diesen Tipp!

661C schrieb:
> Die
> Grundfunktionen zur Kommunikation sind dort auch enthalten.
> Erweiterungen sind im externen ROM/flash.

Ja das macht auch Sinn. Denn über KWP2000 kann er ja noch den 
ausgelöteten Flash 'lesen' lach.

661C schrieb:
> Für welches Auto? Wieviel PS gibt es jetzt, oder nur Tacho zurück?

Ist ein W638, oder auch Vito als 108CDI mit 80PS gewesen.
Hatte erst ein 112CDI(122PS) Steuergerät bekommen und danach habe ich 
den Flash gezogen und nun sinds ca 160PS, aber noch mehr Pferde kommen 
noch.
Ich weiß nichtmal ob der Techo aufm Steuergerät gespeichert ist... Wird 
zumindest nicht über CAN mit dem KI ausgetauscht.

Ich möchte eigentlich dem Steuergerät die Funktion von MAP Switching 
hinzufügen -> Eco, Normal und Gummitod.
Generel mal diese alten Mikrocontroller verstehen.

von Fabian E. (fabianlphd)


Lesenswert?

Moin,

eines der Steuergeräte hat den C167 und siehe da, den bestimmten Pin auf 
LOW und direkt eine Antwort vom BSL.
Nun stellt sich für mich die Frage wie ein 32byte ASM Code aussehen 
muss?
Dieser soll mir nur das Rechnerinterne ROM auslesen.
BZW halt von Speicheraddresse ... bis Speicheradresse ...

Ich habe Keil als Compiler.

von Harald (Gast)


Lesenswert?

Fabian E. schrieb:
> Ich habe Keil als Compiler.

Den Compiler kannst du erstmal in der Schublade lassen, es sei denn du 
möchtest auf diesem Weg die Assembler-Anweisungen einfügen. Ich habe 
mich damit mal eine zeitlang beruflich beschäftigt, da kannst du dich 
auf eine intensive Lernkurve einstellen. Schritt 1 ist C16x Assembler 
lernen, segmentiertes Speicherkonzept verstehen etc. Dann UART 
konfigurieren, ein Konzept zur Übertragung erstellen und die PC 
Gegenstelle programmieren.

von Harald (Gast)


Lesenswert?

Ach ja, und noch ein Nachladekonzept für den 2nd Stage Bootloader, weil 
man in den ersten 32 Byte kaum etwas anderes machen kann als den 2nd 
Stage nachzuladen. Das PC Programm muss das natürlich unterstützen und 
den 2nd Stage „bereitstellen“, bevor die gewünschte Aktion ausgeführt 
wird.

von Harald (Gast)


Lesenswert?

Die Adressdekodierung musst Du auch noch herausfinden, es ist nicht 
gesagt, dass Du alle gewünschten Bereiche linear vorfindest.

von Thomas Z. (usbman)


Lesenswert?

Hier ist eine Appnote die sich mit BSL beschäftigt.

http://alt.ife.tugraz.at/datashts/Siemens/ap160701.pdf

von Fabian E. (fabianlphd)


Lesenswert?

Ja habe ich schon gesehen. Ich habe den 67PRELD1.ASM jetzt zumindest 
kompiliert bekommen aber nun ist die h86 Datei 137Bytes groß, zu groß 
für den BSL.
Ich weiß auch nicht weiter was ich in uVision einstellen soll.
Außerdem kennt er nicht MOVB und JMPA.

Erste versuche mit ASM, schwierig :D

von Thomas Z. (usbman)


Lesenswert?

Naja solange dir der Unterschied zwischen InteHex .h86 und binär nicht 
klar ist wird es schwierig. Du musst die 32 Bytes in binär schicken. Ein 
Intel Hex ist da suboptimal. Das hatte ich aber schon ganz oben 
geschrieben.

Schau halt mal ins .lst File oder poste das.

von Hei K. (heroko)


Lesenswert?

Hallo, ich habe das gleiche Problem, ein Steuergerät von Continental mit 
besagtem Chip C161CS32RF.
Ein Wasserschaden hat einige PINs beschädigt.
Was ist bei deinen Experimenten herausgekommen?
Ich müsste aus einem Chip ein Dump auf einen anderen Chip übertragen.

von Fabian E (Gast)


Lesenswert?

Nein,
ich habe nichts mehr in dem Bereich gemacht. Der Chip hat wohl kein BSL 
Boot Loader... Zumindest hat es nie funktioniert. Vielleicht forsche ich 
nochmal weiter dran rum, aber im Moment nicht.

LG

von B. J. (bjue)


Lesenswert?

Wenn es darum geht, etwas auszulesen, könnte eine ältere Version MemTool 
helfen. Dann braucht man sich nicht mit den Innereien des UrLoaders zu 
beschäftigen. Allerdings muss man es hinbekommen, dass der Prozessor im 
Bootstraploader-Modus startet und auf die 0h mit seinem Byte antwortet! 
Memtool für ältere Prozessoren C16x gibt es hier (siehe Link im letzten 
Beitrag):

Beitrag "Suche kompatibles Memtool für C164CI"

von Fabian E. (Gast)


Lesenswert?

Nachtrag...
Also ein C167 konnte ich Problemlos im BSL betreiben, der Antwortet auch 
mit 0h... Der C166 mit dem ich eigentlich am Kämpfen war, klappt das 
ganze bis heue nicht...

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.