Zephyr Commands

GitHub - ShawnHymel/introduction-to-zephyr
Contribute to ShawnHymel/introduction-to-zephyr development by creating an account on GitHub.
uv venv && uv pip install pyserial esptool
west build -p always -b esp32s3_devkitc/esp32s3/procpu –- -DDTC_OVERLAY_FILE=boards/esp32s3_devkitc.overlay
west build -p always -b esp32s3_devkitc/esp32s3/procpu -t menuconfig
west build -p always -b esp32s3_devkitc/esp32s3/procpu -- -DEXTRA_CONF_FILE=boards/esp32s3_devkitc.conf
diff build/zephyr/.config.old build/zephyr/.config
uv run esptool --port "/dev/tty.usbmodem31101" --chip auto --baud 921600 --before default-reset --after hard-reset write-flash -u --flash-size detect 0x0 ./zephyr/zephyr.bin
uv run pyserial-miniterm "/dev/tty.usbmodem5AF71036361" 115200
YAML Tutorial : A Complete Language Guide with Examples
Learn how to use YAML, one of the most popular data serialization languages that finds its uses almost everywhere where writing configuration is required.

Introduction to devicetree — Zephyr Project Documentation
Devicetree Sources (DTS) Coding Style — The Linux Kernel documentation
Practical Zephyr - Zephyr Basics (Part 1)
A community and blog for embedded software makers
Practical Zephyr - Kconfig (Part 2)
A community and blog for embedded software makers
Practical Zephyr - Devicetree basics (Part 3)
A community and blog for embedded software makers
Practical Zephyr - Devicetree semantics (Part 4)
A community and blog for embedded software makers
Practical Zephyr - Devicetree practice (Part 5)
A community and blog for embedded software makers
Practical Zephyr - West workspaces (Part 6)
A community and blog for embedded software makers

setup Clangd server

west build -b <board_name> <your_app_dir> -- -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
{
    "clangd.arguments": [
        // Look for compile_commands.json in the build directory
        "--compile-commands-dir=${workspaceFolder}/build",
        // Optional: for better error filtering
        "--pretty", 
        "--background-index"
    ]
}
CompileFlags:
    # Remove flags that Clangd might not understand (e.g., Zephyr's arch-specific flags)
    Remove: [-m*, -f*]
    # Add necessary system includes if clangd can't find core Zephyr headers
    # (Replace `build` if your build directory has a different name)
    CompilationDatabase: "build"

Diagnostics:
    # Optional: Suppress specific, non-critical warnings
    Suppress: [drv_unknown_argument]
Zephyr API Documentation: Error numbers