www.mikrocontroller.net

Forum: Compiler & IDEs Problem mit externem Assembler-code in winAvr


Autor: Richard Mutschler (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Danke erstmal für Hilfe...
Ich habe folgendes Problem: Ich möchte ein programm schreiben, das bei
einem 8515 über die Uart zeichen empfängt und auf ein display HD 4478
ausgibt. Die Routine für das display ist in Assembler und funktioniert
für sich wunderbar. Die Routine für die Uart ist in C geschrieben und
funktioniert auch. Nun wollte ich die Displayroutine als externe Datei
in meinen C-code einbinden. Das Problem ist, dass ich es nun nicht mehr
Compiliert bekomme und mit der Fehlermeldung nuchts anfangen kann:
> "make.exe" all

Assembling: LcdInit.S
avr-gcc -c -mmcu=at90s8515 -I. -x assembler-with-cpp
-Wa,-adhlns=LcdInit.lst,-gstabs  LcdInit.S -o LcdInit.o
LcdInit.S: Assembler messages:
LcdInit.S:13: Warning: expression possibly out of 8-bit range

LcdInit.S:13: Error: garbage at end of line // mit dieser meldung kann
ich nichts anfangen!!!???!!!

LcdInit.S:14: Error: number must be less than 64
LcdInit.S:15: Warning: expression possibly out of 8-bit range
LcdInit.S:15: Error: garbage at end of line
LcdInit.S:16: Error: number must be less than 64
LcdInit.S:78: Error: number must be less than 32
LcdInit.S:82: Error: number must be less than 32
LcdInit.S:87: Warning: expression possibly out of 8-bit range
LcdInit.S:87: Error: junk at end of line, first unrecognized character
is `4'
LcdInit.S:94: Warning: expression possibly out of 8-bit range
LcdInit.S:94: Error: junk at end of line, first unrecognized character
is `2'
LcdInit.S:95: Warning: expression possibly out of 8-bit range
LcdInit.S:95: Error: unknown opcode `c9'
make.exe: *** [LcdInit.o] Error 1

> Process Exit Code: 2
Da ich ein ziemlicher Newbie bin ist mein fehler wohl recht doof, aber
ich weiss gerade nicht weiter.
Gibt es evtl. in C Geschriebene Routinen für das Display?
vielen Dank, Richard

Autor: Siegfried Dorn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich vermute mal, daß RAMEND mit $25F definiert ist. Versuchs mal mit
0x25f.

Gruß
Siegfried

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die ganze Assemblerdatei sieht mir suspekt aus.  Da werden auch
anderswo Konstanten mit $ geschrieben, das ist ganz offensichtlich
wohl kein GNU-Assembler (gas) Code.

Ich würde das Teil in C neu schreiben bzw. auf eine der zahlreich
vorhandenen C-Implementierungen zurückgreifen.  Nicht, daß eine
Einbindung von Assemblerdateien in C-Projekte nicht machbar wäre, aber
sie bringt in diesem Falle keinen einzigen Vorteil, im Gegenteil, der
Aufwand, das auf den gas zu konvertieren (wobei man ja zugleich auch
die teilweise x-fach geschachtelten Makrokonstruktionen verstehen muß)
rechtfertig meiner Meinung nach die Mühe kaum.

<ctoasm.inc> und <macros.inc> sind übrigens kein offiziell
exportiertes Interface der avr-libc.  Wenn Du diese Dateien
,,irgendwoher'' erhalten hast, riskierst Du mithin, daß Deine
Versionen veraltet sind und gar nicht mehr zur aktuellen avr-libc
passen.

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Gibt es evtl. in C Geschriebene Routinen für das Display?

Ja, von mir:
http://homepage.sunrise.ch/mysunrise/peterfleury/

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.