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 :) )
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???
sehe gerade, ist bei den LFLAGS drinnen... aber es fehlt die "Bauanleitung" dafür...
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
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.