Best use case

instrument-jlink is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Teams using instrument-jlink should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/instrument-jlink/SKILL.md --create-dirs "https://raw.githubusercontent.com/wangjianjq/Skill/main/.agents/skills/instrument-jlink/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/instrument-jlink/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How instrument-jlink Compares

Feature / Agentinstrument-jlinkStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

This skill provides specific capabilities for your AI agent. See the About section for full details.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Skill: Segger J-Link (JTAG/SWD Probe)

## 1. Overview

The gold standard for ARM Cortex-M/A debugging and flashing.

* **Primary Roles**: Firmware Flashing, RTT (Real-Time Transfer) Logging, Core Control.
* **Interface**: USB, Ethernet (Pro/WiFi models).

## 2. J-Link Commander (CLI)

Quick scripts often use the `JLink.exe` command line.

* `connect`: Connect to target used in script.
* `loadfile <firware.hex>`: Flash firmware.
* `r`: Reset target.
* `g`: Go (Run).

## 3. Python Automation (pylink-square)

Using the `pylink` library for complex test logic.

```python
import pylink

jlink = pylink.JLink()
jlink.open()
jlink.connect('STM32F407VG') # Set Target Device

# 1. Flash Firmware
jlink.flash_file('firmware.bin', 0x08000000)

# 2. Reset & Run
jlink.reset()
jlink.restart()

# 3. Read RTT Log (High Speed Logging)
# Requires RTT block address or auto-detection
try:
    jlink.rtt_start()
    while True:
        data = jlink.rtt_read(0, 1024)
        if data:
            print("".join(map(chr, data)), end="")
except KeyboardInterrupt:
    pass
```

## 4. Recovering "Bricked" Chips

* **Connect under Reset**: If the MCU goes to sleep immediately, use `connect` in J-Link Commander and allow it to hold the RESET pin low (`under-reset`) to regain control.