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).
Requirements
Section titled “Requirements”| 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 |
Install the toolchain
Section titled “Install the toolchain”xcode-select --install # make, clang, gcc — Xcode Command Line Toolsbrew 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 frontendpip install websockets # Python bridge dependencysudo apt install build-essential bear \ gcc-arm-none-eabi binutils-arm-none-eabi stlink-tools
# Dashboard (optional)sudo apt install nodejs npmpip install websocketsVerify the host build
Section titled “Verify the host build”-
Build the library for the host target:
Terminal window make TARGET=host -
Build the library together with all examples:
Terminal window make TARGET=host examples -
Run the HAL test suite (exit code
0means every test passed):Terminal window make TARGET=host test
If all three succeed, your environment is ready. Continue with the Quick start.