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
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.
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
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
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
> 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.
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
@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
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.
also hier ist das asm-file. zur Not kann man .tar auch im Texteditor anschaun mfg werner
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.