UNPKG

jlink-mcp

Version:

MCP server for SEGGER J-Link debug probes — LLM-driven embedded debugging with RTT, GDB server, and Trice/Pigweed support

57 lines 2.08 kB
import { ProbeBackend, CommandResult, GDBServerInfo } from "./backend"; import { ProcessManager } from "../utils/process-manager"; export interface JLinkConfig { installDir: string; device: string; interface: "SWD" | "JTAG"; speed: number; serialNumber?: string; gdbPort: number; rttTelnetPort: number; swoTelnetPort: number; } export declare class JLinkBackend extends ProbeBackend { readonly type: "jlink"; readonly displayName = "SEGGER J-Link"; private config; private processManager; private gdbOutputBuffer; constructor(config: Partial<JLinkConfig>, processManager: ProcessManager); private get jlinkExe(); private get gdbServerExe(); /** Core execution: spawn JLinkExe with commands piped to stdin */ private exec; getDeviceInfo(): Promise<CommandResult>; halt(): Promise<CommandResult>; resume(): Promise<CommandResult>; reset(halt?: boolean): Promise<CommandResult>; step(): Promise<CommandResult>; readMemory(address: number, length: number): Promise<CommandResult>; writeMemory(address: number, value: number): Promise<CommandResult>; readAllRegisters(): Promise<CommandResult>; readRegister(name: string): Promise<CommandResult>; flash(filePath: string, baseAddress?: number): Promise<CommandResult>; erase(): Promise<CommandResult>; setBreakpoint(address: number): Promise<CommandResult>; clearBreakpoints(): Promise<CommandResult>; executeRaw(commands: string[]): Promise<CommandResult>; startGDBServer(): Promise<{ success: boolean; message: string; }>; stopGDBServer(): { success: boolean; message: string; }; isGDBServerRunning(): boolean; getGDBServerStatus(): GDBServerInfo; getGDBServerOutput(lines?: number): string[]; isDeviceConfigured(): boolean; getDeviceName(): string; setDevice(device: string): void; listDevices(): Promise<CommandResult>; supportsRTT(): boolean; getRTTPort(): number; dispose(): void; } //# sourceMappingURL=jlink.d.ts.map