Forum: Compiler & IDEs assemblerfunktionen in gcc


von eugen dischke (Gast)


Lesenswert?

hi all ich habe in den app notes von atmel gelesen, wie ich variablen zw 
c und assembler durchschleuse, (durch r16 z.B.)
so wie ich das aber richtig sehe macht es der gcc durch andere register, 
kann mir einer sagen wie ich es nun genau machen muss (assembler 
funkionen in c) ohne den inline assember zu benutzen

von Joerg Wunsch (Gast)


Lesenswert?

Ja, Doku lesen bildet. ;-)  Das steht in der FAQ.  WinAVR sollte
die Doku irgendwie in C:\winavr\doc installiert haben.  Ansonsten
findest Du sie online auf
http://savannah.nongnu.org/download/avr-libc/doc/avr-libc-user-manual/
(aber Achtung, wenn Du etwas älteres als WinAVR hast, paßt diese
Doku nicht notwendig zu Deiner Version).

von eugen dischke (Gast)


Lesenswert?

ich meinte eigentlich wie ich das überhaupt machen muss, also das 
einbiden von assembler funkionen(unterprogrammen), bei dieser avr lib c 
ist nur beschrieben, wie man assembler dateinen mit c übersezt, das ist 
aber nicht mein anliegen ,  ich möchte unterprogramme in assembler 
schreiben die ich dann in c aufrufe ohne den inlineassembler zu benutzen 
. vorallem beschwert sich mein compiler (avredit) bei solchen sachen wie 
.global , beziehungsweise wie .section .text, kann mir einer helfen ? 
oder liegt es daran, das ich diese ide benutze, aber diese benuzt 
eigentlich auch blos den gcc von daher frag ich mich was ich falsch 
mache
eugen dischke

von Peter Fleury (Gast)


Lesenswert?

Ein Bespiel einer Assembler Library, die von AVR-GCC aufgerufen werden 
kann, findet sich in Form der I2C Library auf meiner Homepage:

http://www.mysunrise.ch/users/pfleury/avr-software.html#libs

-> Benötigt neueste WinAVR AVR-GCC Version 3.3, vergiss alte 
avrfreaks/avredit Compiler.

von Joerg Wunsch (Gast)


Lesenswert?

Außerdem steht in der Tat auch was in der avr-libc Doku dazu
drin...  Die Registerbelegung steht in der FAQ, und ein
Stück reinrassiger Assembler hat ein eigenes Kapitel.  OK, beide
Infos muß man natürlich dann noch miteiner verheiraten...

Was avredit ist, weiß ich nicht, und insbesondere nicht, warum
sich dieses Teil in irgendeiner Form an der Assemblersyntax zu
schaffen machen will.

Eugen, gezielte Benutzung der Shift-Taste entsprechend den Regeln
der deutschen Sprache sowie Einteilung in Absätze macht Deine
Nachricht besser lesbar.  Ich vermute zumindest, daß Du gern
möchtest, daß das auch jemand liest (und versteht)...

von Eugen Dischke (Gast)


Lesenswert?

Ja ist ok Jorg *g also danke erstmal für die Infos,
AVREdit ist nur eine IDE die den GCC benuzt, AVREdit giebts zum download 
bei AVRFreaks.net

von Eugen Dischke (Gast)


Lesenswert?

appropo
Peter öhm warum genau ist avredit so schlecht? also die IDE benuzt den 
gcc 3.2 hat der irgendwie zuviele Bugs oder warum sollte ich auf den 
Gebrauch von AVREdit verzichten ?

von Peter Fleury (Gast)


Lesenswert?

@Eugen

Bitte lese mein Posting:
Benötigt neueste WinAVR AVR-GCC Version 3.3, vergiss alte 
avrfreaks/avredit Compiler.

von eugen dischke (Gast)


Lesenswert?

Hi all,
also ich hab mir jezt das Beispiel von Peter Fleury angesehen und ich 
hab es auch compelieren können. Jedoch weis ich jezt immernochnicht wie 
ich jezt das Assemblerfile einbinden muss,
soweit ich das sehe, muss ich es im Makefile irgendwo dem Compiler 
klarmachen, wo es steht, aber ich bin ziemlich neu hier, und ich hab von 
make kein blassen Schimmer, kann mir einer helfen, oder zumindest sagen 
wo es steht ?
Eugen Dischke

von eugen dischke (Gast)


Lesenswert?

ok ok *g beschämt nehme ich die lezte Frage zurück, die Makedoku ist 
unter den anderen Dokumenten bei Winavr enthalten aber nochmals vielen 
Dank Eugen Dischke

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.