www.mikrocontroller.net

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


Autor: Werner Hoch (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Werner Hoch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Werner Hoch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Schmittchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Werner Hoch (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
also hier ist das asm-file.

zur Not kann man .tar auch im Texteditor anschaun

mfg
werner

Autor: Werner Hoch (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.