WinAVR: Assemblercode in C einbinden

Gast #285361
Lesenswert?

Hallo Zusammen,
ich habe eine Anwendung bei der ich versuche einen Assemblercode in
einen C-Code ein zu binden, aber irgendwie habe ich meine
Schwierigkeiten damit!!

Kann mir vielleicht mal jemand relativ schnell erklären, wie dies
funktioniert??

Danke schon mal!!

Gruß
Benjamin
Gast #285363
Lesenswert?

Also ich habe mir den Code von dem Cristian Kranz aus der Codesammlung,
zur Ansteuerung des Siemens S65 Displays herunter geladen. In der
Software wird auf ASM code zugegriffen. Aber ich bekomme
Fehlermeldungen!! ich habe mal einen Screenshot gemacht. Vielleicht
kann mir ja jemand weiterhelfen!?

Gruß
Benjamin
#285365
Lesenswert?

Der Protoyp fuer die Funktion
lcd_init()
wurde vom Compiler nicht gesehen.

Das kann mehrere Ursachen haben. Mach mal
die includes so:

  #include "eigene\disp.h"
  #include "eigene\lcd.h"

< wird bei includes verwendet um anzuzeigen, dass die gesuchte
  Header-Datei irgendwo im compiler-systemspezifischen Teil zu
  suchen ist

" wird bei includes verwendet um anzuzeigen, dass es sich um eine
  benutzerdefinierte Header-Datei handelt.

Wenn's dann noch immer nocht geht, dann ueberpreuf mal, ob
die Header-Dateie tatsaechlich dort liegen wo sie
sollen. Alternativ kannst Du auch den vollstaendigen
Pfad zu den Include dateien angeben (ist aber nicht so gut,
sowas sollte man nur zu Testzwecken machen).


Und nein: Das ganze hat ueberhaupt nichts mit Assembler zu tun.
Da geht es rein um Dateien, auf welchen Pfaden sie liegen, ob
die Pfadeinstellungen des Compilers richtig sind und wie man
den AUfsuchpfad der Dateien im C-Source Code spezifiziert.
#285366
Lesenswert?

undefined reference
bedeutet einfach nur, dass der Compiler ein 'Wort' im
Quelltext entdeckt hat, dass syntaktisch eine Variable
oder ein Funktionsaufruf sein kann, aber weder eine Variable
noch eine Funktion dieses Namens wurde definiert. Also
ein Name, auf den sich der Compiler keinen Reim machen kann.
Gast #285370
Lesenswert?

Danke für eure netten Tipps. Die Datei um zu benennen hat den Erfolg
gebracht. Aber jetzt hängt sich der Simulator beim Aufruf der Routine
lcd_init(); auf. Ich verstehe das aber nicht. Denn irgendwie sagt der
Compiler doch das alles stimmt und der ASM läuft doch auch bei
anderen!?

Wenn jemand das selbe Problem hat, bitte melden. Vielleicht gibt es ja
auch schon eine Lösung!!

Gruß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren