95ffb6cecb
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
29 lines
1.0 KiB
Markdown
29 lines
1.0 KiB
Markdown
# Zum Bauen benötigt:
|
|
|
|
## Toolchain
|
|
- cmake
|
|
- ninja
|
|
- arm-none-eabi-gcc
|
|
- Cross-Platform Compiler
|
|
- auf Void Linux sind das: cross-arm-none-eabi-gcc cross-arm-none-eabi-newlib cross-arm-none-eabi-libstdc++
|
|
- libstdc++ wird gebraucht, weil das SDK intern einen C++-Stub (`new_delete.cpp`) mitkompiliert
|
|
- picotool
|
|
- wird zur Build-Zeit gebraucht (UF2-Erzeugung); fehlt es, fetcht das SDK es selbst → Internet beim ersten Build nötig
|
|
|
|
## SDK-Submodules
|
|
- nach `git clone` der pico-sdk einmalig initialisieren:
|
|
- `git submodule update --init --recursive`
|
|
- ohne `lib/cyw43-driver` schaltet das SDK `pico_cyw43_arch` ab → `pico/cyw43_arch.h not found`
|
|
|
|
## 3 Dateien im Projektordner
|
|
- pico_sdk_import.cmake
|
|
- CMakeLists.txt
|
|
- project.c
|
|
|
|
## Board-Variante definieren und bauen
|
|
- PICO_BOARD=pico2_w
|
|
- PICO_SDK_PATH=/pfad/zur/sdk/pico-sdk
|
|
- cmake -S . -B build -G Ninja -DPICO_BOARD=pico2_w
|
|
- cmake --build build
|
|
- bei Wechsel von `PICO_BOARD` (oder kaputtem Cache): `rm -rf build` vor dem nächsten cmake-Aufruf
|