Forum: Mikrocontroller und Digitale Elektronik MC9S12XEP100 neu Beschreiben?


von Stefan M. (metaworld)


Lesenswert?

Hallo,

Ich habe folgendes Problem. Und zwar besitze ich einen Prozessor für 
eine Motorsteuerung. Leider muss beim letzten Firmware Update etwas 
schief gelaufen sein. Ich kann den Prozessor nicht neu Bespielen oder in 
meiner Software für die Motorsteuerung nicht mehr ansprechen.

So wie es aussieht ist eine BDM auf der Prozessorkarte vorhanden. Könnte 
mir jemand den Prozessor mit einen Programmer vielleicht wieder fit 
machen?

Alles was ich aber habe ist das *.S19 File. Reicht das?


Mfg Stefan Mandl

PS: Ich möchte das ganze nicht für lau haben. Der jenige kriegt 
aufjedenfall was dafür

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Hallo Stefan,

die megasquirt, oder? Welche is es denn?
Soweit ich das damals für meine Steuerung recherchiert habe, besteht die 
Software aus zwei Teilen:

1. Bootloader
2. Anwendersoftware

Der Bootloader ist schon drauf, wenn man die megasquirt kauft, die 
Anwendersoftware kann man von der Website in Source und kompiliert als 
S19 bekommen.

Eignetlich dürfte sich der Bootloader nicht selbst überschreiben können, 
aber so genau hab ich das Updateprinzip nicht verstanden bzw. 
nachvollzogen. Die Möglichkeit, dass man sich genau auf die Art 
aussperren kann, hat mir damals schon nicht gefallen und war demnach 
einer der Gründe für die Eigenentwicklung.

Ich fürchte, man wird den Bootloader neu draufprogrammieren müssen und 
dafür muss man ihn erstmal haben...

Grüße,

Peter

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Ich hab grad mal nachgelesen.

http://www.msextra.com/doc/ms3/firmware.html

Es gibt wohl zwei Methoden für das Update:

1. Direkt aus der laufenden Anwendersoftware heraus (das ist das, was 
wohl nicht mehr geht)
2. Über den Bootloader (dafür muss man den Bootjmper setzen)

Hast du 2. schon mal ausprobiert? Das ist wohl die Methode, die man 
braucht, wenn die Anwendersoftware noch nicht drauf ist. Sollte also 
auch bei nicht funktionierender Anwendersoftware funktionieren (Solange 
der Bootloader noch funktioniert).

von Stefan M. (metaworld)


Lesenswert?

Hallo Peter,

Schon lange nix mehr voneinander gehört :-) Liegt aber auch an bisschen 
an mir. Mein Auto lief echt ganz Anständig bis zu dem kleinen Malör :-)

Letzens hatte ich schon mal so ein Problem. War nach dem fahren und 
einstellen der Kennfelder. Da hatte es die Software auch komplett 
zerlegt beim Abspeichern. Es ging wieder mal gar nix mehr. Nicht mal die 
Benzinpumpe ist beim Zündungswechsel angelaufen. Mein bester Buddy hat 
mich dann mit im Krach mit seiner Holden im strömenden Regen abgeholt. 
Dann Firmware drauf, Config eingestellt und der schaden war behoben.

Es handelt sich um die MS3. Brauche ich den blöden Bootloader überhaupt 
wenn ich ein BDM Tool habe? Habe eine DIY Tool gefunden um die Kisten 
(den MC9S12XEP100MAL) zu bespielen. Das S19 file ist doch das was der CW 
fertig ausgibt oder?

