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
Hallo, ich vermute mal, daß RAMEND mit $25F definiert ist. Versuchs mal mit 0x25f. Gruß Siegfried
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.
>Gibt es evtl. in C Geschriebene Routinen für das Display? Ja, von mir: http://homepage.sunrise.ch/mysunrise/peterfleury/
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.