XDS110 Universal Debugger - MCP Server
Generic Debugging Interface for ANY Texas Instruments CCS Project
🚀 Zero-configuration debugging for ANY CCS project! Auto-discovers 1000+ variables from MAP files, no hardcoding required.
🎯 Overview
A universal debugging solution that automatically discovers and monitors variables from ANY Texas Instruments Code Composer Studio project. Using MAP file parsing and TI's Debug Server Scripting (DSS), it provides generic access to all project symbols without any manual configuration.
✨ Key Features
- Zero Configuration - Just point at your CCS project directory
- Auto-Discovery - Parses MAP files to find ALL variables (1000+)
- Pattern Search - Find variables using regex patterns
- Real-Time Monitoring - Watch any variable change in real-time
- MCP Protocol - Integrates with LLMs as debugging co-pilots
- Universal Support - Works with C2000, MSP430, ARM-based TI MCUs
🔧 Verified Hardware
- TI XDS110 Debug Probe (and compatible)
- TMS320F280039C (C2000 series)
- MSP430 series (with DSS support)
- TI ARM Cortex-M devices
- Any CCS-supported target with MAP file generation
Architecture Overview
OpenOCD Multi-Client Proxy
Traditional debugging allows only one tool to connect to hardware. This solution uses OpenOCD's multi-client capabilities:
- OpenOCD connects to XDS110 using native driver support
- Multiple GDB clients can connect to OpenOCD simultaneously
- MCP server acts as intelligent GDB client for LLM interaction
- Code Composer Studio can still connect when needed (via session handoff)
Quick Start
Prerequisites
- Python 3.8+
- OpenOCD with XDS110 driver support
- XDS110 debug probe with firmware 2.3.0.11+
- TI target hardware (F280039C verified)
Installation
Hardware Verification
Start MCP Server
MCP Tools Available to LLMs
Tool | Description | Parameters | Example Use |
---|---|---|---|
read_variables | Read current values of motor control variables | variable_list , format | Monitor motor state, position, currents |
monitor_variables | Continuous monitoring with change detection | variables , duration , threshold | Detect anomalies during motor operation |
write_memory | Direct memory writes to structures | address , value , size | Modify debug_bypass parameters |
set_breakpoint | Conditional breakpoints with custom logic | address , condition , action | Stop when motor state changes |
analyze_motor_state | AI-powered motor control analysis | focus_area | Diagnose humming, faults, tuning issues |
calibrate_motor | Trigger calibration sequences | calibration_type | Run commands 64-67 for motor setup |
Example LLM Interactions
Project Structure
Development Status
Completed (From Legacy ti_debugger)
- Hardware Connection: XDS110 + F280039C proven working
- Memory Access: Direct read/write to debug_bypass structure (0x0000d3c0)
- Variable Reading: Comprehensive motor control variable access
- Motor Control: PMSM motor control with DRV8323RH driver
- Calibration: Automated calibration sequences (commands 64-67)
- Domain Knowledge: Motor control, FOC principles, fault patterns
In Progress
- MCP Server Implementation: Converting ti_debugger logic to MCP framework
- OpenOCD Integration: Multi-client GDB proxy setup
- Tool Development: MCP tools for variable monitoring, memory access
- LLM Integration: Domain knowledge integration for intelligent analysis
Planned
- Session Management: CCS handoff and conflict resolution
- Advanced Analysis: Pattern recognition and fault diagnosis
- Performance Optimization: Sub-100ms variable read latency
- Documentation: Comprehensive guides and API reference
- Testing: Hardware integration and reliability tests
Use Cases
1. Motor Humming Diagnosis
Problem: PMSM motor hums during bypass alignment instead of spinning smoothly. Solution: LLM analyzes bypass alignment variables, identifies missing current control initialization, and suggests memory writes to fix the issue.
2. Real-Time Debugging Assistant
Problem: Complex motor control sequences with dozens of variables to monitor. Solution: LLM continuously monitors variables, detects anomalies, and provides contextual alerts with domain expertise.
3. Interactive Parameter Tuning
Problem: PID controller tuning requires iterative testing and analysis. Solution: LLM suggests parameter changes based on motor behavior description, applies changes via memory writes, and monitors results.
4. Automated Fault Analysis
Problem: Intermittent overcurrent faults that are difficult to debug manually. Solution: LLM sets intelligent breakpoints, monitors fault conditions, and analyzes patterns to identify root causes.
Technical Specifications
Performance Requirements
- Variable Read Latency: < 100ms per variable
- Monitoring Frequency: Up to 10Hz for critical variables
- Memory Footprint: < 50MB RAM usage
- Startup Time: < 5 seconds to ready state
- Connection Recovery: Auto-reconnect within 1 second
Hardware Requirements
- Debug Probe: XDS110 with firmware 2.3.0.11+
- Target MCU: TMS320F280039C (F28xx series support planned)
- Connection: USB 2.0+ for XDS110 probe
- Host OS: Linux (tested), Windows/macOS (planned)
Software Requirements
- Python: 3.8+ with asyncio support
- OpenOCD: Latest version with XDS110 driver
- MCP SDK: Python Model Context Protocol SDK
- Optional: Code Composer Studio for traditional debugging
Contributing
We welcome contributions to this embedded systems debugging MCP server:
High-Priority Areas
- Additional TI MCU support (F28xx series, C2000 family)
- Other debug probe support (J-Link, ST-Link)
- Windows/macOS compatibility
- Advanced motor control algorithms
- Performance optimizations
Getting Started
- Fork the repository
- Set up development environment:
pip install -r requirements-dev.txt
- Run tests:
pytest tests/
- Submit pull request with comprehensive testing
Development Guidelines
- Follow PEP 8 style guidelines
- Add tests for new functionality
- Update documentation for user-facing changes
- Verify hardware compatibility before submitting
Resources & References
MCP Protocol
OpenOCD & Hardware
TI Documentation
License
MIT License - see LICENSE file for details.
Acknowledgments
- Texas Instruments: For XDS110 debug probe and comprehensive documentation
- OpenOCD Project: For multi-client debugging architecture
- Model Context Protocol Team: For the MCP framework enabling LLM tool integration
- Embedded Community: For sharing knowledge and debugging techniques
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables Large Language Models to act as co-debuggers for Texas Instruments embedded systems by providing real-time variable monitoring, memory manipulation, and motor control analysis through OpenOCD proxy architecture. Supports debugging TI microcontrollers with XDS110 debug probes while working alongside Code Composer Studio.
Related MCP Servers
- -securityFlicense-qualityA TypeScript-based server that provides a memory system for Large Language Models (LLMs), allowing users to interact with multiple LLM providers while maintaining conversation history and offering tools for managing providers and model configurations.Last updated -26
- -securityFlicense-qualityFacilitates enhanced interaction with large language models (LLMs) by providing intelligent context management, tool integration, and multi-provider AI model coordination for efficient AI-driven workflows.Last updated -
- -securityAlicense-qualityBridges Large Language Models with Language Server Protocol interfaces, allowing LLMs to access LSP's hover information, completions, diagnostics, and code actions for improved code suggestions.Last updated -71MIT License
- AsecurityAlicenseAqualityUnleashes LLM-powered agents to autonomously execute and debug web apps directly in your code editor, with features like webapp navigation, network traffic capture, and console error collection.Last updated -21,179Apache 2.0