Moin... ich versuch gerad die killcard-FW von H. Klabundes seite zu kompilieren. AVR-Studio meldet jedoch make: *** No rule to make target `killcard.elf', needed by `all'. Stop. Das makefile ist nicht geändert außer F_CPU ist auf 8 MHz gesetzt. Die Sourcen und das makefile liegen in c:\AVR\killcard. AVR-Studio ist in C:\Programme\Atmel\AVR Tools installiert Winavr ist in C:\WinAVR installiert AVR Studio ist Version 4.13.571 Service Pack 2 . Das Mainprogramm heisst killcard.c und im makefile ist unter TRG auch killcard eingetragen. Make stört sich an folgendem Satz: #this defines the aims of the make process all: $(TRG).elf $(TRG).hex $(TRG).bin Bin jetzt ein wenig ratlos worans noch liegen kann. Hat jemand einen Rat für mich? Das Makefile liegt (hoffentlich) bei. Vielen Dank schonmal.
Hmm, ich kenne die Syntax von Pattern-Rules eigentlich nur als
1 | %.o: %.c |
usw. Bei Deinem Makefile fehlen bei allen Pattern-Rules (mit "%" beginnend) die Punkte. Liegt es vielleicht daran?
Ich weiss nicht wie deine Verzeichnisstruktur aufgebaut ist, aber entsorg mal die ../ bei den Dateien bei SRC =
@dummy Hat nix gebracht. @Christian Z. Hä? Ist wie gesagt das original makefile von H. Klabunde, da hab ich außer der CPU Frequenz nichts geändert. MfG
So wie ich das sehe rufst Du das Makefile mit "make all" auf. Kann es sein, das Du nur make aufrufen musst ? Gruß Sven
@ Sven AVR Studio ruft es direkt auf. Habs aber auch in der Shell probiert, mit make und mit make all. Hat beides den gleichen Effekt, o.G. Satz... MfG
*** No rule to make target `killcard.elf', Das bekommt man immer dann wenn die Sourcecodedateien nicht da liegen wo sie eigentlich sein sollten, oder wenn eine Sourcedatei gar nicht existiert. Poste das ganze Projekt inklusive aller Dateien mal als ZIP Datei.
Danke, und woran lags nun genau? Das makefile ist ja komplett umgestrickt. MfG
@ :(
>Und das ganze zurück inklusive HEX Datei.
Die kannst du jetzt in deinen uC brutzeln !
>Danke, und woran lags nun genau?
Sorry Überschneidung ;)
An killcard.c
Alt:
#include "../dos.h"
#include "../lcd.h"
#include "../serial.h"
#include "../printf.h"
Neu:
#include "dos.h"
#include "lcd.h"
#include "serial.h"
#include "printf.h"
Aha... da hab ich nun garnicht drauf geachtet. Was hat es mit dem geänderten Makefile auf sich? Und wie hoch ist die Baudrate bei der V24 Kommunikation? Mit den berechneten Werten bekomm ich nur Hieroglyphen im Terminal. ... Vielen Dank für deine Mühe!!! MfG
>Was hat es mit dem geänderten Makefile auf sich?
Du hast alles in ein Verzeichnis gepackt.
Das makefile wollte die DOS Routinen aber ein Verzeichnis tiefer.
Ahso, hab mir extra die ganzen Beiträge zum Thema makefile durchgelesen, da hiess es immer mit ins Verzeichnis wo die Quelldateien liegen... naja, wieder etwas schlauer :) . Mit den Baudrateneinstellungen klappts nicht, hab 8 MHz extern am µC. MfG
>Mit den Baudrateneinstellungen klappts nicht, hab 8 MHz extern am µC.
Merkwürdig. Bei mir gehts. Fuses richtig gesetzt ?
So, jetzt gehts, anscheinend hatte sich Terraterm irgendwie verhaspelt. Ein simpler neustart hat das Problem gelöst. MfG
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.