Forum: Compiler & IDEs ASM Datei mit AVR-GCC Compilieren


von Spatz2222 (Gast)


Lesenswert?

Hallo ich habe eine ASM Datei von folgendem LINK :

http://www.myplace.nu/avr/minidds/minidds.asm


in dem Kopf der Datei steht das man folgendes eingeben soll um den CODE
zu Compilieren ...

AVR-GCC -x assembler-with-cpp minidds.asm

aber es kommt folgende Fehlermeldung :

C:\avrgcc\bin>avr-gcc -x assmebler-with-cpp minidds.asm

avr-gcc: language assmebler-with-cpp not recognized
..\lib\gcc-lib\avr\3.0.2\..\..\..\..\avr\bin\ld.exe:minidds.asm:
file format
not
recognized; treating as linker script
..\lib\gcc-lib\avr\3.0.2\..\..\..\..\avr\bin\ld.exe:minidds.asm:2:
parse
error

C:\avrgcc\bin>

wer weiß was das zu bedeuten hat ?

von Joerg Wunsch (Gast)


Lesenswert?

Nun, wenn Du ,,assembler'' richtig schreiben würdest, würde es
funktionieren. ;-)

Ansonsten: Datei nicht auf .asm sondern auf .S enden lassen, dann
brauchst Du das ganze -x assembler-with-cpp gar nicht.  Wichtig: ein
großes S, zumindest bei Aufruf des avr-gcc so angeben.

von Tobias (Gast)


Lesenswert?

oh die Antwort kam aber schnelle Danke !


ach ja entschuldige bitte - das war ein versehn ...

jedoch komme ich trotzdem nicht weiter

hier wieder die Fehlermeldung :


C:\avrgcc\bin>avr-gcc -x assembler-with-cpp minidds.asm

..\lib\gcc-lib\avr\3.0.2\..\..\..\..\avr\lib\crts8515.o: In
function `__start_of
_init__':
c:/avrgcc/lib/avr-libc-20011029/src/gcrt1.S:203: undefined reference to
`main'

C:\avrgcc\bin>



oder wenn ich das ganze mit der Endung S nehme ...


C:\avrgcc\bin>avr-gcc minidds.S
..\lib\gcc-lib\avr\3.0.2\..\..\..\..\avr\lib\crts8515.o: In
function `__start_of
_init__':
c:/avrgcc/lib/avr-libc-20011029/src/gcrt1.S:203: undefined reference to
`main'

C:\avrgcc\bin>


also eigentlich die selbe Meldung

von Joerg Wunsch (Gast)


Lesenswert?

Sorry, ich sehe erst jetzt, daß Du Kasper Hensens mini-DDS benutzen
willst.

Nein, das Ding geht so nicht.  Eigentlich habe ich das aber alles
schon mal jemandem erklärt und gerade keine Lust, die komplette
Analyse nochmal durchzuführen. :-(

Entweder mußt Du Dich durch die Eigenheiten seines Codes und durch die
Benutzung der GNU-Toolchain durchkämpfen, oder Du suchst Dir meine
alte Erklärung.  Sorry, aber die halbe Stunde habe ich gerade nicht,
das alles nochmal zu machen.

von Tobias (Gast)


Lesenswert?

Hallo,

ich habe Deinen Beitrag gefunden ...

hier mal der Link :

http://www.mikrocontroller.net/forum-extern/read-2-15978.html#24365

ich habe das alles gemacht was Du dort geschrieben hattest - da ging
die Fehlermeldung erstmal weg - aber wie soll es anders sein - es
kammen neue ...

C:\avrgcc\bin>avr-gcc -mmcu=at90s2313 -c minidds.S

../avr/include/inttypes.h: Assembler messages:
../avr/include/inttypes.h:24: Error: unknown opcode `typedef'
../avr/include/inttypes.h:25: Error: unknown opcode `typedef'
../avr/include/inttypes.h:27: Error: unknown opcode `typedef'
../avr/include/inttypes.h:28: Error: unknown opcode `typedef'
../avr/include/inttypes.h:30: Error: unknown opcode `typedef'
../avr/include/inttypes.h:31: Error: unknown opcode `typedef'
../avr/include/inttypes.h:33: Error: unknown opcode `typedef'
../avr/include/inttypes.h:34: Error: unknown opcode `typedef'
../avr/include/inttypes.h:36: Error: unknown opcode `typedef'
../avr/include/inttypes.h:37: Error: unknown opcode `typedef'

C:\avrgcc\bin>

was heißt den das schnowieder ?

Tobias

und Danke nochmal für Deine Hilfe !

von Joerg Wunsch (Gast)


Lesenswert?

> ../avr/include/inttypes.h:24: Error: unknown opcode `typedef'

> was heißt den das schnowieder ?

Daß <inttypes.h> offenbar denkbar unggeignet für eine Assembler-Quelle
ist.  In der Tat sind nur wenige der C-Header-Dateien
assemblertauglich, möglicherweise nur <avr/io.h>.

Ich habe auch keine Idee, warum jemand diese Datei in einer
Assemblerquelle benutzen möchte.  Schließlich definiert sie
ausschließlich Datentypen für C.

von Tobias (Gast)


Lesenswert?

so da hilft also nur das Ding in reinen Assembler zu überstzen
bleibt ja fast alles oder?
nur ein problem habe ich bei den Wertetabellen
wo stehen die im .cseg oder im .dseg ?

kann ich da das **
sine:

     .byte 0x80, 0x83 ....  usw übernehmen

wenn ich das so bei AVRStudio eingebe kommen immer Fehlermeldungen

was mache ich falsch ?


Tobias

von Joerg Wunsch (Gast)


Lesenswert?

Hab' ja auch nicht gesagt, daß Du das im AVR Studio eintippern sollst.
Soweit ich mich erinnere, ist das Ding schon auf GNU Assembler Syntax
ausgelegt.

Du mußt Dir nur über die #includes Gedanken machen.

Bitte, RTFM.  Kann ja sein, daß man ein simples Controllerprogramm
auch zum Laufen bekommt, indem man nur 3 Kochrezepte abarbeitet, aber
spätestens, wenn was nicht funktioniert, sollte man ernsthaft
versuchen, das Problem erstmal zu verstehen und sich dann um dessen
Beseitigung zu kümmern.

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.