К основному содержанию
скилл CX Codex

zephyr — скилл для Claude Code: что делает и как установить

Помогает вести разработку встроенных систем на Zephyr RTOS. Подсказывает структуру проектов, работу с утилитой west, синтаксис devicetree и сборку под симулятор native_sim.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add mohitmishra786/low-level-dev-skills --skill zephyr -a claude-code
Открыть на GitHub

Что делает zephyr

Скилл передаёт агенту правила сборки и настройки приложений для Zephyr RTOS. Он охватывает работу с консольной утилитой west, базовую структуру проекта с CMakeLists.txt и prj.conf, добавление оверлеев devicetree в app.overlay, а также управление уровнями логирования. В справочник включены типовые конфигурации для плат nRF52840 DK, STM32 Nucleo, ESP32, Raspberry Pi Pico и QEMU.

Для проверки прошивки без микроконтроллера скилл предлагает компиляцию под таргет native_sim. Приложение собирается как бинарный файл Linux, запускается прямо на ПК и связывается с GDB. Без установленного Zephyr SDK и заданных переменных ZEPHYR_BASE и ZEPHYR_SDK_INSTALL_DIR компиляция завершится ошибкой поиска тулчейна. Для реального оборудования описан порядок прошивки через west flash и отладка потоков ядра с помощью OpenOCD.

Какие задачи решает

  • сконфигурировать узлы оборудования через оверлеи devicetree
  • протестировать код на рабочей станции через симулятор native_sim
  • настроить вывод сообщений и бэкенды логирования в prj.conf
  • подключить отладку потоков RTOS через west debug

Примеры запросов агенту

  • Покажи, как включить вывод логов через UART в файле prj.conf.
  • Напиши оверлей devicetree для светодиода в app.overlay.
  • Как скомпилировать приложение под эмулятор native_sim и запустить его на компьютере?

Как установить zephyr

1Через Skills CLI (Vercel)

npx skills add mohitmishra786/low-level-dev-skills --skill zephyr -a claude-code

2Вручную: положить файлы

~/.claude/skills/zephyr/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/zephyr/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о zephyr

Как установить zephyr в Claude Code?

Выполните команду npx skills add mohitmishra786/low-level-dev-skills --skill zephyr -a claude-code в терминале.

Что делает скилл zephyr?

Он предоставляет агенту инструкции по разработке на Zephyr RTOS: параметры сборки west, работу с Kconfig, оверлеи devicetree и отладку через GDB.

Что нужно подготовить в системе перед сборкой?

Необходимо установить утилиту west, зависимости Python и пакет Zephyr SDK, указав пути к ним через переменные окружения ZEPHYR_BASE и ZEPHYR_SDK_INSTALL_DIR.

Исходный текст

SKILL.md · MIT
---
name: zephyr
description: Zephyr RTOS skill for embedded development. Use when building Zephyr applications with west, configuring boards and targets, working with Kconfig and devicetree, using the Zephyr shell and logging subsystem, or running on the native_sim target. Activates on queries about Zephyr, west build, Kconfig, devicetree, Zephyr logging, west flash, board targets, or native POSIX simulation.
---

# Zephyr RTOS

## Purpose

Guide agents through Zephyr application development: west build workflow, board configuration, Kconfig and devicetree, Zephyr shell and logging, native_sim target for host testing, and debugging with GDB.

## Triggers

- "How do I build a Zephyr application with west?"
- "How do I configure Zephyr with Kconfig?"
- "How do I use devicetree overlays in Zephyr?"
- "How do I add logging to my Zephyr application?"
- "How do I run Zephyr on my host machine for testing?"
- "How do I debug a Zephyr application?"

## Workflow

### 1. Workspace setup and first build