Ärgerlich ist halt nur das die MS3 für meinen besten Buddy war (der mit 
dem Polo wo ich mal erzählt habe) . Der war heute dann ziemlich 
angefressen da ich wieder mal nicht zu Potte komme :-(

von Stefan M. (metaworld)


Lesenswert?

Jepp ich habe beides schon zig mal Probiert. Also mit ohne Bootlader 
aber er reagiert gar nicht mehr. Ein anderer Prozessor (mein Eigener) 
funktionert aber Tadellos... Vorhin hatte ich sogar mal Verbindung aber 
dann schrieb mir meine Anwendung das ich wohl einen Firmwarefehler habe 
:-(

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Also, wenn man diesem Thread glaubt, kann es gar nicht sein, dass der 
Bootloader beschädigt ist, ohne, dass man den selbst mit einem BDM 
Interface kaputtgemacht hat.
http://www.rx7club.com/showthread.php?t=745418

"There's no need to get any kind of programmer because there's no way 
without a BDM for you to have messed up the bootloader that is triggered 
by the boot jumper."

Also muss die Variante mit dem Bootjumper eigentlich immer 
funktionieren. Das würde so auch Sinn machen, dass man die Bootsection 
zum Beschreiben sperrt, so dass sich die Software nicht selbst zerstören 
kann.

Die Bootloader-Software (also das, was unzerstörbar sein soll), die man 
mindestens für ein weiteres Update über RS-232 braucht, nennt sich 
offenbar "Serial Monitor". Die entsprechende Datei müsste 
"bootstrap.S19" heißen.

Zumindest ist das wohl bei der MS2 so. Irgendwie kann ich aber die 
bootstrap.S19 bei den Dateien für die MS3 nicht finden. Möglicherweise 
ist das in die Hauptfirmware integriert und es reicht tatsächlich, diese 
einfach mit einem BDM aufzuspielen. Es heißt ja auch, dass man 
keinesfalls das MS2 Programmingtool auf die MS3 anwenden darf. Das 
spricht dafür, dass da etwas geändert wurde.

Irgendwie hab ich den Eindruck, dass es eigentlich keine einfache 
Anleitung gibt, wie man die Software per BDM auf einen blanken Prozessor 
bringt.

Eine wirkliche Erklärung, welche Dateien in welche Flash-Sektionen bei 
welchen Updatevorgängen geladen werden, gibt es wohl nicht.

Sicher ist nur, dass es sowas wie eine Bootsection geben muss, denn 
genau von der startet man, wenn man den Bootjumper setzt. Aber wie man 
die programmiert, steht nirgendwo.

Am besten, du bestellt schon mal ein BDM-Interface. Vielleicht kann man 
damit ja auch einfach ein Image von der funktionierenden Anlage machen 
und das komplett mit Bootloader und allem was dazu gehört auf die 
gebrickte Anlage brennen.

-------------------------

Ich glaub, ich habs gerade gefunden:
>To reiterate:

>1) Use the BDM to put the freescale derived monitor on the chip
>2) use the .bat file to load our firmware.

>That's all you have to do.
Das ist von hier:
http://www.msextra.com/forums/viewtopic.php?f=91&t=30403&p=246261&hilit=bdm#p246261


"Serial Monitor" ist ein Projekt, das wohl von Freescale ist und die 
Grundlagen eines Bootloaders implementiert. Wenn man das per BDM drauf 
hat, kann man normal über das ms3loader_win32.exe weitermachen.

Ich muss mal suchen, vielleicht finde ich den serial monitor.

Was ich schon rausgesucht hab, ist das BDM:
USB BDM Multilink
Bei Farnell Best.Nr. 1165943
Alternativ und besser USB Universal Multilink Best.Nr. 1893351, der kann 
auch noch JTAG.


Grüße,

Peter

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Ich denke, das ist der Serial Monitor:
http://cache.freescale.com/files/microcontrollers/doc/app_note/AN2548.pdf?fsrch=1&sr=2

Zu AN2548 gibt es auch nach Registrierung auf der Seite von Freescale 
den entsprechenden Download.

Edit:

Nachdem in dem Dokument genau steht, wie sich der Monitor an der 
seriellen Schnittstelle verhält, könnte man mal testen, ob der bei 
gesetztem Boot-Jumper noch irgendetwas brauchbares antworten kann.

Dafür eignet sich Realterm gut. Ich werd mir morgen mal überlegen, wie 
man das am besten testet.

Nochmal Edit:
Es ist ganz einfach: Man muss nur bei 115200 Baud ein Carriage-Return 
senden, dann antwortet der Controller mit
0xe0 0x08 und dem Zeichen '>'. Wenn er das noch macht, braucht man 
vermutlich kein BDM-Interface.

Grüße,

Peter

von Stefan M. (metaworld)


Lesenswert?

Morgen Peter,

Sag mal wann schläfst du eigentlich mal? :-) Aber danke schon mal für 
deine Mühen Peter.

Über die MS3 liegt was das angeht ein großes Dickes Siegel. Denn wenn es 
erstmal offen ist kann man damit kein Geld mehr verdienen. Was auch 
nachzuvollziehen für mich ist. Von Irgendwas muss man auch leben können.


Also ich hab mir Realterm gezogen. Auf Port den Com 1 eingestellt mit 
einer Baudrate von 115200 und den Port geöffnet. Mit dem defekten 
Prozessor passiert hier gar nix. Keine Antwort.

Hingegen wenn ich den neuen Prozessor nehme kommt etwas zurück. Zwar nur 
abstruße Zeichen (muss ich da normal nicht auf Hex stellen für die 
Ausgabewerte??)

Aber so ein BDM für 100,-€ schon wieder ausgeben... Ach ich könnte 
kotzen :-)

Hier mal eine erschwingliche Alternative für mich.

http://www.ebay.de/itm/FREESCALE-S12-BDM-programmer-/320727152847?pt=LH_DefaultDomain_2&hash=item4aacd3f8cf

Bleibt aber immer noch zu klären was das die Firmware in die Jagdgründe 
geschickt hat? Ich kann jedenfalls einen Hardware Defekt ausschliesen. 
Es kamen keine Rauchzeichen von der MS... Was mir aber passiert ist kann 
andere User auch treffen.
Die Frage ist halt ob das wirklich hinhaut... Peter wie du weist sind 
meine Kenntnisse in solchen sachen echt einfach Null..  Bin echt grad am 
überlegen ob ich mir nen neuen Prozessor erstmal hole :[

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Also die Reihenfolge für den Test müsste sein:

- Zündung aus
- Bootjumper setzen (wichtig, sonst startet die normale Software)
- Realterm auf 115200 Baud stellen
- Realterm: Display auf "Hex + Ascii" stellen
- Zündung ein
- Realterm: Unter "Send": in die Sendezeile "\r" (ohne die 
Anführungszeichen) eingeben und "Send ASCII" drücken

Dann sendet Realterm an die Steuerung das Zeichen "Carriage return".

Dann müsste eine Antwort kommen, die so oder so ähnlich aussieht:

0xe0 0x08 0x3e >


Was mich auch interessieren würde, ist die Ausgabe von 
ms3loader_win32.exe.
Hier kann man das Debuglevel ganz hoch stellen (ich glaube 5 ist das 
höchste), dann werden einige hilfreiche Zusatzinfos ausgegeben. Und auf 
jeden Fall den Bootjumper setzen und in der Software angeben, dass das 
der allererste Download ist (und der Jumper gesetzt ist).

Du kannst mir die Platine ja mal zuschicken. Ich hab gesucht und ein 
Demoboard gefunden, wo ein BDM drauf ist. Das ist zwar für einen anderen 
Prozessor, aber es könnte funktionieren. Irgendwo bei Freescale gibts 
auch eine Bauanleitung für ein BDM am Parallelport.

Grüße,

Peter

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Hier gibts einen Open Source Debugger für die HC(S)12/S12X Prozessoren:
http://cache.freescale.com/files/community_files/16BITCOMM/TBDML_distribution_12f.zip?fsrch=1&sr=1

Das ist möglicherweise das, was in Ebay-Artikel Nr. 320727152847 
angeboten wird.

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Im PDF, das bei dem Open Source Debugger dabei ist, steht etwas von 
einer maximalen Quarzfrequenz von 16 MHz an der Target-CPU. Das 
funktioniert also mit den 50 MHz der Megasquirt wahrscheinlich nicht. Ob 
das Produkt aus Ebay-Artikel Nr. 320727152847 das gleiche Problem hat, 
weiß ich nicht.

von Stefan M. (metaworld)


Lesenswert?

Hallo Peter,

So nochmal ein bisschen probiert mit dem ganzen.
Also der Funktionierende Prozessor gibt etwas aus aber nicht die
 0xe0 0x08 0x3e >
sonderen immer zwei stellige Codes.

Der defekte Prozessor spricht nicht an.

Ich glaube der MS3 Prozessor läuft nur mit 8 Mhz. Es ist jedenfalls so 
ein Quarz in SMD drauf dessen Durchkontaktierungen unter dem Prozessor 
raus kommen sollten. Drauf steht C AA 87 8.000M.

Ich schicke dir mal das Ding zu. Ich kann eh nichts so damit anfangen 
auser Ihn auf den Großen Ambos zu legen und mal zu schauen was so ein 10 
Kilo Vorschlaghammer für Wirkung erziehlt wenn er auf nen 200,-€ 
Prozessor einschlägt :-)

von Metaworld (Gast)


Lesenswert?

Das mit dem Quarz war ein kleiner Denkfehler von mir. Das kann man ja 
noch im Kontroller dann gar einstellen was draus wird. Fakt ist ich hab 
mir nen neuen bestellt damit ich noch die letzten schönen warmen Tage 
noch fahren konnte. Nicht immer nur Schrauben sondern auch mal Spass 
daran haben an der investierten Zeit und Geld :-)

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Es ist in der Anleitung ausdrücklich die Rede von der Quarzfrequenz, 
nicht von der CPU-Frequenz. Das hat mich auch etwas gewundert. Die 
CPU-Frequenz wird ja normal mit einer PLL aus der Quarzfrequenz erzeugt 
(vervielfacht).
Demnach könnte es dann mit dem Open-Source-Programmer schon 
funktionieren.

Würde mich interessieren, woran's gelegen hat, bzw. warum der Bootloader 
nicht mehr geht.
Ich will eh schon länger mal was mit den S12X Prozessoren machen und 
werd mir wohl bald das Original BDM-Interface bestellen.
Wenn du die alte Karte nicht mehr brauchst, würde ich mich freuen, wenn 
du mir die schicken könntest, das wäre für den Anfang ein schönes 
Testobjekt. Wenn ich sie wieder hinbekommen hab und die 
Megasquirtsoftware draufbekomm, schick ich sie dir wieder.

von Stefan M. (metaworld)


Lesenswert?

Hast du meine PN erhalten Peter? Den Prozessor schicke ich dir Morgen 
mit der Post zu. Wenn er läuft sprechen wir nochmal drüber. Vielleicht 
trette ich ihn ab.

MfG Stefan

von DTSX (Gast)


Lesenswert?

Hi!

I'm curious as to if you have discovered or developed a fully functional 
serial monitor that can be uploaded to the XEP100 prosessor with the 
BDM, thus letting you upload the firmware via the serial port?

Regards,

Beitrag #5595945 wurde von einem Moderator gelöscht.
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.