Hallo, ich habe hier ein Assembler-Programm für den AT90S2313, welches sich unter Windows mit dem Atmel-Assembler problemlos übersetzen lässt und das unter Linux rumzickt. Wenn ich mit tavrasm übersetzen will , dann meckert der eine Zuweisung in der Include-File für den AT90S2313 an: [naumannu@meiner Drehzahlmesser]$ tavrasm DZM.asm 2313def.inc:190: Error : Expected ID = expression 2313def.inc:190: '.equ OR =3' Auskommentiern hilft zwar, aber das kanns ja nicht sein. Wenn ich versuche das Ganze mit avra zu übersetzen, dann sieht das so aus: [naumannu@meiner Drehzahlmesser]$ avra DZM.asm AVRA: advanced AVR macro assembler Version 1.0.0 Build 204 (12. February 2004) Pass 1... Pass 2... DZM.asm(162) : error : Found no label/variable/constant named LOW DZM.asm(163) : error : Found no label/variable/constant named HIGH DZM.asm(179) : error : Found no label/variable/constant named LOW DZM.asm(180) : error : Found no label/variable/constant named HIGH DZM.asm(201) : error : Found no label/variable/constant named LOW DZM.asm(202) : error : Found no label/variable/constant named HIGH DZM.asm(218) : error : Found no label/variable/constant named LOW DZM.asm(219) : error : Found no label/variable/constant named HIGH done Assembly aborted with 8 errors and 0 warnings. Gibts eine Ersetzung für das LOW/HIGH-Statement? Hat jemand sonstige Tipps für mich? Gruß Uwe
Absatz auf http://www.tavrasm.org/: # When compiling files using the '8515def.inc' file from Atmel, you will receive an error. This is because Atmel choose to use the keyword OR as a variable name, 'tavrasm' won't allow this (it is like saying while=4 in C :). To fix the problem, just rename the variable. -- Ist bei dir das selbe Problem nehm ich an - Lösung: die variable umbenennen. Auf http://mirror.isp.net.au/ftp/pub/FreeBSD/ports/devel/tavrasm/files/ findest einen patch der das Problem lösen sollte. Anmerkung: bin absoluter Microcontroller Anfänger und habe keine Ahnung was ich da tue! Armin
AVRA hat keine .inc oder sie sind un vollständig. Also manch folgendes: -Instaliere unter Windows AVRStudio -Such nach diesem Verzeichnis C/Programme/Atmel/AVR Tools/AvrAssembler/Appnotes (vielleicht ist es aber bei dir woanders, hauptsache es heisst Appnotes und drine sind lauter .inc dateien) -jeztz kopiere das ganze Verzeicchnis Appnotes am besten dort hinwo avra unter linux instaliert ist (man muss es eigentlich nicht aber so ist es elleganter finde ich) Der jetzt musst du beim kompilieren Pfad zu include dateien einstellen: avra -I /hier ganzer Pfad Appnotes quellcode.asm Man es sicher noch anders lösen so funktioiert aber auch.
Anmerkung: avra ist der Variablenname OR egal, dh. dort hat man das Problem nicht, der Fehler tritt nur bei tavrasm auf. > -Instaliere unter Windows AVRStudio Die include Dateien kann man auch vom Command Line Assembler (http://www.atmel.com/dyn/resources/prod_documents/ASM.ZIP) "klauen", da braucht man nix installieren. @avra: für debian benutzer ist das im moment nicht unbedingt der sinnvollste Assembler - siehe http://www.mikrocontroller.net/forum/read-2-178846.html#181135 Grüße aus Wien Armin
>für debian benutzer ist das im moment nicht unbedingt der >sinnvollste Assembler - siehe Ich habe mir den Thread durchgelesen und verstehe weiterhin nicht wo das Problem mit dem avra-assembler liegt und warum es nur auf debian zutreffen.
Das Problem ist schnell erklärt: Man kann den von avra generierten Maschinencode nicht im Simulator ausführen, geschweige denn Debuggen. Ob es nur Debian betrifft weiß ich nicht, ich hab auch keinen Plan warum es nicht geht. Armin
Wenn du den avr_simulator meinst, dann wunder mich das gar nicht. Dieser Simulator hat zu halt viele Unzulänglichkeiten,um ihn wirklich benuzten zu können.Obwohl einfach eine hex-datei, die mit avra erzeugt wurde, zu laden und zu disassemblieren geht. Sie müsste eigentlich auch völlig gleich sein wie eine hex-Datei die mit einem anderen Assembler assembliert wurde. Es wird ja nur assembliert.
nachdem das eh schon alles off topic ist - welchen anderen simulator gibts für linux? Ich hab avrora probiert, komm damit aber ueberhaupt nicht klar.
Also ich kenne leider keinen. Halb fertige Programme die alle beta sind, machen hier keinen Sinn.Auf Simulator muss man sich verlassen können. Ich auch gerne einen AVR-Simulator der mit AVRStdio vergleichber wäre. Könnte ruhig was kosten.
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.