Skip to content

Installation

Lapilli’s primary target is your development PC. To build the library and run the examples on the host you only need a C11 compiler and make — everything else is optional and tied to a specific feature (cross-compilation, the dashboard, the test suites).

| Tool | Minimum | Required for | |---|---|---| | gcc / clang + make | any C11, GNU Make 3.81+ | host build | | bear | 3.x | IntelliSense (compile_commands.json) | | arm-none-eabi-gcc | 10+ | STM32 cross-build | | st-flash | 1.7+ | flashing Nucleo hardware | | node / npm | Node 18+ | dashboard frontend + E2E tests | | python3 | 3.10+ | dashboard bridge + launcher | | websockets (Python) | 12.0+ | dashboard bridge | | pytest + pytest-asyncio | pytest 8+, asyncio 1+ | bridge integration tests |

Terminal window
xcode-select --install # make, clang, gcc — Xcode Command Line Tools
brew install bear # compile_commands.json for IntelliSense
# Cross-compilation (optional)
brew install arm-none-eabi-gcc # ARM GCC toolchain (objcopy, ar, ld)
brew install stlink # st-flash for flashing a Nucleo board
# Dashboard (optional)
brew install node # Node.js + npm for the Svelte frontend
pip install websockets # Python bridge dependency
  1. Build the library for the host target:

    Terminal window
    make TARGET=host
  2. Build the library together with all examples:

    Terminal window
    make TARGET=host examples
  3. Run the HAL test suite (exit code 0 means every test passed):

    Terminal window
    make TARGET=host test

If all three succeed, your environment is ready. Continue with the Quick start.