speicherabzug über RS232 mit html-Umwandlung

Gast #41716
Lesenswert?

Das assembler Programm schickt alle Daten (PORTS, Register, RAM, EEPROM) 
über die serielle Schnittstelle an den PC.

Die Datei wird von dem Python script wieder in die richtige Reihenfolge 
gebracht, die Daten werden den Ports zugeordnet und in eine html-datei 
geschrieben.

Ich verwende das script als cgi, auf der commandozeile gehts aber auch.

cat /dev/ttyS1 >xx.bin
cat xx.bin | dump2html.py >x.html

Ich hab das script für einen 2313 geschrieben, vieleicht werde ich es 
noch auf andere ausweiten

mfg
werner
Angehängte Dateien:
#41718
Lesenswert?

Also ich verstehe nur Bahnhof:

Der Explorer ist ratlos, wie er das "avr_dump.tar" öffnen soll.

Mit "Python script" und "cat /dev/ttyS1" kann weder mein PC noch ich 
etwas anfangen.

Ich vermute mal, es geht um eine spezielle AVR-Programierumgebung. Dann 
sollte man das bitteschön auch angeben.

Eigentlich sollte man immer angeben, um welche Tools und Prozessoren es 
geht.

Die Vermutung, daß es um AVRs geht habe ich auch nur aus dem Namen des 
Links "avr_dump.tar" geschlußfolgert, muß also auch nicht mal stimmen.


Das hier ist ein Forum und keine Rateshow.



Peter
Gast #41720
Lesenswert?

eine kleine Erläuterung:

python ist eine Scriptsprache wie perl, php, ruby, Visual Basic? und auf 
nahezu jedem Linux-System installiert.

avrdump.py </dev/ttyS1 >x.html

und dieser Befehl sagt daß das programm avrdump.py von der 2. seriellen 
Schnittstelle lesen soll und das Ergebnis in x.html zu  schreiben

Die serielle Schnittstelle muß zuvor auf die richtige Baudrate 
eingestellt werden (minicom, hyperterminal). (gibts auch was in der 
Komandozeile?)

Zum Programm: ich habe gerade gemerkt daß die Flags verändert werden. 
Werd ich bald korrigieren.

mfg
werner
Gast #41721
Lesenswert?

> Die serielle Schnittstelle muß zuvor auf die richtige Baudrate eingestellt
> werden (minicom, hyperterminal). (gibts auch was in der Komandozeile?)

ja, setserial.

Schmittchen, der Werners Beitrag/Idee sehr interessant fand.
#41722
Lesenswert?

Ach so, Unix ist also der Grund.


Einfach beim nächsten Mal mit hinschreiben und alle sind glücklich.


Trotzdem wäre wenigstens das Assembler-File auch für nicht-Unixer von 
Interesse.
Gibts das also auch als gebräuchliches .zip oder gleich als .asm ?


Peter
#41723
Lesenswert?

@Andreas,

ich hab ja auch keinen Schuldigen gesucht, sondern nur welche Tools ich 
brauche, wenn die Windows-Bordmittel es nicht tun.


Einen Schuldigen kann man in diesem Fall ja auch nicht benennen. Es gibt 
nun mal unterschiedliche BS.


Es gibt aber z.B. das .zip-Format, daß soweit ich weiß auch unter Unix 
funktioniert. Und dann finde ich es angebracht, dieses zu bevorzugen, 
wenn man weltweit in Foren unterwegs ist.



Peter
Gast #41726
Lesenswert?

hier die verbesserte Version von avrdump:
Das Programm sendet einen kompletten Speicherabzug an die serielle
Schnittstelle. Die daten werden von einem Python-Script in html
umgewandelt.

Das Packet enthält Assemblerdateien für AT90S2313 (AT90S4433) und
für AT90S8515 (AT90S8535). die geklammerten sind ungetestet
Beispieldaten von einem AT90S2313 und das Python-Script.

Die Programme wurden unter Linux geschrieben.
Die Datei läßt sich unter Windows mit WinZip öffen.

Tritt der Interrupt0 auf, so senden die Controller ihre
Registerdaten, Portregister, den RAM-Inhalt und die EEPROM-Daten
über die Serielle schnittstelle an den PC.

Die Reihenfolge der Daten hat sich seit der letzten Version geändert:
    OFFSET  2 bzw. 3Byte vom stack
  Register
  Ports
  RAM
  EEPROM

Nachdem der PC die Daten empfangen hat werden diese von dem 
Python-Script
interprätiert und in html umgewandelt.
Das Script hat die Aufgaben:
    SREG und ein Temporäres register liegen am ram-ende.
      beide Bytes werden zurückgeschrieben
    auf dem Stack liegen ZL und ZH
      beide Bytes werden zurückgeschrieben
    im OFFSET liegt der orginale Stack
      2-3 Bytes werden zurückgeschrieben.
    der Stackpointer wird korrigiert
Die kompletten Daten werden jetzt je nach DEVICE den Portbezeichungungen
zugeordnet und als html ausgegeben.

Auf der Kommandozeile sieht das ganze so aus:
    avrdump.py device <infile > outfile
  z.B. avrdump.py AT90S2313 < /dev/ttyS1 > x.html

mfg
werner
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren