3.6 KiB
Entwicklungsleitfaden
-
Docker Image bauen
Fast die gesamte Entwicklung eines Projektes wird innerhalb von Docker gemacht, da dadurch die Plattformunabhängigkeit gewährleistet ist. Um das Docker Image zu bauen wird der Befehldocker build . -t zephyr-configurator
verwendet.
-
Docker Volume anlegen
Das Docker Volume enthält später das Zephyr SDK, einige Build-Tools, sowie den Source-Code der App. Da der Source-Code später von einer IDE bearbeitet werden soll, wird ein Volume vom Typlocal
verwendet, das das Verzeichnis$HOME/zephyrproject
nutzt. Zum Erstellen des Volumes wird der Befehldocker volume create --driver local --name zephyr --opt type=none --opt device=$HOME/zephyrproject --opt o=uid=root,gid=root --opt o=bind
verwendet.
-
Docker Container starten
Im nächsten Schritt wird der Container gestartet. Dafür wird der Befehldocker run -it -v zephyr:/workdir --rm zephyr-configurator
verwendet.
--rm
wird dafür genutzt, dass der Container beim Beenden automatisch gelöscht wird. Sonst würde bei jedem Starten ein neuer Container angelegt werden. -
Zephyr Workspace anlegen
Sobald der Container gestartet wurde, wird ein Menü angezeigt.
Im Menü mithilfe der PfeiltastenInit Zephyr workspace
auswählen und mitEnter
bestätigen. Der Workspace wird dann angelegt. Für den Fall, dass der Workspace schon existiert, wird am Anfang zwar eine Fehlermeldung angezeigt, aber der Workspace wird trotzdem ordnungsgemäß aktualisiert. Nach dem Anlegen des Workspaces wird wieder das Hauptmenü angezeigt. -
Leeres Projekt anlegen
Mit dem nächsten Menü-Punkt wird ein neues leeres Projekt angelegt. Dieses Projekt ist dann im/workdir/app
-Verzeichnis gespeichert. Auf dem Host-Betriebssystem ist das dann das$HOME/zephyrproject/app
-Verzeichnis. -
Funktionalitäten hinzufügen
Im nächsten Schritt können über den dritten Menü-Punkt weitere Funktionen direkt zum Source-Code hinzugefügt werden. Der Menü-Punkt enthält ein weiteres Untermenü. Die Menüpunkte enthalten dann wieder ein Untermenü.
Bei der Auswahl einer Funktionalität wird der Code automatisch oberhalb dermain
-Funktion in dermain.c
-Datei eingefügt. Lediglich der Funktionsaufruf muss noch durch den Entwickler an der richtigen Stelle eingefügt werden. -
Projekt kompilieren
Mit der Auswahl des UnterpunktesBuild project
wird ein Auswahlmenü angezeigt, welcher Mikrocontroller verwendet wird.
Nach der Auswahl wird das Projekt automatisch kompiliert.
Wurde das Projekt zuvor schon für einen anderen Mikrocontroller gebaut, muss zuerst mit dem sechsten Punkt des Hauptmenüs derbuild
-Ordner geleert werden. Dann kann das Projekt erfolgreich kompiliert werden. -
Projekt flashen
Das Flashen ist vergleichsweise schwierig, da das Durchreichen eines USB-Gerätes an einen Docker-Container nicht immer reibungslos funktioniert. Des Weiteren brauchen viele Mikrocontroller auch spezielle Tools zum Flashen. Deshalb wird unter diesem Menüpunkt nur der Befehl zum Flashen angezeigt, der dann auf dem Host-Betriebssystem im Verzeichnis$HOME/zephyrproject
ausgeführt werden muss.
Dazu müssen dann auch die Flash-Tools, wie zum Beispielnrfutil
für nRF-Boards, installiert sein.