zephyr-configurator/Entwicklungsleitfaden.md
H4CK3R-01 609ac04433
All checks were successful
Build & Publish / build (push) Successful in 8m7s
Use svg instead of png
2023-08-07 14:18:57 +02:00

3.6 KiB

Entwicklungsleitfaden

Entwicklungsleitfaden
  1. 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 Befehl

    docker build . -t zephyr-configurator
    

    verwendet.

  2. 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 Typ local verwendet, das das Verzeichnis $HOME/zephyrproject nutzt. Zum Erstellen des Volumes wird der Befehl

    docker volume create --driver local --name zephyr --opt type=none --opt device=$HOME/zephyrproject --opt o=uid=root,gid=root --opt o=bind
    

    verwendet.

  3. Docker Container starten
    Im nächsten Schritt wird der Container gestartet. Dafür wird der Befehl

    docker 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.

  4. Zephyr Workspace anlegen
    Sobald der Container gestartet wurde, wird ein Menü angezeigt.
    Hauptmenü
    Im Menü mithilfe der Pfeiltasten Init Zephyr workspace auswählen und mit Enter 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.

  5. 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.

  6. 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ü.
    Funktionsmenü
    Connectivitymenü
    Bei der Auswahl einer Funktionalität wird der Code automatisch oberhalb der main-Funktion in der main.c-Datei eingefügt. Lediglich der Funktionsaufruf muss noch durch den Entwickler an der richtigen Stelle eingefügt werden.

  7. Projekt kompilieren
    Mit der Auswahl des Unterpunktes Build project wird ein Auswahlmenü angezeigt, welcher Mikrocontroller verwendet wird.
    Plattformmenü
    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 der build-Ordner geleert werden. Dann kann das Projekt erfolgreich kompiliert werden.

  8. 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 Beispiel nrfutil für nRF-Boards, installiert sein.