Forum: Projekte & Code speicherabzug über RS232 mit html-Umwandlung


von Werner Hoch (Gast)


Angehängte Dateien:

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

von Werner Hoch (Gast)


Lesenswert?

Nachtrag:
der Kommandozeilenaufruf war Murks, weil nicht geflushed wird und ich 
das Script umbenannt habe.
besser:
   avrdump.py </dev/ttyS1 >x.html

damit nicht alle das tar auspacken müssen hab ich den output auf
meine hp geladen:
  http://www.my-stuff.onlinehome.de/d.html

mfg
werner
PS: Kommentare sind willkommen da ich noch AVR-Anfänger bin.

von Peter D. (peda)


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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ganz ruhig. Dass es um AVRs geht ist wohl anhand des Programmnamens 
erkennbar, und dass du nicht weisst wie man eine tar-Datei entpackt oder 
den Unix-Befehl cat anwendet ist nicht Werners Schuld.

Andreas

von Werner Hoch (Gast)


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

von Schmittchen (Gast)


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.

von Peter D. (peda)


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

von Peter D. (peda)


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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ist schon ok, war auch nicht so gemeint.
tar alleine ist allerdings wirklich etwas selten, meistens sind 
tar-Dateien in komprimierter Form als .tar.gz anzutreffen. Mit WinRAR 
und WinZip kann man beides problemlos verarbeiten.

von Werner Hoch (Gast)


Angehängte Dateien:

Lesenswert?

also hier ist das asm-file.

zur Not kann man .tar auch im Texteditor anschaun

mfg
werner

von Werner Hoch (Gast)


Angehängte Dateien:

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

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.