| Autor |
Eprom 2716 finde keinen passenden Dessambler Suche nach: eprom (645) |
|
|
|
|
BID = 566871
bastler16 Schreibmaschine
     Beiträge: 2140 Wohnort: Frankreich
|
|
Zitat :
| | Wie finde ich da jetzt die Logik oder Adresse???????? |
Durch einen Dissassembler jagen und den ASM-Code analysieren. Dazu braucht es aber gute Kentnisse und sicherlich auch ein bisschen Geduld.
Nochmal die Frage: Was hast du genau vor? Vorkentnisse?
Wenn das geklaert ist kann dir geholfen werden (nicht unbedingt von mir, aber es gibt eine Menge anderer Leute hier). |
|
BID = 566890
Blade78 Gerade angekommen
Beiträge: 12
|
|
Hi bin Elektriker und habe auch noch ein wenig Grundkenntnisse im Bereich Elektronik\Schaltungsanalyse. Das was mir fehlt ist hier die Programmanalyse, das heißt wenn ich den Code in eine AWL oder was anderes ausgelesen bekomme wäre es klasse.
Verstehst du die Hex Datei ????
Oder kannst damit was anfangen??
Gruß
Blade |
|
BID = 566897
hajos118 Schreibmaschine
    
Beiträge: 2453 Wohnort: Untermaiselstein
|
Was Du da hast ist ein sog. "Motorlola - S-record Format" - eine Ausgabe aus einem Programmer o.ä.
Die echten Daten und Adressen sind darin codiert. Google hilft bestimmt....
(habe das Format leider nicht mehr im Kopf, aber afair beginnt es mit der Anzahl der Datenbytes, dann die Adresse und die Daten und am Schluß eine Prüfsumme über die Zeile.)
_________________
Interpunktion und Orthographie dieses Beitrags sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Wer einen Fehler findet, darf ihn behalten!
|
BID = 566901
Blade78 Gerade angekommen
Beiträge: 12
|
Kennst du noch einen Dessambler der das Umwandelt?
Ich glaube solangsam das wir näher kommen. Wenn es klappt wo soll das Bier hin gehen?
|
BID = 566906
hajos118 Schreibmaschine
    
Beiträge: 2453 Wohnort: Untermaiselstein
|
Dissassembler kenn' ich keinen (hab' auch mit diesem Proz. noch nichts zu tun gehabt, sorry). das S-rec- Format ist im MC68000 User Manual recht gut beschrieben, als Anhang hier noch ein Auszug aus o.g. Manual mit der beschreibung S-Records.
_________________
Interpunktion und Orthographie dieses Beitrags sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Wer einen Fehler findet, darf ihn behalten!
|
BID = 566914
Rafikus Inventar
      Beiträge: 4220
|
Hallo Blade,
bei Deinen Anfragen verwendest Du mehrmals die Abkürzung AWL. Ist es wirklich das wofür ich es halte, dh. "Anweisungsliste" wie sie bei den Speicherprogramierbaren Steuerungen werwendet wird?
Wenn es so ist, dann must Du dir im klaren sein, das Du sowas mit keinem Disassembler ( nicht Desassembler) hinbekommst. Das einzige, was möglich wäre, ist reiner Assemblercode (wenn der Prozessorkern bekannt ist),jedoch wie schon beschrieben sehr schwer zu interpretieren.
Ein Assemblerprogramm kann nicht als AWL bezeichnet werden, es sind zwei unterschiedliche Dinge.
Ein Hinweis zu Anfang des Themas, was Du mit "AWL" meinst wäre sicherlich hilfreich, alleine um klarzustellen, was man nun meint - auch wenn die Bedeutung als offensichtlich erscheint.
Gruß,
|
BID = 566925
Blade78 Gerade angekommen
Beiträge: 12
|
Hi
@hajos118 danke für die PDF werde ich mir gleich mal zugenüge führen.
@Rafikus
Ja AWL ist für mich ne Anweisungsliste,ich komme deshalb auf die AWL weil vor Jahren mal ein Techniker hier war und eine Seite des Programms mir in ner AWL also z.B Q00 =E17&E18
Q10 =E16 oder E18 und nichtE22
Ausgelesen und dann Gedruckt hat nur diese Firma gibt es nicht mehr habe auch noch die eine Seite aber ist nicht das komplette Programm.
Wenn ich das Programm in C oder C+ hätte wäre auch nicht das Problem muss nur irgendwie die Eingänge/Ausgänge den Verknüpfungen zuordnen können wie im Siemens S7 oder S5 Programm.
Gruß
Blade
|
BID = 566970
Rafikus Inventar
      Beiträge: 4220
|
Zitat :
| AWL also z.B Q00 =E17&E18
Q10 =E16 oder E18 und nichtE22 |
So kriegst Du das auf keinen Fall.
Es gibt eben im Assembler solche anweisungen nicht.
Schon die Ausgangs- und Eingangsnummern, so wie Du es geschrieben hast, gibt es eben in einem Mikrocontroller nicht.
Gruß
|
BID = 567086
selfman Schreibmaschine
    
