Skip to main content
Glama

XDS110 MCP Server

XDS110_STATUS.md3.16 kB
# XDS110 Connection Status on macOS ## Current Situation (2025-08-25) ### ✅ What's Working: 1. **XDS110 Hardware Detected** - Device: XDS110 (03.00.00.32) Embed with CMSIS-DAP - Serial: LS4104RF - USB VID: 0x0451, PID: 0xbef3 - macOS detects it via system_profiler 2. **Docker Integration** - Successfully created Docker containers with USB support - Host bridge running on port 5555 provides XDS110 status to containers - Containers can query XDS110 presence 3. **Software Installed** - Code Composer Studio 20.1.0 at /Applications/ti/ccs2010/ - UniFlash with dslite CLI tool installed via Homebrew - OpenOCD installed (but doesn't support C2000) ### ❌ Connection Issues: 1. **DSS (Debug Server Scripting)** - Error: `libti_xpcom.dylib` cannot load - Library is x86_64, needs Rosetta 2 but still fails - This is a known macOS compatibility issue 2. **DSLite/UniFlash** - Error -260: "An attempt to connect to the XDS110 failed" - Same error from xds110reset utility - Likely USB permission or driver issue on macOS 3. **OpenOCD** - Cannot connect: C2000/C28x architecture not supported - Only supports ARM, RISC-V, etc., not TI's proprietary DSP ## Target Information: TMS320F280039C ### Uptime Counter Location: - **Address**: `0x00000C00` (CPU Timer 0 Counter Register) - **Name**: TIM register - **Size**: 32-bit counter - **Frequency**: 100 MHz (100,000,000 increments/second) - **Calculation**: Uptime = TIM / 100,000,000 seconds ### Other Important Registers: - `0x00000C02`: PRD - Timer Period Register - `0x00000C04`: TCR - Timer Control Register - `0x0000700A`: PLLSTS - PLL Status (clock info) - `0x00000882`: PARTIDL - Device ID Low - `0x00000884`: REVID - Device Revision ## Possible Solutions: ### 1. macOS System Preferences - Check Security & Privacy → Privacy → Developer Tools - May need to allow Terminal/dslite USB access - Restart after granting permissions ### 2. Use Code Composer Studio GUI - Open CCS IDE directly - Create new target configuration for XDS110 - Use Memory Browser to read address 0x00000C00 ### 3. Virtual Machine Approach - Install Ubuntu/Windows VM - Pass through XDS110 USB to VM - TI tools work better on Linux/Windows ### 4. Alternative Debug Tools - J-Link with J-Link GDB Server (if it supports C2000) - Segger tools might have better macOS support ## Commands That Should Work (Once Connected): ### Reading Uptime: ```javascript // DSS JavaScript (if it worked) debugSession.memory.readWord(0, 0x00000C00) ``` ```bash # DSLite (if it connected) dslite --config TMS320F280039C_LaunchPad.ccxml \ --core 0 \ --memory-read 0x00000C00 4 ``` ```gdb # GDB (if connected) x/1wx 0x00000C00 ``` ## Current Workaround: The XDS110 host bridge at port 5555 confirms the hardware is present and provides USB info to Docker containers. However, actual debugging requires resolving the macOS USB/driver issues with TI's tools. ## Next Steps: 1. Try CCS GUI directly for memory browsing 2. Check macOS security settings for USB permissions 3. Consider Linux VM for reliable debugging 4. Contact TI support about macOS compatibility

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shanemmattner/XDS110_MCP_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server