一键导入
rtt-tools
Use when debugging embedded firmware through SEGGER J-Link RTT - capture RTT output, send RTT console commands, or open an interactive RTT console.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when debugging embedded firmware through SEGGER J-Link RTT - capture RTT output, send RTT console commands, or open an interactive RTT console.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Configure clangd language server for Zephyr RTOS projects with cross-compilation toolchains. Use when setting up clangd for Zephyr, nRF Connect SDK, or ARM cross-compilation projects, or when clangd shows errors like "Unknown Arm architecture profile" or "failed to resolve include".
Use for MCU firmware debugging with GDB/gdbserver, probe or QEMU targets, flash/attach flows, and Cortex-M fault analysis.
Use for Linux C/C++ GDB crash, core dump, and hang debugging.
Use when committing staged changes with a Conventional Commit.
Use when starting any coding task with unclear requirements, vague feature requests, or ambiguous bug fixes - before writing implementation code. Triggers automatic domain inference (Embedded, Python, DevOps, Zephyr, etc.) and compiles rigorous Markdown prompts with reconnaissance, HITL clarification, TDD workflow, and selectively applied domain constraints.
| name | rtt-tools |
| description | Use when debugging embedded firmware through SEGGER J-Link RTT - capture RTT output, send RTT console commands, or open an interactive RTT console. |
Use scripts/rtt.py for SEGGER J-Link RTT.
RTT is RTOS-independent. Do not assume Zephyr unless the project clearly uses Zephyr/NCS.
Firmware must:
RTT=/path/to/skills/rtt-tools/scripts/rtt.py
Defaults:
Interface: SWD
Speed: 4000
GDB port: 2331
RTT port: 19021
Use --dev-id <serial> when multiple J-Links are connected.
Run one command:
python "$RTT" command -d <device> "help"
The tool suppresses J-Link startup noise by default. Use --verbose only when
diagnosing the J-Link server itself.
Open console:
python "$RTT" console -d <device>
Capture reset logs:
python "$RTT" capture -d <device> --reset --seconds 10
Attach to an existing RTT server:
python "$RTT" command --attach "help"
Useful options:
--timeout <seconds> command timeout
--seconds <seconds> capture duration
--gdb <path> explicit GDB path
--no-drain keep old RTT buffered data
--no-strip-ansi keep ANSI escapes in command output
--verbose show JLinkGDBServer startup output
capture --reset for boot logs.command for automated shell checks.console only for human interaction.Only apply this section to Zephyr/NCS projects.
Shell over RTT usually needs:
CONFIG_USE_SEGGER_RTT=y
CONFIG_SHELL=y
CONFIG_SHELL_BACKEND_RTT=y
Logging over RTT usually needs:
CONFIG_LOG=y
CONFIG_LOG_BACKEND_RTT=y
If shell and logging share channel 0, check for RTT channel/buffer conflicts.
Example for nRF54L15:
python "$RTT" capture -d NRF54L15_M33 --reset --seconds 10
python "$RTT" command -d NRF54L15_M33 "help"
python "$RTT" console -d NRF54L15_M33
No output:
Command has no response:
help, version, or statusMissing early logs:
python "$RTT" capture -d <device> --reset --seconds 10
Old logs before new boot logs:
--no-drainPort conflict:
--attachGDB not found:
python "$RTT" capture -d <device> --reset --gdb /path/to/gdb --seconds 10
Report: