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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.