Makefile kann nicht erstellt werden

OP #774087
Lesenswert?
• ▲
▼
Hi,

ich habe folgendes Problem:
in dem beiliegenden Programm will ich auf meinem AT91SAM7-P64 Board die 
LEDs blinken lassen, sobald ein Button gedrückt wird. Ich habe soweit 
auch schon ein Programm geschrieben, nur komme ich nicht dazu es 
auszuprobieren, da mir kein Makefile erstellt wird. Exit Code:

make.exe: *** No rule to make target `ld_flash.cmd', needed by 
`main.elf'.  Stop.

Kann mir jemand sagen was ich falsch mache? Anbei findet ihr die 
Dateien, die das Programm umfasst.

Vielen Dank

Gruß

(PS: bin quasi absoluter µC-Neuling, also nicht wundern, falls es an 
banalen Sachen hängt :) )
Angehängte Dateien:
#774123
Lesenswert?
• ▲
▼
Dein target "main.elf" ist von LDSCRIPT abhängig, somit sucht make das 
im aktuellen Verzeichnis und versucht es zu bauen, falls es nicht da 
ist....

Ändere mal:
1
main.elf: $(OBJECTS) $(LDSCRIPT)
nach
1
main.elf: $(OBJECTS)

Frage: Wofür ist das LDSCRIPT überhaupt, es wird doch nicht benutzt, 
oder???
Moderator Persönliche Seite #774165
Lesenswert?
• ▲
▼
Bernhard M. wrote:
> sehe gerade, ist bei den LFLAGS drinnen...
> aber es fehlt die "Bauanleitung" dafür...

Das Linker-Skript wird nicht "gebaut", es ist mit Namen ld_flash.cmd 
bereitzustellen. Mittels linker-script definiert man im Prinzip an 
welchen Speicherstellen der Programmcode und die Daten abgelegt werden. 
Siehe z.B. 
http://www.embedded.com/columns/technicalinsights/201000339?_requestid=246869

Weiterhin: der direkte Aufruf des Linkers (arm-elf-ld) ist nicht 
empfohlen, besser über das Compiler-Frontend (arm-elf-gcc) "indirekt" 
aufrufen. Dito für den Assembler (arm-elf-as), dieser kann ebenfalls 
über das Frontend gerufen werden.  Mittelfristig werden damit Probleme 
vermieden, da das Frontend besser "weiss" wo Dateien/Libraries abgelegt 
sind.

Martin Thomas

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