PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] AVR Assemblerprogramm



PICture
19.04.2013, 13:56
Ich möchte eine Textdatei mit AVR Mnemonic's (*.asm) ohne GUI in ein ausfürbares Programm (*.hex) wandeln lassen. Kann ich solches Programm für Windows XP kostenlos downladen und wenn ja woher ?

Besten Dank für Eure Hilfe im voraus ! ;)

robocat
19.04.2013, 14:15
AVR Studio kann das, hat aber eine GUI: http://www.mikrocontroller.net/articles/Atmel_Studio
WinAVR kanns auch: http://www.mikrocontroller.net/topic/84753#735458
GAVRASM sollte es auch können, damit habe ich aber noch nichts gemacht:
http://www.avr-asm-tutorial.net/gavrasm/index_de.html

Vielleicht ist ja was für dich dabei ;-)

Wenn es nur darum geht, einmalig aus dem *.asm ein Hexfile zu machen, ohne dass du dich erst in die Toolchain reinarbeiten musst, dann kann ich dir den Code evtl. verHEXen, da müsstest du mir eine PM schreiben.

PICture
19.04.2013, 14:32
Hallo robocat!

Vielen Dank für deine Infos. Weil du die o.g. Programme kennst, kannst du mir sicher sagen was für mich gut wäre. Ich möchte keine Riesen Programme für Hochsprachen (wie GCC, BASCOM, usw.) die auch "inline assembler" compilieren können, sondern etwas einfachstes (wie MPASM für PIC's mit um 11 MB).

markusj
19.04.2013, 14:35
Zum AVR Studio gehört (zumindest bei Version 4) auch ein Assembler der auf der Kommandozeile arbeitet. avrasm2.exe sollte sich im Installationsverzeichnis unter Atmel/AVR Tools/AvrAssembler befinden.

mfG
Markus

PICture
19.04.2013, 14:49
Hallo markusj !

Schönsten Dank für deine Vorschläge. Ich bin kein Softwarefreak und möchte etwas einfaches ohne Selbstforschung haben. Wenn das Fragment von AVR Studio "selbständig" arbeiten könnte, dann wäre es für mich als AVR Anfänger optimal. Eigentlich finde ich für einige Anwendungen AVR's besser als PIC's und möchte ich damit versuchen.

Ich habe mir anfangs das von robocat vorgeschlagenen "gavrasm" installiert, aber es sich nicht starten lässt. Danach habe ich vom markusj das 125 MB grosses AVR Studio 4 installiert, aber sowohl AvrAssembler als auch AvrAssembler2 lässt sich nicht starten. Bei mir gibt es in o.g. Verzeichnis keine Datei: avrasm2.exe nur ausfürbare Datei avrasm2. :(

Wie könnte man das Programm selbständig starten und verwenden ?

robocat
19.04.2013, 15:42
Schon verständlich, dass du dir nicht 200MB auf die Platte tun willst, nur um ein bisschen Code zu assemblieren.
Hier http://www.avrfreaks.net/index.php?module=Freaks%20Files&func=viewFile&id=859&showinfo=1 gibt es den AVRasm2, der zum Atmel Studio gehört, auch als einzelnen (winzigen) Download. Es fehlen dann allerdings noch die include Dateien (zB "m8def.inc" um einen Atmega8 benutzen zu können), vereinzelt findet man die auch im Netz, wenn man AVR Studio installiert hat, liegen sie in C:\Program Files (x86)\Atmel\AVR Tools\AvrAssembler2\Appnotes. Man kann danach das AVR Studio wieder deinstallieren, zum Assemblieren reichen AVRasm2.exe und die *.inc Dateien, soweit ich weiß.

Vielleicht kommst du aber auch mit GAVRASM ganz gut zurecht, viel Erfolg!

PICture
19.04.2013, 16:20
Danke dir, ich hatte mir es vieeel einfacher vorgestellt. Es sieht aber so, dass um AVR's in ASM zu programieren, reicht meine bisherige Erfahrung mit zahlreichen CPU's nicht aus. Ich habe mir die Datei "AVRasm2.exe" heruntergeladen. Die Einzige Verbesserung ist, dass ich jetzt ca. 0,5 s auf dem Bildschirm nach oben laufende Zeilen bewundern kann.

Dann lasse ich es lieber und bleibe in PICeria. :D

markusj
19.04.2013, 16:41
Danach habe ich vom markusj das 125 MB grosses AVR Studio 4 installiert, aber sowohl AvrAssembler als auch AvrAssembler2 lässt sich nicht starten. Bei mir gibt es in o.g. Verzeichnis keine Datei: avrasm2.exe nur ausfürbare Datei avrasm2. :(

Das ist die gleiche Datei. Offenbar wird die Erweiterung ".exe" bei dir nicht angezeigt, darum siehst du nur "avrasm2". Du stehst also quasi schon vor der Lösung deines Problems.

Bezüglich der Verwendung, sieh dir Mal http://www.ic.unicamp.br/~celio/mc404-2008/docs/avrassembler2-addendum.pdf an. Die Konsolenparameter werden da erklärt. Ansonsten kannst du auch in AVR Studio ein Assembler-Projekt anlegen, es wird dann ein Batchfile generiert mit dem du den Build-Vorgang automatisiert wiederholen kannst.

mfG
Markus

PICture
19.04.2013, 16:55
Du stehst also quasi schon vor der Lösung deines Problems.

Herzlichen Dank für deine Hilfsbemühungen ! ;)

Ich werde sicher nix kompliziertes machen, weil es für mich unnötig ist.

Nach ziemlich langer suche dank Google habe ich das "wavrasm" gefunden, installiert und es startet. Dazu noch Tutorial für Anfänger und Brenner mit Software (siehe Anhang). Ich habe mir auch alle Appnotes (*.inc Dateien) vorm deinstallieren des AVR Studios 4 gesichert. Diese Datei war zu gross fürs Hochladen: http://www.avr-asm-download.de/beginner_de.pdf .

Weil die Treiber im IC immer in einer Richtung arbeiten und damit es ab 2V funktioniert, werde ich für den o.g. Brenner einen 74HC244 verwenden und ihn um eine grüne "low current" LED mit Vorwiderstand für Versorgungspannung ergänzen.

Hoffentlich mit Datenblätter von AVR's habe ich schon alles nötige und kann versuchen AVR's wie bisher PIC's mit Spass in ASM zu proggen, je nach dem, was ich für konkrete Anwendung einfacher finde. Die AVR's haben oft bessere Analoghardware als PIC's, was bei Minimalisierung der Hardware sehr vorteilhaft ist. Ausserdem dank 32 Register werde ich in meinen einfachen Programmen wahrscheinlich keine RAM Speicherstellen definieren brauchen.

Als ASMan werde ich nie versuchen von "Ceh" süchtigen Softwarespezialisten vom ATMEL die in Datenblätter presentierte ASM Beispiele zu verstehen.

Beispiel aus Dattenblatt (ATtiny24,ATtiny44,ATtiny84) s.57:

...

ldi r16,(1<<PA4)|(1<<PA1)|(1<<PA0)

ldi r17,(1<<DAA3)|(1<<DAA2)|(1<<DAA1)|(1<<DAA0)

...

Ich werde es immer so schreiben:

...

ldi r16,13

ldi r17,0F

...

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

Obwohl ich bisher viele CPU's in ASM programmiert habe, sind ATMEL's für mich immernoch künstlich und "Ausser Verständlicher Realität". :confused: