AVR Tutorial für Mac

Gast #1091518
Ich wollte ja jetzt auch in die AVR Programmierung einsteigen, hab 
jedoch einen Mac. Das Tutorial funktiniert bei mir nicht, da der beim 
AVRMacPack mitgelieferte Assembler keine Lust hat... Welchen Assembler 
empfiehlt ihr für Mac und nett wären auch noch ein paar Worte zum 
Umgang, also die Commands und Flags. Es wär halt gut wen der Assembler 
die im Tutorial verwendeten Bibliotheken hätte.

Forensuche brachte nichts, nur einen Beitrag, in dem jemand seinen 
Quellcode auf den andren Assembler angepasst hatte, diesen jedoch nicht 
postet...

Danke

Flo
Hallo Flo,


leider sitze ich gerade nicht an meinem MAC und aus dem Kopf kann ich 
Dir nicht sagen welche Version ich installiert habe. Ich kann mich 
jedoch an keine Schwierigkeiten bei der Installation erinnern und laufen 
tun es auch ohne Probleme (wobei ich nicht die aktuelle Version des 
Compilers verwende).


Wo genau liegt denn das Problem?


Sebastian
Hat er doch schon gesagt ^^ er hat nen MAC :-) - Ich würde es einfach 
nochmal installieren und dann schauen ob es geht. Vllt gab es ja beim 
installieren nen Fehler aber n bischen genauere Beschreibung des Fehlers 
wäre nicht schlecht. Das ist wie wenn du sagst ich hab n Auto Marke BMW 
und kann nicht fahren ^^ - Da gibts auch viele Möglichkeiten 
einschließlich du bist unter 18 und darfst noch ned =)

Gruß ErgoProxy
Gast
Ich hab 10.5. (Leopard)
Ich hab versucht, den ersten Teil des Tutorials:
[asm]
.include "m8def.inc"         ; Definitionsdatei für den Prozessortyp 
einbinden

         ldi r16, 0xFF       ; lade Arbeitsregister r16 mit der 
Konstanten 0xFF
         out DDRB, r16       ; Inhalt von r16 ins IO-Register DDRB 
ausgeben

         ldi r16, 0b11111100 ; 0b11111100 in r16 laden
         out PORTB, r16      ; r16 ins IO-Register PORTB ausgeben

ende:    rjmp ende           ; Sprung zur Marke "ende" -> Endlosschleife
[/asm]

zu kompilieren. Dazu habe ich den Code in einer Datei namens Leds.asm 
gesichert und dann im Terminal

avr-as leds.asm

eingegeben.

Der avr-as hat nichtmal die include Datei.

Ihr habt meine Frage missverstanden, ich möchte eigentlich nur wissen 
welcher Assembler die im Tutorial verwendete Syntax benutzt und für Mac 
verfügbar ist.

Danke

Flo
Persönliche Seite
Dein Code ist in AVR-Assembler geschrieben. Da musst du auch den 
richtigen Assembler dazu verwenden. Und der heisst avra. avr-as gehört 
zum gcc und assembliert Code der vom gcc erzeugt wurde aber nicht den 
aus dem Tutorial. avra ist ein etwas verbesserter Nachbau des 
Originalcompilers von ATMEL und liegt z. T. solchen Installationspaketen 
für Mac bei.
Hallo,


für den MAC gibt es das oben schon genannte "AVR MacPack" als 
Alternative zum WinAVR. Der Rest ist doch identisch zum Windows-Rechner 
(mal abgesehen von Editor).

Ich übersetze meine Projekte abwechselt auf beiden Systemen. Als 
Programmer habe ich auch den mkII in Verbindung mit avrdude im Einsatz.

Da ich die Entwicklungsumgebung sowieso noch auf einem weitern MAC 
installieren wollte, kann ich es aber gerne nochmal testen.



Sebastian
Wenn ich das richtig sehe gehört die "m8def.inc" zu den Application 
Notes von Atmel und liegt dort unter 
..\Atmel\AVR-Tools\AvrAssembler(2)\Appnotes.

Somit gehört sie auch auf dem PC nicht zum WinAVR und es ist kein 
spezielles MAC Problem.


Die Installation des MACPack funktionierte problemlos und es läuft auf 
den ersten Blick auch.


Sebastian
Auf dem MAC verwende ich auch XCode zur Projektverwaltung, funktioniert 
problemlos (inkl. Programmieren mit dem mkII).

Die Einstellungen kann ich Dir im Moment jedoch nicht sagen, da ich 
derzeit nicht an meinem MAC sitze.

Der einzige Unterschied zum PC ist die etwas andere Tastatur-Belegung.


Sebastian
Auf dem MAC liegen die Dateien unter /usr/local/AVRMacPack

Wenn die Versionen auf PC und MAC identisch sind, ist es auch der 
gleiche Assembler (und sollte identische Ausgaben erzeugen).

Im Terminal-Fenster einfach mal "avr-as --version" eingeben.


Sebastian
Gast
Das erzeugt folgende Ausgabe:

