1*61c4878aSAndroid Build Coastguard Worker.. _docs-quickstart-zephyr: 2*61c4878aSAndroid Build Coastguard Worker 3*61c4878aSAndroid Build Coastguard Worker================= 4*61c4878aSAndroid Build Coastguard WorkerZephyr quickstart 5*61c4878aSAndroid Build Coastguard Worker================= 6*61c4878aSAndroid Build Coastguard Worker.. _Zephyr: https://zephyrproject.org/ 7*61c4878aSAndroid Build Coastguard Worker.. _native_sim: https://docs.zephyrproject.org/latest/boards/native/native_sim/doc/index.html 8*61c4878aSAndroid Build Coastguard Worker.. _GPIO Driver API: https://docs.zephyrproject.org/latest/doxygen/html/group__devicetree-gpio.html 9*61c4878aSAndroid Build Coastguard Worker 10*61c4878aSAndroid Build Coastguard WorkerThis tutorial shows you how to set up a new C++-based `Zephyr`_ project that's 11*61c4878aSAndroid Build Coastguard Workerready to use Pigweed. You'll learn how to build and run the project's app on 12*61c4878aSAndroid Build Coastguard Worker`native_sim`_ as well as a physical Raspberry Pi Pico. The app uses 13*61c4878aSAndroid Build Coastguard Worker:ref:`module-pw_log` and :ref:`module-pw_string` to log messages and 14*61c4878aSAndroid Build Coastguard WorkerZephyr's `GPIO Driver API`_ to blink an LED. 15*61c4878aSAndroid Build Coastguard Worker 16*61c4878aSAndroid Build Coastguard Worker.. figure:: https://storage.googleapis.com/pigweed-media/zephyr-quickstart-pw_ide.png 17*61c4878aSAndroid Build Coastguard Worker :alt: Editing the Zephyr quickstart project in VS Code 18*61c4878aSAndroid Build Coastguard Worker 19*61c4878aSAndroid Build Coastguard Worker The project's :ref:`module-pw_ide` integration provides code intelligence 20*61c4878aSAndroid Build Coastguard Worker and easy target swapping in VS Code 21*61c4878aSAndroid Build Coastguard Worker 22*61c4878aSAndroid Build Coastguard Worker.. _docs-quickstart-zephyr-prereqs: 23*61c4878aSAndroid Build Coastguard Worker 24*61c4878aSAndroid Build Coastguard Worker------------- 25*61c4878aSAndroid Build Coastguard WorkerPrerequisites 26*61c4878aSAndroid Build Coastguard Worker------------- 27*61c4878aSAndroid Build Coastguard Worker* **Disk space**: After setting everything up, the project takes ~19GB of space. 28*61c4878aSAndroid Build Coastguard Worker The project clones the Zephyr and Pigweed repos as well as their dependencies. 29*61c4878aSAndroid Build Coastguard Worker It also downloads toolchains and sets up a hermetic development environment. 30*61c4878aSAndroid Build Coastguard Worker* **Operating systems**: This tutorial has only been validated on Debian-based 31*61c4878aSAndroid Build Coastguard Worker Linux and macOS. Windows support is a work in progress. 32*61c4878aSAndroid Build Coastguard Worker 33*61c4878aSAndroid Build Coastguard Worker.. _docs-quickstart-zephyr-setup: 34*61c4878aSAndroid Build Coastguard Worker 35*61c4878aSAndroid Build Coastguard Worker----- 36*61c4878aSAndroid Build Coastguard WorkerSetup 37*61c4878aSAndroid Build Coastguard Worker----- 38*61c4878aSAndroid Build Coastguard Worker#. Complete Pigweed's :ref:`First-time setup <docs-first-time-setup-guide>` 39*61c4878aSAndroid Build Coastguard Worker process. 40*61c4878aSAndroid Build Coastguard Worker 41*61c4878aSAndroid Build Coastguard Worker#. Clone the starter repo. 42*61c4878aSAndroid Build Coastguard Worker 43*61c4878aSAndroid Build Coastguard Worker .. tab-set:: 44*61c4878aSAndroid Build Coastguard Worker 45*61c4878aSAndroid Build Coastguard Worker .. tab-item:: Linux 46*61c4878aSAndroid Build Coastguard Worker :sync: lin 47*61c4878aSAndroid Build Coastguard Worker 48*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 49*61c4878aSAndroid Build Coastguard Worker 50*61c4878aSAndroid Build Coastguard Worker git clone --recursive \ 51*61c4878aSAndroid Build Coastguard Worker https://pigweed.googlesource.com/pigweed/quickstart/zephyr \ 52*61c4878aSAndroid Build Coastguard Worker zephyr-quickstart 53*61c4878aSAndroid Build Coastguard Worker 54*61c4878aSAndroid Build Coastguard Worker .. tab-item:: macOS 55*61c4878aSAndroid Build Coastguard Worker :sync: mac 56*61c4878aSAndroid Build Coastguard Worker 57*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 58*61c4878aSAndroid Build Coastguard Worker 59*61c4878aSAndroid Build Coastguard Worker git clone --recursive \ 60*61c4878aSAndroid Build Coastguard Worker https://pigweed.googlesource.com/pigweed/quickstart/zephyr \ 61*61c4878aSAndroid Build Coastguard Worker zephyr-quickstart 62*61c4878aSAndroid Build Coastguard Worker 63*61c4878aSAndroid Build Coastguard Worker .. _main Pigweed: https://pigweed.googlesource.com/pigweed/pigweed/ 64*61c4878aSAndroid Build Coastguard Worker .. _main Zephyr: https://github.com/zephyrproject-rtos/zephyr 65*61c4878aSAndroid Build Coastguard Worker 66*61c4878aSAndroid Build Coastguard Worker This command downloads the `main Pigweed`_ and `main Zephyr`_ repos 67*61c4878aSAndroid Build Coastguard Worker as Git submodules. 68*61c4878aSAndroid Build Coastguard Worker 69*61c4878aSAndroid Build Coastguard Worker#. Change your working directory to the quickstart repo. 70*61c4878aSAndroid Build Coastguard Worker 71*61c4878aSAndroid Build Coastguard Worker .. tab-set:: 72*61c4878aSAndroid Build Coastguard Worker 73*61c4878aSAndroid Build Coastguard Worker .. tab-item:: Linux 74*61c4878aSAndroid Build Coastguard Worker :sync: lin 75*61c4878aSAndroid Build Coastguard Worker 76*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 77*61c4878aSAndroid Build Coastguard Worker 78*61c4878aSAndroid Build Coastguard Worker cd zephyr-quickstart 79*61c4878aSAndroid Build Coastguard Worker 80*61c4878aSAndroid Build Coastguard Worker .. tab-item:: macOS 81*61c4878aSAndroid Build Coastguard Worker :sync: mac 82*61c4878aSAndroid Build Coastguard Worker 83*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 84*61c4878aSAndroid Build Coastguard Worker 85*61c4878aSAndroid Build Coastguard Worker cd zephyr-quickstart 86*61c4878aSAndroid Build Coastguard Worker 87*61c4878aSAndroid Build Coastguard Worker#. Bootstrap the repo. 88*61c4878aSAndroid Build Coastguard Worker 89*61c4878aSAndroid Build Coastguard Worker .. tab-set:: 90*61c4878aSAndroid Build Coastguard Worker 91*61c4878aSAndroid Build Coastguard Worker .. tab-item:: Linux 92*61c4878aSAndroid Build Coastguard Worker :sync: lin 93*61c4878aSAndroid Build Coastguard Worker 94*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 95*61c4878aSAndroid Build Coastguard Worker 96*61c4878aSAndroid Build Coastguard Worker source bootstrap.sh 97*61c4878aSAndroid Build Coastguard Worker 98*61c4878aSAndroid Build Coastguard Worker .. tab-item:: macOS 99*61c4878aSAndroid Build Coastguard Worker :sync: mac 100*61c4878aSAndroid Build Coastguard Worker 101*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 102*61c4878aSAndroid Build Coastguard Worker 103*61c4878aSAndroid Build Coastguard Worker source bootstrap.sh 104*61c4878aSAndroid Build Coastguard Worker 105*61c4878aSAndroid Build Coastguard Worker Pigweed's bootstrap workflow creates a hermetic development environment 106*61c4878aSAndroid Build Coastguard Worker for you, including toolchain setup! 107*61c4878aSAndroid Build Coastguard Worker 108*61c4878aSAndroid Build Coastguard Worker .. tip:: 109*61c4878aSAndroid Build Coastguard Worker 110*61c4878aSAndroid Build Coastguard Worker For subsequent development sessions, activate your development environment 111*61c4878aSAndroid Build Coastguard Worker with the following command: 112*61c4878aSAndroid Build Coastguard Worker 113*61c4878aSAndroid Build Coastguard Worker .. tab-set:: 114*61c4878aSAndroid Build Coastguard Worker 115*61c4878aSAndroid Build Coastguard Worker .. tab-item:: Linux 116*61c4878aSAndroid Build Coastguard Worker :sync: lin 117*61c4878aSAndroid Build Coastguard Worker 118*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 119*61c4878aSAndroid Build Coastguard Worker 120*61c4878aSAndroid Build Coastguard Worker source activate.sh 121*61c4878aSAndroid Build Coastguard Worker 122*61c4878aSAndroid Build Coastguard Worker .. tab-item:: macOS 123*61c4878aSAndroid Build Coastguard Worker :sync: mac 124*61c4878aSAndroid Build Coastguard Worker 125*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 126*61c4878aSAndroid Build Coastguard Worker 127*61c4878aSAndroid Build Coastguard Worker source activate.sh 128*61c4878aSAndroid Build Coastguard Worker 129*61c4878aSAndroid Build Coastguard Worker The activate script is faster than the bootstrap script. You only need to 130*61c4878aSAndroid Build Coastguard Worker run the bootstrap script after updating your Zephyr or Pigweed submodules. 131*61c4878aSAndroid Build Coastguard Worker 132*61c4878aSAndroid Build Coastguard Worker .. _West: https://docs.zephyrproject.org/latest/develop/west/index.html 133*61c4878aSAndroid Build Coastguard Worker 134*61c4878aSAndroid Build Coastguard Worker#. Initialize your `West`_ workspace using the manifest that came with the 135*61c4878aSAndroid Build Coastguard Worker starter repo. 136*61c4878aSAndroid Build Coastguard Worker 137*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 138*61c4878aSAndroid Build Coastguard Worker 139*61c4878aSAndroid Build Coastguard Worker west init -l manifest 140*61c4878aSAndroid Build Coastguard Worker 141*61c4878aSAndroid Build Coastguard Worker#. Update your West workspace. 142*61c4878aSAndroid Build Coastguard Worker 143*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 144*61c4878aSAndroid Build Coastguard Worker 145*61c4878aSAndroid Build Coastguard Worker west update 146*61c4878aSAndroid Build Coastguard Worker 147*61c4878aSAndroid Build Coastguard Worker#. (Optional) Initialize :ref:`module-pw_ide` if you plan on working in 148*61c4878aSAndroid Build Coastguard Worker VS Code. ``pw_ide`` provides code intelligence features and makes it 149*61c4878aSAndroid Build Coastguard Worker easy to swap targets. 150*61c4878aSAndroid Build Coastguard Worker 151*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 152*61c4878aSAndroid Build Coastguard Worker 153*61c4878aSAndroid Build Coastguard Worker pw ide sync 154*61c4878aSAndroid Build Coastguard Worker 155*61c4878aSAndroid Build Coastguard Worker.. _docs-quickstart-zephyr-build: 156*61c4878aSAndroid Build Coastguard Worker 157*61c4878aSAndroid Build Coastguard Worker--------------------- 158*61c4878aSAndroid Build Coastguard WorkerBuild and run the app 159*61c4878aSAndroid Build Coastguard Worker--------------------- 160*61c4878aSAndroid Build Coastguard Worker 161*61c4878aSAndroid Build Coastguard Worker.. _docs-quickstart-zephyr-build-native_sim: 162*61c4878aSAndroid Build Coastguard Worker 163*61c4878aSAndroid Build Coastguard WorkerNative simulator 164*61c4878aSAndroid Build Coastguard Worker================ 165*61c4878aSAndroid Build Coastguard Worker#. Build the quickstart app for `native_sim`_ and run it: 166*61c4878aSAndroid Build Coastguard Worker 167*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 168*61c4878aSAndroid Build Coastguard Worker 169*61c4878aSAndroid Build Coastguard Worker export ZEPHYR_TOOLCHAIN_VARIANT=llvm && 170*61c4878aSAndroid Build Coastguard Worker west build -p -b native_sim app -t run 171*61c4878aSAndroid Build Coastguard Worker 172*61c4878aSAndroid Build Coastguard Worker You should see the app successfully build and then log messages to 173*61c4878aSAndroid Build Coastguard Worker ``stdout``: 174*61c4878aSAndroid Build Coastguard Worker 175*61c4878aSAndroid Build Coastguard Worker .. code-block:: none 176*61c4878aSAndroid Build Coastguard Worker 177*61c4878aSAndroid Build Coastguard Worker [00:00:00.000,000] <inf> pigweed: Hello, world! 178*61c4878aSAndroid Build Coastguard Worker [00:00:00.000,000] <inf> pigweed: LED state: OFF 179*61c4878aSAndroid Build Coastguard Worker [00:00:01.010,000] <inf> pigweed: LED state: ON 180*61c4878aSAndroid Build Coastguard Worker [00:00:02.020,000] <inf> pigweed: LED state: OFF 181*61c4878aSAndroid Build Coastguard Worker [00:00:03.030,000] <inf> pigweed: LED state: ON 182*61c4878aSAndroid Build Coastguard Worker [00:00:04.040,000] <inf> pigweed: LED state: OFF 183*61c4878aSAndroid Build Coastguard Worker 184*61c4878aSAndroid Build Coastguard Worker .. important:: 185*61c4878aSAndroid Build Coastguard Worker 186*61c4878aSAndroid Build Coastguard Worker When building for ``native_sim`` make sure that 187*61c4878aSAndroid Build Coastguard Worker ``ZEPHYR_TOOLCHAIN_VARIANT`` is set to ``llvm``. 188*61c4878aSAndroid Build Coastguard Worker See :ref:`docs-quickstart-zephyr-troubleshooting-envvar`. 189*61c4878aSAndroid Build Coastguard Worker 190*61c4878aSAndroid Build Coastguard Worker#. (Optional) Build and run an upstream Zephyr sample app: 191*61c4878aSAndroid Build Coastguard Worker 192*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 193*61c4878aSAndroid Build Coastguard Worker 194*61c4878aSAndroid Build Coastguard Worker west build -p -b native_sim third_party/zephyr/samples/basic/blinky -t run 195*61c4878aSAndroid Build Coastguard Worker 196*61c4878aSAndroid Build Coastguard Worker.. _docs-quickstart-zephyr-build-pico: 197*61c4878aSAndroid Build Coastguard Worker 198*61c4878aSAndroid Build Coastguard WorkerRaspberry Pi Pico 199*61c4878aSAndroid Build Coastguard Worker================= 200*61c4878aSAndroid Build Coastguard Worker.. _Raspberry Pi Pico: https://docs.zephyrproject.org/latest/boards/raspberrypi/rpi_pico/doc/index.html 201*61c4878aSAndroid Build Coastguard Worker.. _Pico SDK: https://github.com/raspberrypi/pico-sdk 202*61c4878aSAndroid Build Coastguard Worker.. _picotool: https://github.com/raspberrypi/picotool 203*61c4878aSAndroid Build Coastguard Worker 204*61c4878aSAndroid Build Coastguard Worker#. Build the quickstart app for `Raspberry Pi Pico`_: 205*61c4878aSAndroid Build Coastguard Worker 206*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 207*61c4878aSAndroid Build Coastguard Worker 208*61c4878aSAndroid Build Coastguard Worker export ZEPHYR_TOOLCHAIN_VARIANT=zephyr && 209*61c4878aSAndroid Build Coastguard Worker west build -p -b rpi_pico app 210*61c4878aSAndroid Build Coastguard Worker 211*61c4878aSAndroid Build Coastguard Worker .. important:: 212*61c4878aSAndroid Build Coastguard Worker 213*61c4878aSAndroid Build Coastguard Worker When building for physical boards make sure that 214*61c4878aSAndroid Build Coastguard Worker ``ZEPHYR_TOOLCHAIN_VARIANT`` is set to ``zephyr``. 215*61c4878aSAndroid Build Coastguard Worker See :ref:`docs-quickstart-zephyr-troubleshooting-envvar`. 216*61c4878aSAndroid Build Coastguard Worker 217*61c4878aSAndroid Build Coastguard Worker#. Install the `Pico SDK`_ and `picotool`_ so that you can easily 218*61c4878aSAndroid Build Coastguard Worker flash the quickstart app onto your Pico over USB without needing to 219*61c4878aSAndroid Build Coastguard Worker manually put your Pico board into ``BOOTSEL`` mode: 220*61c4878aSAndroid Build Coastguard Worker 221*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 222*61c4878aSAndroid Build Coastguard Worker 223*61c4878aSAndroid Build Coastguard Worker pw package install pico_sdk 224*61c4878aSAndroid Build Coastguard Worker pw package install picotool 225*61c4878aSAndroid Build Coastguard Worker 226*61c4878aSAndroid Build Coastguard Worker#. Add the following rules to ``/etc/udev/rules.d/49-pico.rules`` or 227*61c4878aSAndroid Build Coastguard Worker ``/usr/lib/udev/rules.d/49-pico.rules``. Create the file if it doesn't exist. 228*61c4878aSAndroid Build Coastguard Worker 229*61c4878aSAndroid Build Coastguard Worker .. literalinclude:: /targets/rp2040/49-pico.rules 230*61c4878aSAndroid Build Coastguard Worker :language: linuxconfig 231*61c4878aSAndroid Build Coastguard Worker :start-at: # Raspberry 232*61c4878aSAndroid Build Coastguard Worker 233*61c4878aSAndroid Build Coastguard Worker#. Apply the rules: 234*61c4878aSAndroid Build Coastguard Worker 235*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 236*61c4878aSAndroid Build Coastguard Worker 237*61c4878aSAndroid Build Coastguard Worker sudo udevadm control --reload-rules 238*61c4878aSAndroid Build Coastguard Worker sudo udevadm trigger 239*61c4878aSAndroid Build Coastguard Worker 240*61c4878aSAndroid Build Coastguard Worker#. Flash the app onto your board: 241*61c4878aSAndroid Build Coastguard Worker 242*61c4878aSAndroid Build Coastguard Worker .. code-block:: console 243*61c4878aSAndroid Build Coastguard Worker 244*61c4878aSAndroid Build Coastguard Worker picotool reboot -f -u && 245*61c4878aSAndroid Build Coastguard Worker sleep 3 && 246*61c4878aSAndroid Build Coastguard Worker picotool load -x ./build/zephyr/zephyr.elf 247*61c4878aSAndroid Build Coastguard Worker 248*61c4878aSAndroid Build Coastguard Worker.. _docs-quickstart-zephyr-troubleshooting: 249*61c4878aSAndroid Build Coastguard Worker 250*61c4878aSAndroid Build Coastguard Worker--------------- 251*61c4878aSAndroid Build Coastguard WorkerTroubleshooting 252*61c4878aSAndroid Build Coastguard Worker--------------- 253*61c4878aSAndroid Build Coastguard Worker 254*61c4878aSAndroid Build Coastguard Worker.. _docs-quickstart-zephyr-troubleshooting-envvar: 255*61c4878aSAndroid Build Coastguard Worker 256*61c4878aSAndroid Build Coastguard Worker``fatal error: bits/c++config.h: No such file or directory`` 257*61c4878aSAndroid Build Coastguard Worker============================================================ 258*61c4878aSAndroid Build Coastguard WorkerIf you see a compilation error about not being able to find 259*61c4878aSAndroid Build Coastguard Worker``<bits/c++config.h>``, make sure that your ``ZEPHYR_TOOLCHAIN_VARIANT`` 260*61c4878aSAndroid Build Coastguard Workerenvironment variable is correctly set: 261*61c4878aSAndroid Build Coastguard Worker 262*61c4878aSAndroid Build Coastguard Worker* Set it to ``llvm`` when building for ``native_sim``. 263*61c4878aSAndroid Build Coastguard Worker* Set it to ``zephyr`` when building for physical boards. 264*61c4878aSAndroid Build Coastguard Worker 265*61c4878aSAndroid Build Coastguard WorkerHere's an example of the error: 266*61c4878aSAndroid Build Coastguard Worker 267*61c4878aSAndroid Build Coastguard Worker.. code-block:: console 268*61c4878aSAndroid Build Coastguard Worker 269*61c4878aSAndroid Build Coastguard Worker ... 270*61c4878aSAndroid Build Coastguard Worker [2/109] Generating include/generated/version.h 271*61c4878aSAndroid Build Coastguard Worker -- Zephyr version: 3.6.99 (~/zephyr-quickstart/third_party/zephyr), build: v3.6.0-1976-g8a88cd4805b0 272*61c4878aSAndroid Build Coastguard Worker [10/109] Building CXX object modules/pigweed/pw_string/CMakeFiles/pw_string.to_string.dir/type_to_string.cc.obj 273*61c4878aSAndroid Build Coastguard Worker FAILED: modules/pigweed/pw_string/CMakeFiles/pw_string.to_string.dir/type_to_string.cc.obj 274*61c4878aSAndroid Build Coastguard Worker ccache /usr/bin/g++ 275*61c4878aSAndroid Build Coastguard Worker ... 276*61c4878aSAndroid Build Coastguard Worker -c ~/zephyr-quickstart/third_party/pigweed/pw_string/type_to_string.cc 277*61c4878aSAndroid Build Coastguard Worker In file included from ~/zephyr-quickstart/third_party/pigweed/pw_string/public/pw_string/type_to_string.h:20, 278*61c4878aSAndroid Build Coastguard Worker from ~/zephyr-quickstart/third_party/pigweed/pw_string/type_to_string.cc:15: 279*61c4878aSAndroid Build Coastguard Worker /usr/include/c++/13/cstdint:38:10: fatal error: bits/c++config.h: No such file or directory 280*61c4878aSAndroid Build Coastguard Worker 38 | #include <bits/c++config.h> 281*61c4878aSAndroid Build Coastguard Worker | ^~~~~~~~~~~~~~~~~~ 282*61c4878aSAndroid Build Coastguard Worker compilation terminated. 283*61c4878aSAndroid Build Coastguard Worker ... 284*61c4878aSAndroid Build Coastguard Worker [12/109] Building CXX object modules/pigweed/pw_string/CMakeFiles/pw_string.builder.dir/string_builder.cc.obj 285*61c4878aSAndroid Build Coastguard Worker FAILED: modules/pigweed/pw_string/CMakeFiles/pw_string.builder.dir/string_builder.cc.obj 286*61c4878aSAndroid Build Coastguard Worker ccache /usr/bin/g++ 287*61c4878aSAndroid Build Coastguard Worker ... 288*61c4878aSAndroid Build Coastguard Worker -c ~/zephyr-quickstart/third_party/pigweed/pw_string/string_builder.cc 289*61c4878aSAndroid Build Coastguard Worker In file included from /usr/include/c++/13/algorithm:60, 290*61c4878aSAndroid Build Coastguard Worker from ~/zephyr-quickstart/third_party/pigweed/pw_string/public/pw_string/string_builder.h:21, 291*61c4878aSAndroid Build Coastguard Worker from ~/zephyr-quickstart/third_party/pigweed/pw_string/string_builder.cc:15: 292*61c4878aSAndroid Build Coastguard Worker /usr/include/c++/13/bits/stl_algobase.h:59:10: fatal error: bits/c++config.h: No such file or directory 293*61c4878aSAndroid Build Coastguard Worker 59 | #include <bits/c++config.h> 294*61c4878aSAndroid Build Coastguard Worker | ^~~~~~~~~~~~~~~~~~ 295*61c4878aSAndroid Build Coastguard Worker compilation terminated. 296*61c4878aSAndroid Build Coastguard Worker [15/109] Building C object zephyr/CMakeFiles/offsets.dir/arch/posix/core/offsets/offsets.c.obj 297*61c4878aSAndroid Build Coastguard Worker ninja: build stopped: subcommand failed. 298*61c4878aSAndroid Build Coastguard Worker FATAL ERROR: command exited with status 1: ~/zephyr-quickstart/environment/cipd/packages/cmake/bin/cmake 299*61c4878aSAndroid Build Coastguard Worker --build ~/zephyr-quickstart/build --target run 300