```bash
# Install west
pip install west

# Initialize workspace from Zephyr manifest
west init ~/zephyrproject
cd ~/zephyrproject
west update                          # fetches Zephyr + all modules

# Install Python dependencies
pip install -r ~/zephyrproject/zephyr/scripts/requirements.txt

# Install Zephyr SDK (toolchains for all targets)
# Download from: https://github.com/zephyrproject-rtos/sdk-ng/releases
export ZEPHYR_SDK_INSTALL_DIR=~/zephyr-sdk-0.17.0
export ZEPHYR_BASE=~/zephyrproject/zephyr

# Build hello_world for a target board
west build -b nrf52840dk/nrf52840 samples/hello_world

# Flash to hardware
west flash

# Open serial monitor
west espressif monitor  # or: screen /dev/ttyACM0 115200
```

Common board targets:

| Board | Target name |
|-------|------------|
| nRF52840 DK | `nrf52840dk/nrf52840` |
| STM32 Nucleo-F446RE | `nucleo_f446re` |
| Raspberry Pi Pico | `rpi_pico/rp2040` |
| ESP32 | `esp32_devkitc_wroom/esp32/procpu` |
| QEMU Cortex-M3 | `qemu_cortex_m3` |
| Native POSIX | `native_sim` |

### 2. Application structure

```
my_app/
├── CMakeLists.txt
├── prj.conf              # Kconfig fragment
├── app.overlay           # devicetree overlay (optional)
└── src/
    └── main.c
```

```cmake
# CMakeLists.txt
cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(my_app)
target_sources(app PRIVATE src/main.c)
```

### 3. Kconfig — feature configuration

```
# prj.conf — Kconfig fragment (key=value)
CONFIG_GPIO=y
CONFIG_UART_CONSOLE=y
CONFIG_LOG=y
CONFIG_LOG_DEFAULT_LEVEL=3     # 0=off 1=err 2=warn 3=info 4=debug
CONFIG_PRINTK=y
CONFIG_HEAP_MEM_POOL_SIZE=4096
CONFIG_MAIN_STACK_SIZE=2048
```

```bash
# Interactive Kconfig menu
west build -t menuconfig

# Search for a config option
west build -t guiconfig

# Show all enabled options
west build -t config -- -n | grep "^CONFIG_"
```

### 4. Devicetree overlays

```dts
/* app.overlay — board-specific hardware additions */
/ {
    leds {
        compatible = "gpio-leds";
        my_led: led_0 {
            gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
            label = "My LED";
        };
    };
};

/* Override a node property */
&uart0 {
    current-speed = <115200>;
};

/* Disable an existing node */
&spi1 {
    status = "disabled";
};
```

```c
// Access devicetree nodes in C
#include <zephyr/devicetree.h>
#include <zephyr/drivers/gpio.h>

#define LED_NODE DT_ALIAS(led0)
static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(LED_NODE, gpios);

// Initialize and toggle
gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE);
gpio_pin_toggle_dt(&led);
```

### 5. Logging subsystem

```c
#include <zephyr/logging/log.h>

LOG_MODULE_REGISTER(my_module, LOG_LEVEL_DBG);

void my_function(void) {
    LOG_INF("Sensor value: %d", 42);
    LOG_WRN("Low battery: %d%%", battery_pct);
    LOG_ERR("SPI transfer failed: %d", ret);
    LOG_DBG("Debug detail: ptr=%p", ptr);
    LOG_HEXDUMP_DBG(buf, len, "raw buffer");
}
```

Backend configuration in `prj.conf`:

```
CONFIG_LOG=y
CONFIG_LOG_BACKEND_UART=y        # UART output
CONFIG_LOG_BACKEND_RTT=y         # Segger RTT output
CONFIG_LOG_TIMESTAMP_DEFAULT=y   # add timestamps
CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=512
```

### 6. native_sim — host testing

```bash
# Build for host (no hardware needed)
west build -b native_sim samples/hello_world

# Run directly on host
./build/zephyr/zephyr.exe

# Run with GDB
gdb ./build/zephyr/zephyr.exe
(gdb) run

# Simulated UART appears on a PTY
./build/zephyr/zephyr.exe &
screen $(ls /tmp/zephyr-uart-*)

# native_sim extras
./build/zephyr/zephyr.exe --help
./build/zephyr/zephyr.exe --stop-at=5  # stop after 5 simulated seconds
```

