Hallo Forum, ich bin mal wieder mit dem Assembler im AVRStudio im krieg, um ein bischen Debug-Komfort rauszuhauen würde ich gerne die Debug-Meldung, die laut Help in STDOUT ausgegeben wird auch in eine Datei ausgeben lassen. für List und Map files gibts dazu Commandline Paramter, aber für Buildmessage finde ich nix, ebenso für eine möglichkeit STDOUT umzulenken. Gibts da einen Trick? Oder hat vielleicht jemand ein Script geschrieben, was den Assembler-Aufruf wrapt, es ist schon frustrierend wie unfähig der Assembler/Preprocessor ist...
Kannst du nicht mit avr-gcc kompilieren ? Es wird eine menge info geben wenn dein Programm nicht zu "AVRStudio ist".
Noch etwas, wenn ich nicht sicher bin was den Assemnber gemacht hat, cih den generierte Source Datai mit meine Programm vergleiche.
>es ist schon frustrierend wie unfähig der >Assembler/Preprocessor ist... Schön, dass das mal einer feststellt und auch zugibt. Atmel ist selbst zu dämlich einfache Standards zu kopieren. (Daraus kann man schon schliessen, dass die Menge der Programmierer keine grossen Ansprüche stellt.)
@Ale Dein Deutsch ist echt furchtbar. Die Artikel sind fast alle falsch und "Datai" schreibt man mit ei. Und das alles in nur einem Satz Nichts für Ungut, aber sowas fällt halt extrem auf
@Timmo: Das hat mich gar nicht geholfen (arbeitest du für M$?). Wenn du möchtest mir helfen du kannst etwas so sagen: Nomen femminin, Kasus : Nominativ, artikel Die. usw. (für alle meine Fehler) Ich bin (fast) sicher, du kannst nicht :-). Wenn nicht, bitte mach fertig mit den Unfug !
Idi.. - welche Sprachen beherrschst Du denn in Wort und Schrift perfekt? Deutsch sicher nicht. Und andere?
>Deutsch sicher nicht.
Was bewegt dich zu dieser Annahme?
Ich habe nie gesagt, dass ich alles in Wort und Schrift perfekt
beherrsche, aber solch grundlegenden Dinge sollte man dennoch können.
Der, die, das wird ja schon im Refrain der Sesamstraße gesungen. Selbst
wenn Deutsch nicht die Muttersprache ist, so sind die Artikel doch mit
das Erste was man lernt (zumindest war es bei mir im Französisch- und
Spanischunterricht so. Im Englischen ist es da natürlich einfacher)
hallo Das ist kein Deutschforum!! Fachlich richtige Antworten sind immer wilkommen, auch in fehlerhaften Deutsch. MfG
Umleiten in Datei und zugleich Standardausgabe kann man z.B. mit "tee". Siehe "man tee". Ansonsten kann man alles mit den Umleitungen ">", "<" und "|" regeln. Zumindest gilt das für Linux -- in Windows kenne ich mich net aus.
Für Mausschubser gibt es kein tee ;-) Aber die Umleitung mit > in eine Datei sollte funktionieren z.B. programm.exe --parameter > ausgaben.txt
/Ich habe nie gesagt, dass ich alles in Wort und Schrift perfekt beherrsche, aber solch grundlegenden Dinge sollte man dennoch können. Der, die, das wird ja schon im Refrain der Sesamstraße gesungen. Selbst wenn Deutsch nicht die Muttersprache ist, so sind die Artikel doch mit das Erste was man lernt (zumindest war es bei mir im Französisch- und Spanischunterricht so. Im Englischen ist es da natürlich einfacher)/ Wenn so wäre... Deutsch ist nicht meine Muttersprache, es ist Spanisch. Und wenn du etwas gelernt hast (als du sagst) du kannst sagen warum mache ich die Fehler ich mache. Ich unterrichte an der Uni (hier in Deutschland), und manchmals ich frage mich ob meine Deutsch nicht besser als die Deutch meine Studenten ist (Lesen und verstehen jemand ?).
Atmelhasser wrote: >>es ist schon frustrierend wie unfähig der >>Assembler/Preprocessor ist... > > Schön, dass das mal einer feststellt und auch zugibt. Ich kann dir versichern, dass Eric Weddington schon seit langem bohrt, dass sie diesen Einfachst-Assembler endlich ganz fallen lassen und stattdessen den GNU-Assembler benutzen. Es müsste halt nur mal jemand einen Präprozessor bauen, damit man den historischen Code für den Atmel-Assembler automatisch portiert bekommt.
Also den AVR2 Assembler durch den GNU Assembler zu ersetzen dürfte wohl nicht gerade einfach noch unbedingt sinnvoll sein für reine Assembler-Projekte. Zumal eine automatische Code-Portierung sehr schwierig sein dürfte, und doch viel Handarbeit erfordern würde. Sollte Atmel diesen Schritt tun, wäre das auch ein Grund den weiteren Einsatz die Prozessor-Familie zu überdenken. Zumal der GNU Assembler doch etwas gewöhnungsbedürftig ist. Wohlgemerkt ist geht hier um reine ASM Programme mit vielen interrupts im unteren µs bereich und extensiver Registernutzung.
Mikki Merten wrote: > Also den AVR2 Assembler durch den GNU Assembler zu ersetzen dürfte wohl > nicht gerade einfach noch unbedingt sinnvoll sein für reine > Assembler-Projekte. Einfach: OK, es braucht einen Präprozessor. Sinnvoll? Doch. Bislang müssen sie ja zusätzlich immer noch diesen völlig unterentwickelten Assembler mit pflegen. > Zumal eine automatische Code-Portierung sehr > schwierig sein dürfte, und doch viel Handarbeit erfordern würde. Nein, das geht natürlich nur, wenn es komplett ohne Handarbeit auskommt, da ist sicher Einigkeit. Das Ganze kann man ja dann noch automatisch organisieren und avrasm2.exe (oder avrasm2.bat) nennen (und natürlich auch noch den Linker mit anwerfen). > Sollte > Atmel diesen Schritt tun, wäre das auch ein Grund den weiteren Einsatz > die Prozessor-Familie zu überdenken. Wieso das? > Zumal der GNU Assembler doch etwas gewöhnungsbedürftig ist. Der Atmel-Assembler erst recht. > Wohlgemerkt > ist geht hier um reine ASM Programme mit vielen interrupts im unteren µs > bereich und extensiver Registernutzung. Häh? Assemblercode ist Assemblercode. Was hat das miteinander zu tun?
@tee tatsächlich ich habs gerad mal ausprobiert. nur ist es so, das nur ein teil des buildkonsolenoutputs im stdout landet, die infos/warnings/errors überspringt er. das ist bedauerlich, weil ich gerade scharf auf die warnings-meldungen der zerobyte pads war. der textteil z.b. die resource usage stats und includes die im stdout landen, sind dafür im buildfenster nicht zu sehen. ich hab bis jetzt nicht ganz verstanden wozu die einzelnen parameter gut sind, und was für ein outputformat da eigentlich rauskommt bzw wie man da ein debug-object format rausbekommt, von denen ja der simulator/debugger im studio zahlreiche unterstützt. bisher konnte ich keine symbols für die watch benutzen (obwohl irgendwie inzwischen ein .obj erzeugt wird), was wohl nur für aus c compilierte codes gedacht ist, aber eine furchtbar ungerechte benachteiligung der asm coder wäre. oder hat jemand symbol-support für asm schonmal zum laufen bekommen? bzw. vielleicht benötigt er die extra include/label-info welche wie ich herausfand man mit -S erstellen kann, ein parameter der dankenswerterweise nicht in der help aufgeführt ist sondern nur bei avrasm2 -h, nur wie müsste die datei dann heißen, damit er sie erkennt...
Moritz: Das liegt vermutlich daran, dass die normalen Nachrichten in die Standardausgabe kommen, deine Fehlermeldungen hingegen aber in der Standard-Fehlerausgabe landen. Unter Linux würde man beide zusammen so umleiten:
1 | $ programm -param1 -param2 -paramN > ausgabe.txt 2>&1 |
Sven Pauli wrote: > Unter Linux würde man beide zusammen so > umleiten: Unter Win32 cmd.exe auch. ;-)
ah toll :) danke euch für die hilfe, ich werde es mal ausprobieren und melde mich nochmal mit ergebnissen.
Moritz E. wrote: > ich hab bis jetzt nicht ganz verstanden wozu die einzelnen parameter gut > sind, und was für ein outputformat da eigentlich rauskommt bzw wie man > da ein debug-object format rausbekommt, von denen ja der > simulator/debugger im studio zahlreiche unterstützt. Das Ding hat irgendwie sein komplett eigenes Debugformat. Nein, für C ist das überhaupt nicht gedacht, das ist ein Absolutassembler, Linker gibt's nicht.
Jörg Wunsch wrote: > Das Ding hat irgendwie sein komplett eigenes Debugformat. Nein, für > C ist das überhaupt nicht gedacht, das ist ein Absolutassembler, > Linker gibt's nicht. Das war mir schon bewusst, ich meinte eher, dass der simulator irgendwie wohl aus den linker/debug object files seine symbole holt, mein gedankengang war, dass der avrasm mit der -S option bzw der richtigen einstellung für object output ebenfalls die nötige information für asm labels bereitstellen könnte, um ram-variablen mit der watchlist sehen zu können. bisher muss ich im simulator erst die adressen ablesen, und kann die werte nur im memory-window nachverfolgen. die datei die mit -S erzeugt wird scheint was xmlartiges zu sein: datei anfang: <ASSEMBLER_INFO> <VERSION>2.1.17</VERSION> <DEVICE>ATmega644</DEVICE> <WORKING_DIR> ...\Projekt</WORKING_DIR> <INCLUDE_PATH> <DIR> ...\AVR Tools\AvrAssembler2\Appnotes</DIR> <DIR> ...\AVR Tools\AvrAssembler2\Appnotes</DIR> </INCLUDE_PATH> <SOURCE_FILE> ...\Projekt\main.asm</SOURCE_FILE> <INCLUDED_FILES> <FILE> ...</FILE> .... </INCLUDED_FILES> <OBJECT_FILES> <FILE>main</FILE> </OBJECT_FILES> <HEX_FILES> <FILE> ...</FILE> </HEX_FILES> <LABELS> hier dann die liste aller labels <LABELxyz><FILE> sourcedatei </FILE><LINE>11</LINE></LABELxyz> etc </LABELS> </ASSEMBLER_INFO> datei ende.. nur soll die datei wie die entryfile (main), oder wie das projekt heißen, und welche endung will sie haben?
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.