GNU assembler (GNU Binutils) 2.19
Copyright 2007 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms 
of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `avr'.
@Flo

Ich habe es jetzt selber schnell probiert deinen ASM-Code zu 
übersetzten, mit avr-as geht's (wie oben spacedog beschrieben hat) 
natürlich nicht. Mit avra konnte ich deinen Code jedenfalls übersetzten!

avra -version gab dies bei mir aus:

AVRA: advanced AVR macro assembler Version 1.2.3 Build 1 (15. November 
2007)
Copyright (C) 1998-2007. Check out README file for more info

   AVRA is an open source assembler for Atmel AVR microcontroller family
   It can be used as a replacement of 'AVRASM32.EXE' the original 
assembler
   shipped with AVR Studio. We do not guarantee full compatibility for 
avra.

   AVRA comes with NO WARRANTY, to the extent permitted by law.
   You may redistribute copies of avra under the terms
   of the GNU General Public License.
   For more information about these matters, see the files named 
COPYING.
gibt es keine direkt Implementationmöglichkeit in xCode, also direkt auf 
compile & fertig. das übertragen kann ja noch im Terminal erfolgen?? Ich 
möchte ungern jedesmal im Terminal rumtippen um zu kompilieren oder 
womöglich auch makefiles (noch nie selber gemacht) generieren.
Der AVR kann komplett eingebunden werde. Ich habe unterschiedliche 
Targets welche ich umschalte um dann den AVR auch gleich programmiere 
(alles ohne Terminal). Das Programmieren muss dann natürlich ins 
makefile.

Die makefiles passe ich allerdings noch von Hand an.


Genaueres kann ich ohne den MAC nicht sagen, suche mal im Internet.


Sebastian
Gast
Ich wollte mir AVRA jetzt downloaden, jedoch funktioniert der Link zu 
dem Mac Package nicht. Selber kompilieren klappt auch nicht:

./configure
configure: error: cannot find install-sh or install.sh in . ./.. ./../..

Wie oder wo bekomm ich die Mac Version?

Danke

Flo
Hmm, bei mir hat das Kompilieren einwandfrei funktioniert. install.sh 
ist auch nur ein Link auf /usr/share/automake-1.10/install-sh. Vllt 
kamen bei automake -a auch schon Fehlermeldungen?

Im Anhang ist das von mir vorhin kompilierte Ergebnis von avra 1.2.3 
(für Intel-Mac). Probier das mal aus, bin mir aber nicht sicher ob man 
da noch irgendwelche Files dazu braucht.
Angehängte Dateien:
Gast
automake gibt es bei mir gar nicht? muss man das erst installieren?

Probier jetzt mal deine Vers aus, würds aber trotzdem gerne mit selber 
compilen hinbekommen...

Danke

Flo
Bei mir ist es drauf, aber wie es drauf kam weiß ich ehrlich gesagt 
nicht. Vielleicht mit Xcode, aber vielleicht auch über MacPorts¿

Mehr zu MacPorts gibt es hier http://www.macports.org. Die 
Installationsanweisungen sind recht verständlich und wie man damit 
umgeht hat man auch schnell raus (http://guide.macports.org/).

Wenn ich "port installed" eingebe, taucht bei mir auch automake auf, 
anscheinend hab's ich so mal vor langer Zeit draufkaut.
Gast
Es geht immer noch nicht. Also AVRA geht nur die m8def.inc nicht...

Hier mein Versuch:
(main.asm enthält den oben geposteten Quellcode)
Macintosh:firmware Flops$ avra main.asm
AVRA: advanced AVR macro assembler Version 1.2.3 Build 1 (15. November 
2007)
Copyright (C) 1998-2007. Check out README file for more info

   AVRA is an open source assembler for Atmel AVR microcontroller family
   It can be used as a replacement of 'AVRASM32.EXE' the original 
assembler
   shipped with AVR Studio. We do not guarantee full compatibility for 
avra.

   AVRA comes with NO WARRANTY, to the extent permitted by law.
   You may redistribute copies of avra under the terms
   of the GNU General Public License.
   For more information about these matters, see the files named 
COPYING.

Pass 1...
m8def.inc(40) : Error   : Unknown mnemonic/macro: #ifndef
m8def.inc(41) : Error   : Unknown mnemonic/macro: #define
m8def.inc(44) : Error   : Unknown mnemonic/macro: #pragma
m8def.inc(48) : Error   : Unknown mnemonic/macro: #pragma
m8def.inc(53) : Error   : Unknown mnemonic/macro: #pragma
m8def.inc(690) : Error   : Unknown mnemonic/macro: #pragma
m8def.inc(691) : Error   : Unknown mnemonic/macro: #pragma
m8def.inc(692) : Error   : Unknown mnemonic/macro: #pragma
m8def.inc(693) : Error   : Unknown mnemonic/macro: #pragma
m8def.inc(734) : Error   : Unknown mnemonic/macro: #pragma
m8def.inc(734) : Maximum error count reached. Exiting...
main.asm(1) : Maximum error count reached. Exiting...

was mache ich falsch? hab ich die falsche m8def.inc?

Flo

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.