Forum: Mikrocontroller und Digitale Elektronik AVR Tutorial für Mac


von Flo (Gast)


Lesenswert?

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

von Sebastian A. (freddyk)


Lesenswert?

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

von Andreas K. (ergoproxy)


Lesenswert?

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

von Flo (Gast)


Lesenswert?

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

von Ralf S. (spacedog) Benutzerseite


Lesenswert?

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.

von Jörn A. (joern_)


Lesenswert?

Hi

muss zur Zeit auch immer auf meinen alten XP Rechner zurückgreifen :-(

wo finde ich das tutorial für den MAC. Würde aber gern in C 
programmieren und habe ein AVR ISP MKII.

Gruss

von Sebastian A. (freddyk)


Lesenswert?

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

von Sebastian A. (freddyk)


Lesenswert?

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

von Jörn A. (joern_)


Lesenswert?

super danke habe per Google gefunden. Kann ich das ganze auch mit Xcode 
nutzen?? Installation lief soweit wohl ohne Probleme...

von Sebastian A. (freddyk)


Lesenswert?

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

von Flo (Gast)


Lesenswert?

und welchen Assembler aus dem MAcPAck hat die gleich eSyntax wie der aus 
dem Tutorial?

von Mano W. (Firma: ---) (manow)


Lesenswert?

Das AVR MacPack ist doch nur für C (avr-gcc), also kein Assembler.

Schon mit avra probiert (einfach runterladen und in der README steht die 
Installationsanweisungen: siehe Installation unter Linux)?

von Sebastian A. (freddyk)


Lesenswert?

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

von Flo (Gast)


Lesenswert?

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'.

von Mano W. (Firma: ---) (manow)


Lesenswert?

@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.

von Jörn A. (joern_)


Lesenswert?

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.

von Sebastian A. (freddyk)


Lesenswert?

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

von Flo (Gast)


Lesenswert?

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

von Mano W. (Firma: ---) (manow)


Angehängte Dateien:

Lesenswert?

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.

von Flo (Gast)


Lesenswert?

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

von Flo (Gast)


Lesenswert?

Ich glaub ich installier einfach mal das Apple Developer zeugs...

von Mano W. (Firma: ---) (manow)


Lesenswert?

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.

von Flo (Gast)


Lesenswert?

nach dem ich das developer zeugs drauf hatte gings mim compilen. Jetzt 
mal mit dem QUellcode testen...

Danke

Flo

von Flo (Gast)


Lesenswert?

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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?


von Flo (Gast)


Lesenswert?

Endlich, alles hat funktioniert...
Von wo war jetzt die m8def.inc?

Danke

Flo

von Flo (Gast)


Lesenswert?

Mist, jetzt hab ich vergessen zu fragen, wie ich jetzt über den USBasp 
flashe.
So?

avrdude -c USBasp -p atmega8

Funltioniert das?

Danke

Flo

von iii (Gast)


Lesenswert?


von Flo (Gast)


Lesenswert?

???
Ist doch schon lange installiert? Lies mal dn THread ganz...

Flo

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
Noch kein Account? Hier anmelden.