www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR mit Assembler und MAC


Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich habe schon vieles gelesen zum Thema Mac, AVG und Toolchain...

Ich wollte eigentlich nur einmal ein kleines Testprogramm in Assembler 
schreiben und mich später auf die C-Programmierung stürzen. Aber, unter 
Mac schaffe ich es nicht, meine Assembler Datei zu Compilieren.

Ich habe bereits das AVRMacPack installiert und mir steht damit der 
befeht "avr-as" zur Verfügung. Ich dachte eigentlich, dass das der AVR 
Assembler ist.

Mit dem Befehl:

# avr-as test.asm

Kommt aber immer nur:

[...]
test1.asm:5: Error: unknown pseudo-op: `.def'
test1.asm:12: Error: constant value required
test1.asm:12: Error: register number above 15 required
test1.asm:13: Error: constant value required
test1.asm:13: Error: constant value required
test1.asm:14: Error: constant value required
test1.asm:14: Error: register number above 15 required
test1.asm:15: Error: constant value required
test1.asm:15: Error: constant value required
test1.asm:19: Error: constant value required
test1.asm:19: Error: register number above 15 required
test1.asm:20: Error: constant value required
test1.asm:20: Error: constant value required

wobei das nur die letzten Zeilen sind. Mein Assembler Programm für einen 
ATmega8:

.NOLIST
.INCLUDE "m8def.inc"
.LIST

.DEF tmp = R16

RJMP main


main:

  LDI tmp,0xFF
  OUT DDRB,tmp
  LDI tmp,0X00
  OUT DDRA,tmp

loop:

  LDI tmp,PORTA
  OUT PORTB,tmp
  RJMP loop


Was mache ich falsch? Warum läuft der Assembler nicht?

Grüße, Marius

Autor: SiO2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne den Assembler nicht, aber vielleicht kann er diese Syntax 
nicht. Wenn der as auf dem gas basiert, klappts nicht.  Wenn keine 
wiklich hilfreichen Kommentare noch kommen, versuch mal den tavrasm bei 
Dir zu Installieren/kompilieren. Der ist schnell (schneller als gavrasm 
;) ) und eigentlich gut. Ich nutze den auch.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist der gas.  Entweder halt einen anderen Assembler benutzen
oder aber den Quellcode so umbauen, dass gas damit klar kommt.
Letzteres wäre vor allem dann interessant, wenn künftig Assembler
mit C gemischt werden soll.

Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Langsam verstehe ich, was dem Assembler missfällt...

Ich werde mal die Syntax ändern...

Autor: Ralf Schwarz (spacedog) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marius

Das Problem hatte ich anfangs auch. Des Rätsels Lösung ist nun 
folgendes:

Der 'avr-as' der auf der gcc basiert hat ein wenig ne andere Syntax, als 
der Assembler vom AVR-Studio. Damit kannst du den ganzen Kram von hier 
im Forum nicht assemblieren, da das alles auf ARV-Studio beruht. Zum 
Glück wurde der Assemler von Atmel jedoch in opensource nachgebaut. Das 
ganze nennt sich dann 'avra'.

Dein "m8def.inc" muss dann zwar immer noch irgendwo vorhanden sein, 
jedoch kannst du dann alles aus dem Tutorial usw. assemblieren.

Zu beziehen gibts die ganze Toolchain bequem unter:

  * http://www.digithink.com/OSX-AVR/Introduction/Main...

Du kannst 'avra' natürlich auch problemlos selber kompilieren, wenn du 
ne aktuellere Version brauchst. Download unter:

  * http://avra.sourceforge.net/

Autor: 3353 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist kein Zufall dass die ganze globale Engineering Community mit PCs 
arbeitet und die Kuenstler, Grafiker, Musiker und dergl mit MACs. Wenn's 
um Engineering geht hat man mit einem MAC das ganz kurze Streichholz.

Autor: Ralf Schwarz (spacedog) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da hast du natürlich recht, da kann ich dir wirklich nicht 
widersprechen.

Aber das Problem ist halt, dass ich PCs nur noch anfasse, wenn ich unter 
Androhung des Todes dazu gezwungen werde oder zumindest eine Haufen Geld 
dafür bekomme. Und ich denke Marius geht's da ähnlich wie mir. Da will 
man dann halt auch beim Basteln nicht auf seinen Mac verzichten.

Aber zum Glück gibt's ja die guten alten Linux-Leute, welche alles was 
man so braucht als open source programmieren. Das lauft dann i.d.R. ohne 
Anpassungen auch auf nem Mac.

Versteh mich bitte nicht falsch, ich war früher auch ein gläubiger 
Windows-Jünger und habe sogar über Apple gelacht. Ausserdem ist Windows 
natürlich der Industriestandard, das macht vieles einfacher und 
bequemer. Aber seit ich auf Mac umgestiegen bin, ich sag dir, da krieg 
ich soooon'Hals wenn ich auch nur schon an Microsoft denke; da könnt ich 
ausrasten.

Autor: 3353 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin kein Windows Fan, das Angebot an technischen Loesungen ist fuer 
den PC um Groessenordnungen groesser. Ich schalt der PC ein, um ein 
Problem zu loesen, so einfach wie moeglich.

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

Bewertung
0 lesenswert
nicht lesenswert
Ob Mac oder PC ist ziemlich egal, bei der Hardware gibt es kaum noch 
Unterschiede. Nur auf Windows kann man leider nicht immer verzichten. 
Aber für Hobby-Programmierung ist sowohl Linux als auch OS X völlig 
ausreichend.

Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich hab es mittlerweile geschafft, auch wenn ich jetzt doch nicht in 
Assembler teste, sondern direkt mit avr-gcc...

Kurz zum Mac: Ich habe bisher immer viel mit Windows PCs gemacht, 
eigentlich seit Win 3.1. Und auch auf meinem MacMini (sitzte gerade 
dran) und meinem morgen hoffentlich ankommendem MacBook Pro habe/werde 
ich Windows XP laufen haben, parallel zu Mac.

Allerdings ist es mir bisher noch nicht passiert, dass ich (außer für 
einige Spiele) Windows wirklich gebraucht habe. Durch den Unix unterbau 
und vor allem durch die jetzt Intel Plattform laufen ALLE Programme auch 
auf einem Mac. Mit Parallels sogar ohne Zeitverlust.

Notwendig ist ein Mac aber nicht wirklich, ich finde halt Design und OS 
super und möchte weniger mit Windows zu tun haben.

Richtige Entwickler und Coder werden aber weder Mac noch Windows 
benutzen, sondern Unix/Linux/BSD bevorzugen.

So, nochmals Danke für eure Hilfe, aber lasst uns nicht mehr über Mac 
und Windows reden... :)

Grüße, Marius

Autor: Ralf Schwarz (spacedog) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> So, nochmals Danke für eure Hilfe, aber lasst uns nicht mehr über Mac
> und Windows reden... :)

Die Worte eines weisen Mannes.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
3353 wrote:

> Ich bin kein Windows Fan, das Angebot an technischen Loesungen ist fuer
> den PC um Groessenordnungen groesser.

Ist besonders in diesem Zusammenhang eine völlig sinnlose Bemerkung.
Erstens ist gerade der Assembler vom AVR Studio nun wirklich alles
andere als eine Glanzleistung (Absolutassembler hat man vor 20 Jahren
schon nicht mehr benutzt) -- so mies, dass Eric Weddington alles daran
setzt, dass man diese sinnlose Doppelentwicklung bei Atmel ganz
einstellt und stattdessen ein Sourcecode-Filter für den GNU Assembler
mit ausliefert.  Zweitens gibt's ja trotzdem auch für die Unix- und
MacOS-X-Welt als Parallelentwicklung wenigstens einen (wenn nicht sogar
zwei) bug- und featurekompatible Assembler.  Windows-Nutzer haben hier
in diesem konkreten Falle mal keinen einzigen Vorteil, sondern eher nur
Nachteile.  (Der letzte Versuch, ein AVR Studio zu upgraden, hat meine
einzige eigene Windows-Kiste komplett geschrottet.  Die AVR-Studio-
Installation ist nicht benutzbar und eine erneute Installation bringt
immer nur die gleiche Fehlermeldung tief aus dem Windows-Bereich.  Nach
der kannste gugeln, und die gibt's reihum bei aller möglicher Software
immer mal wieder, die auf der VC++-Runtime aufsetzt, ohne dass es eine
vernünftige Lösung dafür gäbe.  Bleibt wohl nur Neuinstallieren.  Wen's
interessiert, dem verrate ich auch gern, wann ich mein FreeBSD zu Hause
das letzte Mal neu installiert habe...)

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marius wrote:

> Richtige Entwickler und Coder werden aber weder Mac noch Windows
> benutzen, sondern Unix/Linux/BSD bevorzugen.

Nö, Mac ist mittlerweile, seit er auf etwas unixoidem basiert und man
eine Kommandozeile bekommen kann, auch dort durchaus gut gefragt.  Ich
kenne viele, die früher nur mit unixoiden Systemen gearbeitet haben,
aber mittlerweile gern einen Mac benutzen.  Aber das sollten wir wohl
im Off-Topic-Forum weiter diskutieren.

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.