www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Makefile kann nicht erstellt werden


Autor: Patrick Bauer (peebergi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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 :) )

Autor: Bernhard M. (boregard)
Datum:

Bewertung
0 lesenswert
nicht 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:
main.elf: $(OBJECTS) $(LDSCRIPT)
nach
main.elf: $(OBJECTS)

Frage: Wofür ist das LDSCRIPT überhaupt, es wird doch nicht benutzt, 
oder???

Autor: Bernhard M. (boregard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sehe gerade, ist bei den LFLAGS drinnen...
aber es fehlt die "Bauanleitung" dafür...

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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/...

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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.