Forum: Compiler & IDEs Peter Fleurys library einbinden fehlgeschlagen


von Julius (Gast)


Lesenswert?

Hallo,

ich verscuhe gerade einen HD44780 an meinen µC anzuschließen, dazu habe 
ich die "4-Bit Ansteuerung mit Busy(I/O Mode)" benutzt, wie sie auf 
http://www.roboternetz.de/wissen/index.php/LCD-Modul_am_AVR beshrieben 
wird (ich habe VEE auch auf GND gesetzt ist das in Ordnung?).

Dann hab ich mir die library von Herrn Felury heruntergeladen und in das 
Verzeichnis D:\WinAVR\share\doc\avr-libc-1.4.4\examples\stdiodemo von 
WINAVR kopiert. Anschließend ein neues Projekt geöffnet und die makefile 
im avr studio bei Project -> Configuration Options -> Use external 
Makefile ausgewählt.

In der lcd.h Datei hab ich die Änderungen wie in 
http://www.roboternetz.de/wissen/index.php/LCD-Modul_am_AVR beschrieben 
vorgenommen und zusätzlich die Zeile:

#define LCD_PORT         PORTC        /**< port for the LCD lines   */

in

#define LCD_PORT         PORTB        /**< port for the LCD lines   */

geändert.

Jetzt gibt mir das AVR Studio aus:

Build succeeded with 0 Warnings...

Allerdings steht bei Message:

Loaded plugin STK500
Loaded plugin AVR GCC
Loaded partfile: D:\Programme\Atmel\AVR 
Tools\PartDescriptionFiles\ATtiny2313.xml
gcc plug-in: Output directory D:\Progi\test003\default\ does not exist
gcc plug-in: Created directory D:\Progi\test003\default\
gcc plug-in: Error: Object file not found on expected location
(roter 
Punkt)D:\WinAVR\share\doc\avr-libc-1.4.4\examples\stdiodemo\test003.elf
Make sure your makefile specifies the output .elf file as test003.elf


Jetzt hab ich das ganze auf den µC übertragen wollen, aber es gibt keine 
hexfile mit dem namen des geöffneten Projekts, weswegen ich die lcd_test 
Datei genommen habe, aber mit der geht es auch nicht.

Könnte mir bitte jemand damit helfen?

Danke schon einmal im Vorraus

von Oliver (Gast)


Lesenswert?

Ein roter Punkt heisst nunmal, daß der Compile/Linkprozess irgendwo 
fehlgeschlagen ist.

Entweder du vergisst AVRStudio, passt das Original makefile an deine 
Bedürfnisse (MPU/Pfade/...) an, und tippst dann ein lässiges "make all" 
in die Dos-Box, oder du verwendest AVRStudio, erzeugst dort ein 
richtiges Projekt mit allen sourcefiles, und lässt das Studio den Rest 
machen. Das erzeugt dann schon ein passendes makefile, da brauchst du 
dich nicht weiter drum zu kümmern.

AVTStudio mit externen, nicht passenden makefiles gibt nur Probleme.

Oliver

von Julius (Gast)


Lesenswert?

Wenn ich die externe Makefile weglasse, was muss ich dann machen?

Ich kann ja das lcd.h trotzdem benutzen, oder? (wenn ja, wie?9

Ich habe noch fast nichts mit dem AVR Stduio gemacht, weswegen ich etwas 
überfordert bin...

von Karl H. (kbuchegg)


Lesenswert?

Als erstes schmeist du mal das externe Makefile über Bord
und änderst die Konfiguration wieder zurück, dass sich
AVR Studio selbst das makefile generiert.

Klar kannst du das lcd.h benutzen.
Du schreibst wie gewohnt
#include "xyz\lcd.h"
wobei du anstelle von xyz den Pfad einsetzt, auf den du lcd.h bzw.
lcd.c kopiert hast. Wenn das das Projektverzeichnis ist, dann
lässt du die Pfadangabe komplett weg.

Danach klickst du im AVR-Studio links im Projektbaum mit
der rechten Maustaste auf "Source Files". Im daraufhin aufgehenden
Kontextmenü wählst du aus: "Add existing source file(s)" und
zeigst ihm die lcd.c. Die gehört ja schliesslich auch zum Projekt.

Wenn du ganz genau sein willst, dann machst du dasselbe
mit den Header files und lcd.h (also lcd.h zu den zum
Projekt gehörenden Header Files hinzufügen).

Projekt neu erstellen lassen (F5) und dann sollte es
funktionieren.

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
Noch kein Account? Hier anmelden.