ARM GCC Linux Mint: "make" im Terminal lädt alten Quelltext

#7463893
Lesenswert?

Guten Abend!

Seit heute Abend habe ich ein Problem: Ich benutze zum Erstellen der .bin-Datei für den STM32F411 den GCC für ARM unter Linux Mint (18 Sarah). Ich compiliere den C-Code in einem Terminalfenster mit "make". Es passiert nun folgendes:

Wenn ich den Code mit "make" in dem geöffneten Terminalfenster compiliere, wird der Vorgang wie gewohnt ausgeführt. Soweit, so gut.

Wird der Code aber geändert und nochmals abgespeichert und man wiederholt den Compiliervorgang, finden sich die Änderungen NICHT in der ausführbaren Datei, die ich dann auf den uC hochlade. Erst wenn ich im Terminal den Menüpunkt "Terminal -> Zurücksetzen und leeren" aufgerufen habe, wird der aktualisierte Quellcode korrekt verarbeitet. Das war vorher anders. Man konnte "make" einfach starten und der geänderte Code wurde geladen und compiliert,

Der aktualisierte Quellcode findet sich übrigens mit dem korrekten Zeitstempel im korrekten Verzeichnis auf dem Datenträger. Daran kann es also nicht liegen.

Hat jemand einen Hinweis, was mit dem Terminal jetzt anders ist als vorher?

Danke!

Peter

#7463917
Lesenswert?

Peter R. schrieb:

Und genau aus diesem Grund habe ich gefragt

Die Aussage:

Das hat mit dem ›make‹ Vorgang nicht das Geringste zu tun.

impliziert das es nicht das Geringste mit dem ›make‹ Vorgang zu tun hat. Darum ist die erneute Frage nicht sonderlich zielführend, denn: Es hat mit dem ›make‹ Vorgang nicht das Geringste zu tun.

#7463922
Lesenswert?

Nochmal: Es liegt nicht am Code, der ist korrekt und liegt am korrekten Ort mit korrektem Zeitstempel. Wenn der Code fehlerhaft wäre, würde ich eine Fehlermeldung beim Kompilieren erhalten.

Aber was soll's? Ich habe mir ein kleines Skript geschrieben, das dem Terminal den Befehl "reset" übergibt gefolgt von "make all". Funzt einwandfrei und gut is'

P.

#7464013
Lesenswert?

Peter R. schrieb:

Wird der Code aber geändert und nochmals abgespeichert und man wiederholt den Compiliervorgang, finden sich die Änderungen NICHT in der ausführbaren Datei, die ich dann auf den uC hochlade.

Wird denn da was compiliert oder nicht? Hast du mal geprüft, ob das erzeugte File sich dadurch ändert? Vielleicht liegt das Problem nicht beim Compilieren, sondern beim Flashen.

Peter R. schrieb:

Ich habe mir ein kleines Skript geschrieben, das dem Terminal den Befehl "reset" übergibt gefolgt von "make all". Funzt einwandfrei und gut is'

Das ist sehr verwunderlich, denn reset wirkt sich eigentlich nur auf das Terminal aus und hat überhaupt nichts mit make oder dem Filesystem zu tun.

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