Beiträge: 1681 Wohnort: Seekirchen a. W.
|
Zitat :
| | So kriegst Du das auf keinen Fall. |
Vielleicht nicht ganz so, aber sehr, sehr änhlich!
Vor allem wenn man den Prozessortyp betrachtet:
http://www.linurs.org/mc14500.htm
Das sind 1-Bit Prozessoren und die Befehlsfolge die diese Prozessoren verarbeiten können sind nun mal nicht viel anderes als eine Anweisungsliste mit "UND" "ODER" "NICHT". Daher sieht das Programm den AWL Programmen aus eine SPS sehr ähnlich. Die Ausdrucke der Veknüpfungen "Q00=E17&E18" (Programm ist etwas übertieben, obwohl es oft als solches bezeichnet wird) sehen auch wirklich so aus, wie sie Blade78 beschrieben hat, weil mehr als Bitverknüpfungen hat das Teil nicht drauf. Ein Assemblerprogramm auch nichts anderes als eine AWL, eine SPS kennt nämlich neben Bitoperationen meist auch noch eine Vielzahl anderer Befehle, wie eben ein Assemblerprogramm auch. Fast immer sind im Assembler noch viel mehr Befehle möglich, als die Betriebssoftware der SPS es erlaubt.
Die Frage ist wirklich welcher Dissassembler das in die wahren Befehle zurückverwandeln kann. Ein Problem wird natürlich die Adressierung der Ein- und Ausgänge sein. Ich bin mir nicht sicher, ob ein "E10" oder "Q01" auch als solches abgelegt wird, wobei die Adressen bei solchen Stuerungen immer 0-F, also hezadezimal adressiert sind.
Ein Firma, die solche Steuerungen bis fast heute noch verwendet hat, ist bei uns in Österreich angesiedelt und baut Instandhaltungsfahrzeuge für die Eisenbahn.
Mir fällt gerade noch ein, daß sie damals die Programme ganz einfach mit einem E-Prommer (S4 Dataman) vor Ort umstricken konnten, einfach im angezeigten HEX-DUMP, so einfach war der Programmcode aufgebaut. Die I/O Adressen haben sich, so glaube ich auch 1:1 darin wiedergefunden.
Schöne Grüße Selfman
[ Diese Nachricht wurde geändert von: selfman am 24 Nov 2008 21:35 ]
|
BID = 567186
Blade78 Gerade angekommen
Beiträge: 12
|
Hi Selfman was du da schreibst passt sehr gut ich denke auch das es nicht so schwierig ist. Ist ja schon alt und soviel kann der Proz. ja auch nicht.
Wenn ich die Hexdump mir Anzeigen lasse kommt ich nicht weiter weil mir der Datensatz verschlüsselt ist. Kann es sein das ich das falsche eprom lesegerät habe???Das ich eins von DATAMAN brauche weil er die Daten noch kodiert?
Meins ist von Galep5......
Ich habe mir gestern Abend noch mal die Seite vom Programm vor genommen und bei den Ausgängen die keine verknüpfungen haben stehen im Hexdump nur FF FF FF FF (platzhalter) es könnte passen. Nur wie bekomme ich jetzt die verknüpfungen raus?
Schöne grüße nach Österreich
Blade
|
BID = 567362
selfman Schreibmaschine
    
Beiträge: 1681 Wohnort: Seekirchen a. W.
|
Auf den Programmer kommt es nicht an. Wenn Dir Dein Programmer nur "FF" anzeigt, dann ist der EPROM entweder leer oder beim Auslesen ist etwas schief gegangen und es zeigt Dir nicht den Speicherinhalt an. Ev. ist auch der Auslesevorgang noch nicht vollzogen worden.
Aber die Zeilen im Motorola-S Format sehen doch ganz ordenlich aus:
Zitat :
| S1130000A1FFB1FF100F3CFF3DFF62FF89FFB5FF69
S113001022FF800030008001300180023002800322 |
Zu lesen ist das so:
S1
ist die Kennung der Recordtype. Damit wird der Prgrammer angewiesen, ob es Datenbytes sind, oder z.B. irgenwelche Steuerkommandos drin enthalten sind (z.B. das S0 Record am Anfang).
13
ist die Anzahl der Bytes, die im Record enthalten sind, incl Adresse und Checksumme, aber ohne Kennung und des Anzahlbytes.
0000
ist die physikalische Adresse, wo das erste Datenbyte im Speicher geschriebenwerden sollte.
A1 FF B1 FF 10 0F 3C FF 3D FF 62 FF 89 FF B5 FF
sind die eigenlichen Datenbytes, die geschrieben werden
69
ist die Checksumme für dieses Record (Zeile)
Damit werden 16 Datenbytes in den Spreicher geschrieben, + 2 Bytes für die Adresse, + 1 Byte Checksumme ergibt insgesammt 19 Bytes, in hex ist das dann "13", womit die Byteanzahl stimmt.
Das nächste Record hat dann die Adresse "0010" hex, also 16 dez, und schreibt dann im Speicher nahtlos an das erste Record ran.
Für das Umstricken mußte man wissen welche hex Zahl welchem Befehl entsprach und wie die I/O Adressen lagen, dann konnte man das im Speicher ändern und erneut einen EPROM schießen.
Schöne Grüße Selfman
_________________
Traue keinem Ding, das du nicht selber vermurkst hast.
|
BID = 568094
Blade78 Gerade angekommen
Beiträge: 12
|
Hi zusammen,
Danke für eure Hilfe habe es geschafft das Prog. zu entschlüsseln.
War doch nicht so kompliziert wie ich es dachte.
@selfman & Rafikus Danke für eure Hilfe
habe es mit nem Kumpel zusammen hin bekommen
gruss Blade
|