Hallo Forum, kurz zur Einordnung: ich flashe Firmware von ZephyrOS auf eine nRF52840_DK (Nordic Semiconductor). Dabei arbeite ich mit der Toolchain, wie im "Getting started" von Zepyhr angegeben: - Windows 10 (cmd.exe) - (Python3) - West - CMake - Ninja - GNU_Arm_Embedded_Toolchain Alles funktioniert auch, heißt die Toolchain (GNU) wird erkannt und mit den Befehlen *"cmake -GNinja -DBOARD=nrf52840_pca10056 -DCONF_FILE="prj.conf overlay-ot.conf" .."* und dem anschließendem Ninja wird die * zephyr.elf * erstellt (siehe 2.PNG). Ein Problem tritt dann auf, wenn ich Code habe, bei dem C++ verwendet wird. Dies wird in einer .conf-Datei durch CPLUSPLUS=y aktiviert (https://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_CPLUSPLUS.html). Wird dies gemacht, wird der *Ninja*-Befehl mit folgendem Fehler abgebrochen (siehe 3.PNG). - Der Befehl .\bootstrap ist falsch geschrieben oder konnte nicht gefunden werden. - No patch step for 'ot'. Wie gesagt, tritt dies nur auf, wenn ich ein "Sample" mit C++-Support CPLUSPLUS=y verwende. Ich habe die gesamte Toolchain für Zephyr schon komplett deinstalliert und alles neu aufgesetzt, mit dem gleichen Ergebnis. Ich kann anhand der Fehlermeldungen keine Fehlerursache ausmachen. Ich habe noch die CMakeError und CMakeOutput angehängt, falls das Hilft. Ich bin Dankbar für jeden Hinweis und Input eurerseits. Vielleicht hat jemand eine Idee. Vielen Dank! Gruß, Sebastian
Re: ZephyrOS / CMake: ".\bootstrap" ist entweder falsch geschrieben oder konnte nicht gefunden werde
Re: ZephyrOS / CMake: ".\bootstrap" ist entweder falsch geschrieben oder konnte nicht gefunden werde
Weihnachtsmann schrieb: > https://superuser.com/questions/1443762/error-while-building-zephyros-firmeware-with-cmake-ninja-and-cplusplus-c Danke für den Hinweis. Leider ist das auch mein eigener (unbeantworteter) Beitrag in einem anderen Forum.
Re: ZephyrOS / CMake: ".\bootstrap" ist entweder falsch geschrieben oder konnte nicht gefunden werde
nur als Idee ... versuch mal die lange Kommandozeile aufzutrennen und einzeln ausführen. z.B. den Teil vor && der sollte evtl im . Verzeichnis bootstrap Skript anlegen die Pfade sind in windows und linux Stil gemischt, evtl auch ein Problem der erste Pfad beginnt mit " ... wo ist die schliessende "?
Re: ZephyrOS / CMake: ".\bootstrap" ist entweder falsch geschrieben oder konnte nicht gefunden werde
Hallo Sebastian. Hast du das Problem bei dir mittlerweile gelöst? Ich stehe nämlich aktuell vor dem gleichen Problem. Ich würde gerne Openthread mit Zephyr ausprobieren, aber es klappt bei mir nicht. Habe genau dieselben Fehler wie du. Gruß Nico
Re: ZephyrOS / CMake: ".\bootstrap" ist entweder falsch geschrieben oder konnte nicht gefunden werde
Hallo Nico, sehr interessant, dass bei dir das gleiche auftritt. Im Endeffekt konnte ich mein Problem lösen und Zephyr läuft jetzt. Was ich gemacht habe: Ich habe versucht Zephyr unter Linux (Ubuntu) zum laufen zu bekommen, doch auch da kam es zu ähnlichen Fehlermeldungen. Dann habe ich mehr oder weniger durch Zufall auch RIOT (hat nämlich auch OpenThread) auf dem gleichen Linux installiert mit allen Dependencies usw. Danach lief komischerweise auch Zephyr. Also scheinbar fehlt einfach was in der Anleitung zur Installation der Toolchain von Zephyr. Was genau das ausschlaggebende war, kann ich dir leider nicht sagen. Aber du kannst ja mal alles nach der Anleitung (https://github.com/RIOT-OS/Tutorials ab "Regular Setup without using a VM") schrittweise installieren und nach jedem Schritt probieren das Zephyr-hex zu erzeugen. Vermutlich ist beim Punkt "Install Native dependencies" der Punkt "For C++ support also install g++-multilib: .." das ausschlaggebende gewesen. Wie das bei Windows ist kann ich leider nicht sagen, da ich mich dann aus Zeitmangel mit der Linux-Lösung zufrieden gegeben habe.. Hoffe das Hilft! Sag Bescheid wenn du was heraus gefunden hast, ich versuche da auch gern weiter zu helfen. PS: Ich hab OpenThread-Netze mit Zephyr auf dem NXP-KW41Z und dem Nordic Semiconductor nRF52840 laufen und beide stürzen nach 2-3 Tagen im Leerlaufbetrieb ab. Also Zephyr, nicht das OT-Netz an sich. MfG Sebastian
Re: ZephyrOS / CMake: ".\bootstrap" ist entweder falsch geschrieben oder konnte nicht gefunden werde
Hallo Sebastian, danke für deine Tipps. Ich hatte mir auch Ubuntu in VirtualBox installiert, aber da lief's auch erst nicht nach der Zephyr-Anleitung. Ich habe es jetzt geschafft. Bei mir hat automake, autoconf und Libtool gefehlt. Jetzt kann ich das socket-Beispiel mit OpenThread erfolgreich erstellen und kompilieren. Ich werde nun im nächsten Schritt untersuchen, ob Zephyr bei mir auch abstürzt (nutze ebenfalls Module mit nRF52840). Ich kann dann hier gerne ein Update dazu geben. Funktioniert RIOT denn besser? Dann könnte ich mir das alternativ auch mal ansehen. Gruß Nico
Re: ZephyrOS / CMake: ".\bootstrap" ist entweder falsch geschrieben oder konnte nicht gefunden werde
Hey Nico, cool dass es bei dir jetzt auch läuft. Wie Zephyr bei dir läuft würde mich sehr interessieren. Ich hatte es jetzt mehrfach laufen und es stürzt interessanterweise jedes mal nach ~36,4h ab (in 3 von 3 Durchläufen). RIOT ist noch schlimmer. Stabil laufen tut nur OpenThread vom Nordic Semiconductor nRF-SDK direkt, oder wenn du nicht an den nRF52840 gebunden bist, dann kann ich noch den Kinetis Thread Stack von NXP in Verbindung mit dem NXP KW41Z empfehlen. Beide sind von Thread "certified components" und laufen bei mir bisher in der Tat sehr sehr gut. MfG
Re: ZephyrOS / CMake: ".\bootstrap" ist entweder falsch geschrieben oder konnte nicht gefunden werde
~36,4h entspricht dem Überlauf eines 16 Bit Zählers der alle 2Sec Zählt. Uhr fehlerhaft konfiguriert oder ein Nachrichten/Event-Zähler (mit ~2sec Interval). Alternativ kann natürlich auch durch den Speicher gezählt werden ein paar Byte die bei jeder Nachricht/jedem Event auf dem Heap/Stack verbleiben (memoryleak durch Speicher Fragmentierung)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.