www.mikrocontroller.net

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


Autor: Spatz2222 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe Deinen Beitrag gefunden ...

hier mal der Link :

http://www.mikrocontroller.net/forum-extern/read-2...

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 !

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

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.