cmake-Build und Flashen von Kommandozeile
Verfasst: Mo 6. Mär 2017, 18:33
Ich habe übrigens mal bei meinem Mod (https://github.com/mhier/Repetier-Firmw ... ffset_scan) eine Build-Umgebung hinzugefügt, die ohne die nervige Arduino IDE auskommt. Man benötigt zwar weiterhin die Arduino SDK, die normal mit der IDE kommt, aber man muss nicht mehr die IDE selbst starten und verwenden, um die Firmware zu kompilieren. Stattdessen geht das mit cmake und make an der Kommandozeile. Ich beziehe mich vor allem auf Linux, aber cmake funktioniert prinzipell auch unter Windows:
Der Befehl "cmake .." erzeugt das Build-Verzeichnis mit Makefile etc. aus dem Source-Verzeichnis unter ".." (wir sind ja in einem Unterverzeichnis davon). Dabei sucht er automatisch nach Arduino, das funktioniert bei mir mit der aktuellen Version 1.8.1, wenn diese unter "/usr/share/arduino-1.8.1" liegt (was Standard sein sollte). Andernfalls kann das Verzeichnis mit der Option "-DARDUINO_SDK_PATH=/path/to/arduino/sdk" angegeben werden (einfach hinten an den cmake Befehl anhängen).
Der letzte Befehl "make" baut dann die Firmware und am Ende liegt dort eine Datei namens "Repetier.hex". Diese kann mit dem Script "flash_arduino.sh" im Wurzel-Verzeichnis des Repositories geflashed werden.
Für Windows liegt noch eine allgemein gehaltene Anleitung in der README.md-Datei im cmake-Unterverzeichnis.
Das Ganze würde sich übrigens wunderbar dazu eignen, automatisiert die Firmware zu bauen (z.B. nach jedem Commit) und für alle als hex-Datei zum Download anzubieten.
Code: Alles auswählen
cd path/to/RF1000/Repetier/
mkdir build
cd build
cmake ..
make
Der letzte Befehl "make" baut dann die Firmware und am Ende liegt dort eine Datei namens "Repetier.hex". Diese kann mit dem Script "flash_arduino.sh" im Wurzel-Verzeichnis des Repositories geflashed werden.
Für Windows liegt noch eine allgemein gehaltene Anleitung in der README.md-Datei im cmake-Unterverzeichnis.
Das Ganze würde sich übrigens wunderbar dazu eignen, automatisiert die Firmware zu bauen (z.B. nach jedem Commit) und für alle als hex-Datei zum Download anzubieten.