`native_sim` runs Zephyr as a Linux process. Supports most Zephyr APIs, ideal for unit testing and CI.

### 7. Debugging on hardware

```bash
# West debug (launches OpenOCD + GDB automatically)
west debug

# Or manually with OpenOCD
west build -t run &
arm-zephyr-eabi-gdb build/zephyr/zephyr.elf
(gdb) target remote :3333
(gdb) monitor reset halt
(gdb) load
(gdb) continue

# Zephyr's thread-aware GDB (via OpenOCD RTOS plugin)
(gdb) info threads     # lists Zephyr threads
(gdb) thread 2         # switch to thread
```

For west manifest details, see [references/west-manifest.md](references/west-manifest.md).

## Related skills

- Use `skills/embedded/openocd-jtag` for hardware debugging details
- Use `skills/embedded/freertos` for FreeRTOS as an alternative RTOS
- Use `skills/embedded/linker-scripts` for memory region configuration
- Use `skills/debuggers/gdb` for GDB session management

© mohitmishra786 · MIT · mohitmishra786/low-level-dev-skills

Похожие скиллы

Все скиллы по теме «Тесты и QA» →
improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. 1 163 035установок design-taste-frontend Leonxlnx Скилл задаёт арт-дирекцию для публичных страниц и рабочих экранов, а затем проверяет результат в браузере по скриншотам. Нужен, когда интерфейс выглядит шаблонным или недоработанным. CX Codex +1 678 700установок tdd Matt Pocock Скилл управляет циклом красный-зелёный в TDD: проверяет, что тесты пишутся до кода, держит их на уровне публичных интерфейсов и не завязывает на внутреннюю структуру. 1 141 062установок skill-creator официальный anthropics Помогает создать новый скилл, доработать существующий и проверить результат через тестовые промпты и оценки. 414 180установок agent-browser vercel-labs Скилл управляет браузером через CLI: открывает страницы, заполняет формы, нажимает кнопки и проверяет веб-приложения. Подходит для задач, где агенту нужно действовать в интерфейсе. CX Codex +1 1 200 000установок prototype Matt Pocock Создаёт временный прототип, чтобы проверить логику, модель состояния или вид интерфейса до работы над основным кодом. 986 201установок

Из того же набора79

zig-cinterop Скилл объясняет агенту, как связать Zig и C: @cImport, translate-c, extern struct, экспорт функций и сборка смешанных проектов. CX Codex +1 482установок include-what-you-use Скилл ведёт агента через IWYU: разбирает отчёты, применяет mapping-файлы и убирает лишние #include, из-за которых сборка C++ расползается. CX Codex +1 480установок rust-no-std Скилл для разработки на Rust без стандартной библиотеки: разбирает границу core, alloc и std, глобальные аллокаторы и обработчики паник. CX Codex +1 474установок dwarf-debug-format Скилл объясняет агенту, как читать отладочную информацию DWARF: секции ELF, split DWARF, debuginfod, влияние LTO и stripping. CX Codex +1 471установок intel-vtune-amd-uprof Скилл для профилирования процессора: помогает найти горячие функции, разобрать промахи кэша и заторы конвейера через Intel VTune и AMD uProf. CX Codex +1 469установок rust-async-internals Помогает агенту объяснять и отлаживать async Rust: модель poll, Pin и Unpin, планировщик tokio, утечки waker. Пригодится, когда задача виснет или тормозит. CX Codex +1 467установок zig-compiler Ведёт агента по вызову компилятора Zig: режимы оптимизации, типы сборки, zig cc вместо C-компилятора и разбор сообщений об ошибках. CX Codex +1 450установок zig-comptime Скилл для агентов, который помогает писать обобщённые функции, рефлексию типов и код, вычисляемый на этапе компиляции в Zig. CX Codex +1 443установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой