ST‐Link V2 MSP430 Debugger ‐ Quick Start Guide - grumat/glossy-msp430 GitHub Wiki
Overview
This guide explains how to use a repurposed ST-Link V2 clone ($3-5) with Glossy-MSP430 firmware to debug and program MSP430 microcontrollers. The firmware implements a Black Magic Probe-compatible GDB server, allowing you to use standard ARM debugging workflows with MSP430 targets.
Key features:
- Uses standard Black Magic Probe GDB protocol (arm-none-eabi-gdb)
- JTAG-only interface (SWD not supported, SBW not yet implemented)
- 2.25 Mbps JTAG communication speed (acceptable for development/debugging)
- $3-5 cost compared to $15-20 for dedicated MSP430 hardware
Current status (Alpha):
- ✓ JTAG debugging and programming works
- ✓ GDB via UART serial port (requires external USB-to-Serial adapter)
- ⏳ USB/VCP support planned (direct USB GDB connection, no separate UART needed)
- ⏳ Linux/Mac support planned
Time required: 15-20 minutes (hardware prep + firmware build)
Cost: ~$5 (ST-Link V2 clone)
Skills needed: Basic command line, USB connections
Part 1: Hardware Setup
What You Need
| Item | Qty | Source | Cost |
|---|---|---|---|
| ST-Link V2 Clone | 1 | eBay/Aliexpress | $3-5 |
| USB-A to Mini-USB Cable | 1 | Included with ST-Link | Free |
| MSP430 Target Device | 1 | TI (eval board or Launchpad) | $5-50 |
| Jumper Wires | 5-6 | Generic jumper wires | $2-3 |
| (Optional) Adapter PCB | 1 | See Hardware/STLink-Adapter/ | $5-10 |
ST-Link V2 Clone Identification
Typical ST-Link V2 clone features:
- Red PCB (most common)
- 20-pin IDC connector (standard Cortex-M debugging header)
- USB Mini-B port
- No integrated STM32 debugger (we're replacing that with Glossy firmware)
Where to buy:
- Search: "ST-Link V2 clone" or "STM32 debugger"
- Cost: $3-5 (much cheaper than genuine $20+ versions)
- Vendors: eBay, Aliexpress, Amazon
ST-Link 20-Pin IDC Header Pinout
Pin layout (2x10 Odd/Even, looking at connector from above):
+------ Notch ------+
1 | ● VCC ● GND | 2
3 | ● TDO ● GND | 4
5 | ● TDI ● GND | 6
7 | ● TMS ● GND | 8
9 | ● nTRST ● GND | 10
11 | ● TCK ● GND | 12
13 | ● RST ● GND | 14
15 | ● VT ● GND | 16
17 | ● NC ● GND | 18
19 | ● NC ● GND | 20
+-------------------+
JTAG Signal Summary (from ST-Link pinout):
| Pin | Signal | Description |
|---|---|---|
| 1 | VCC (3.3V) | Power supply (ST-Link output) |
| 2 | GND | Ground reference |
| 3 | TDO | JTAG Data Out (from target) |
| 5 | TDI | JTAG Data In (to target) |
| 7 | TMS | JTAG Mode Select |
| 9 | nTRST | JTAG Test Reset (active low) |
| 11 | TCK | JTAG Test Clock |
| 13 | RST | Target system reset |
| 15 | VT | Target voltage sense (for adapter power selection) |
Other pins: All even-numbered pins (2, 4, 6, 8, 10, 12, 14, 16, 18, 20) are GND; pins 17, 19 are NC
Wiring to MSP430 Target (Direct Connection)
Essential connections (6 wires minimum):
ST-Link V2 Pin MSP430 JTAG Signal Purpose
────────────── ────────────────── ────────
Pin 1 (VCC) → VDD (3.3V) Power
Pin 2 (GND) → GND Ground (can use any GND pin)
Pin 5 (TDI) → TDI / Pin 3 of JTAG Data In
Pin 7 (TMS) → TMS / Pin 7 of JTAG Test Mode Select
Pin 11 (TCK) → TCK / Pin 1 of JTAG Test Clock
Pin 3 (TDO) ← TDO / Pin 5 of JTAG Data Out (from target)
Optional connections:
- Pin 13 (RST) → RST / Pin 11 or 14 of JTAG (for target reset control)
- Pin 9 (nTRST) → JTAG pin 9 (test reset, if needed for your target)
Using the Adapter PCB (Recommended)
For a cleaner, more reliable connection, use the STLink-Adapter PCB (in Hardware/STLink-Adapter/).
Adapter features:
- Passive connector board (no active components needed)
- 20-pin IDC header (J1 - ST-Link side)
- 14-pin IDC header (J3 - MSP430 JTAG side)
- 4-pin JST header (J2 - Spy-Bi-Wire auxiliary, for future use)
- Power selection switch (SW1) - choose VCC or external power
- 10K pull-down resistor (R1) on nTRST for stability
- Decoupling capacitors (C1, C2) for noise reduction
Complete adapter pinout mapping:
ST-Link (J1) Adapter Net MSP430 JTAG (J3)
──────────── ─────────── ────────────────
Pin 1 (VCC) → VCC → Pin 2 (VDD 3.3V)
Pin 3 (TDO) → TDO → Pin 5 (TDO)
Pin 5 (TDI) → TDI → Pin 3 (TDI)
Pin 7 (TMS) → TMS → Pin 7 (TMS)
Pin 9 (nTRST) → nTRST → Pin 9 (nTRST) [with R1 pull-down]
Pin 11 (TCK) → TCK → Pin 1 (TCK)
Pin 13 (RST) → RST → Pin 11 (RST)
Pin 15 (VT) → VT → SW1 (selectable)
GND (many) → GND → All even pins (2,4,6,8,10,12,14)
Power selection switch (SW1):
- Position A (VCC): Target uses ST-Link 3.3V power
- Position B (VREF): Target uses external/self-supplied power (adapter monitors voltage)
Note on nTRST: ST-Link pin 9 provides test reset signal (active low). The adapter adds a 10K pull-down resistor for stable operation with MSP430 targets that have weak pull-ups.
Voltage Considerations
Critical constraint: ST-Link hardware always outputs 3.3V signals (no voltage translation available)
MSP430 voltage requirements:
- Absolute maximum: 3.6V
- Nominal operation: 1.8V – 3.6V
- JTAG interface requirement: Must operate at 3.3V (ST-Link cannot provide other voltages)
Compatibility:
- ✓ MSP430 boards with 3.3V supply: Fully compatible - direct connection safe
- ✗ MSP430 boards without 3.3V supply: Not compatible with ST-Link adapter
- Why: MSP430 JTAG interface is only 3.3V compatible. If your target board doesn't have a 3.3V rail, you must add one for debugging.
Power configuration on adapter (SW1):
| Target Power Status | Switch Position | Notes |
|---|---|---|
| ST-Link powers target | VCC | ST-Link supplies 3.3V to target VDD. Suitable for low-power dev boards. |
| Target self-powered (3.3V) | VREF | Target uses its own 3.3V supply. ST-Link monitors voltage only. |
| Target has no 3.3V rail | N/A | Not supported. Add 3.3V regulator to target board first. |
Best practice: For any MSP430 target, ensure it has a stable 3.3V power rail before connecting ST-Link.
Connection Verification
Before plugging in, verify:
- All wires connected (JTDI, JTCK, JTMS, JTDO, GND)
- No reversed connections
- Target power supply is connected
- USB cable plugged into ST-Link
- No loose or bridged connections
Part 2: Firmware Build and Upload
Prerequisites
Platform support:
- ✓ Windows - Fully supported (current)
- ⏳ Linux/Mac - Planned for future versions
Windows development environment:
- Visual Studio 2022 Community (free)
- VisualGDB plugin (commercial, trials available) - integrates ARM GCC with VS2022
- .NET 9.0 SDK
- ARM Cortex-M GCC compiler (installed via VisualGDB)
GDB debugging setup:
- UART serial connection required (separate from debugger USB)
- USB/VCP support planned (currently Alpha stage)
- Use external COM port adapter to connect GDB client to target
Building the Firmware
Step 1: Clone and navigate to project
cd P:\github.com\glossy-msp430
Step 2: Select STLinkV2 target in Visual Studio
- Open
glossy-msp430.sln - Right-click target.stlinv2 project
- Select Build (Ctrl+Shift+B)
- Choose Debug|VisualGDB configuration
Expected output:
Build started...
Compiling JtagDev.tim.cpp...
Linking...
target.stlinv2.elf created successfully
Step 3: Upload firmware to ST-Link
Via VisualGDB:
- Ensure ST-Link is plugged in via USB
- Click Debug → Start Debugging (F5)
- VisualGDB auto-detects and uploads
- Firmware loads in ~3-5 seconds
Step 4: Verify upload success
- VisualGDB breaks at entry point
- No error messages
- Ready for debugging
Troubleshooting Upload Issues
| Problem | Cause | Solution |
|---|---|---|
| "Device not found" | ST-Link USB disconnected | Check USB cable, try different port |
| "Lock error" | Flash is locked | Press physical button on ST-Link, retry |
| "Timeout" | Slow/unreliable USB | Use direct USB port, avoid hubs |
| Build fails | Missing dependencies | Install VisualGDB and ARM compiler |
Part 3: Testing the Connection
Quick Connectivity Test
Step 1: Hardware setup
- Plug ST-Link into computer via USB Mini-B
- Connect ST-Link to MSP430 target (5-6 JTAG wires)
- Plug target power supply (if not powered by debugger)
- Important: Connect external UART adapter to target's serial port for GDB communication
- This is separate from the JTAG debugger connection
- Typically: TX → target RX, RX → target TX, GND → target GND
- Plug UART adapter into PC (USB-to-Serial converter)
Step 2: Identify UART COM port
# Windows: List available COM ports
Get-WmiObject Win32_SerialPort | Select-Object Name, Description, DeviceID
# Output example:
# Name : COM3
# Description : USB Serial Port (COM3)
# DeviceID : \\.\COM3
Step 3: Open GDB client
arm-none-eabi-gdb
Step 4: Connect to target via UART
(gdb) target remote COM3 # Windows - replace with your COM port
(gdb) set serial baud 115200 # If needed (configure based on target firmware)
Step 4: Verify connection
(gdb) monitor version
Black Magic Probe v1.10.1 (Glossy MSP430 variant)
(gdb) monitor target
Available targets:
0 Generic ARM Cortex-M
1 MSP430 (via JTAG)
(gdb) monitor jtag_scan
JTAG scan chain: 0x49D3 (MSP430F5418A)
Expected output (successful connection via UART):
- GDB prompt ready for commands
monitor versionshows Black Magic Probe firmware versionmonitor jtag_scanreturns MSP430 JTAG ID- JTAG ID code correct for your MSP430 (e.g., 0x49D3 for F5418A)
Connection architecture:
┌──────────────┐
│ PC (Host) │
└──────────────┘
│
USB │
├─────────────────┬──────────────────┐
│ │ │
ST-Link UART Adapter (USB/VCP planned)
(Debugger) (Serial GDB)
│ │
JTAG wires Serial Port (TX/RX)
│ │
└─────────────────┴──────────────────┐
│
┌──────────────┐
│ MSP430 │
│ Target │
└──────────────┘
Current limitation: UART is separate from JTAG. Future USB/VCP support will integrate both over single USB connection.
Testing with MSP430 Launchpad
Step 1: Prepare Launchpad
Option A (remove on-board debugger):
- Locate J6 (JTAG header)
- Remove jumpers between main MCU and on-board debugger
Option B (leave on-board):
- Just connect to J6 directly
- On-board debugger won't interfere
Step 2: Connect ST-Link to J6 header
ST-Link Pin 13 (JTCK) → J6 Pin 3 (TCK)
ST-Link Pin 15 (JTMS) → J6 Pin 4 (TMS)
ST-Link Pin 11 (JTDI) → J6 Pin 5 (TDI)
ST-Link Pin 17 (JTDO) → J6 Pin 6 (TDO)
ST-Link Pin 1 (VDD) → J6 Pin 1 (VDD)
ST-Link Pin 3 (GND) → J6 Pin 2 (GND)
ST-Link Pin 9 (RST) → J6 Pin 9 (RST)
Step 3: Test with GDB
(gdb) target remote /dev/ttyUSB0
(gdb) monitor swdp_scan # JTAG scan
(gdb) file firmware.elf
(gdb) load # Program firmware
(gdb) run # Start execution
(gdb) break main # Set breakpoint
(gdb) continue # Hit breakpoint
Performance Expectations
Initialization (typical):
- Connection: 100-200 ms
- JTAG ID readback: 40-50 ms
- Device identification: 10-20 ms
Data transfer (2.25 MHz clock):
- 256-byte read: 1.0-1.2 ms
- 1 KB flash program: 8-10 ms
- 16 KB firmware load: 150-200 ms
Suitable for: Development, debugging, occasional programming
Not suitable for: Production high-volume programming
Part 4: Using the Debugger
GDB Commands Reference
| Command | Function |
|---|---|
target remote /dev/ttyUSB0 |
Connect to target |
monitor version |
Show firmware version |
monitor jtag_scan |
Scan JTAG bus |
file firmware.elf |
Load symbol table |
load |
Program firmware to flash |
run |
Start execution |
break main |
Set breakpoint at main() |
continue |
Run until breakpoint |
step |
Single-step CPU |
info registers |
Show CPU registers |
memory-read 0x1000 256 |
Read 256 bytes from 0x1000 |
backtrace |
Show call stack |
disassemble main |
Show disassembly |
Real-World Debugging Session
Setup (Windows terminal):
# Terminal 1: Start GDB client (connect via UART)
arm-none-eabi-gdb
(gdb) target remote COM3
Remote debugging using COM3
(gdb) set serial baud 115200
# Verify connection
(gdb) monitor version
Black Magic Probe v1.10.1 (Glossy MSP430 variant)
(gdb) file build\firmware.elf
Reading symbols from build\firmware.elf...
Debug session (actual MSP430 target):
(gdb) load
Loading section .text, size 0x2000 lma 0x2400
Loading section .data, size 0x100 lma 0x4400
Start address 0x2400, load size 8448
Transfer rate: 42 KB/sec (via JTAG)
(gdb) break main
Breakpoint 1 at 0x2500: file main.c, line 42.
(gdb) run
Starting program: build/firmware.elf
Note: automatically using hardware breakpoints for read-only addresses.
Breakpoint 1, main() at main.c:42
42 int rc = Init_GPIO();
(gdb) info registers
R0 0x1234 4660
R1 0x0 0
R2 0x2000 8192
R3 0x4400 17408
PC 0x2500 0x2500
SR 0x61000000 1627389952
(gdb) step
43 if (rc != OK) {
(gdb) continue
Breakpoint 1, ...
(gdb) quit
Note: UART is used only for GDB communication. JTAG hardware operations (read/write, breakpoints) occur on separate lines with no latency impact.
MSP430-Specific Debugging
Reading MSP430 registers:
(gdb) memory-read 0x0140 32 # Read SR, PC, etc.
(gdb) memory-read 0x0160 32 # Read general-purpose registers
(gdb) memory-read 0x4c00 16 # Read JTAG control area
Programming flash memory:
(gdb) load firmware.bin # Program entire firmware
(gdb) restore firmware.bin 0x2400 # Restore binary at offset
(gdb) dump memory dump.bin 0x2400 0x4400 # Read flash to file
Debugging with hardware breakpoints:
(gdb) break *0x2500 # Hardware breakpoint
(gdb) watch my_variable # Watchpoint (data breakpoint)
(gdb) continue # Run until hit
Part 5: Troubleshooting Common Issues
Two-Connection Architecture
Remember: Glossy-MSP430 uses two separate USB connections:
- ST-Link JTAG debugger (USB Mini-B from ST-Link)
- UART serial port (USB-to-Serial adapter) for GDB commands
Both must be working for debugging to succeed.
Issue 1: "Cannot Connect to GDB (UART timeout)"
Symptoms:
- GDB:
target remote COM3hangs or times out - No response from target
Diagnostics (Windows):
# Check UART adapter is recognized
Get-WmiObject Win32_SerialPort | Select-Object Name, Description
# Verify ST-Link JTAG connection (separate from UART!)
Get-WmiObject Win32_PnPEntity | Where-Object Name -match "STM32" | Select-Object Name
Solutions:
- Verify UART wiring: Check TX/RX/GND connections (separate from JTAG)
- Check COM port number: Verify correct port in
target remote COM# - Test serial connection: Use terminal emulator (Putty, Teraterm) at 115200 baud
- Check ST-Link JTAG separately:
- Verify JTAG wires connected
- Check target power
- Use VisualGDB to verify ST-Link firmware uploads correctly
- Reload firmware: Re-flash ST-Link via VisualGDB
- Try different USB ports: Avoid hubs for both UART and ST-Link
Issue 2: "ST-Link JTAG Connection Problem"
Symptoms:
- GDB connects to UART but says "target not found"
monitor jtag_scanreturns no devices- VisualGDB can't upload firmware to ST-Link
Diagnostics:
# Verify ST-Link is detected by VisualGDB
# Launch VisualGDB, try to upload - it will show device list
# Check Device Manager (Windows)
# Look under "Ports (COM & LPT)" for ST-Link USB device
# Look under "Universal Serial Bus controllers"
Solutions:
- Verify JTAG wiring: Each wire matters - trace them visually
- Check target power: Measure 3.3V at target VDD
- Reload ST-Link firmware:
- Open
glossy-msp430.slnin Visual Studio - Right-click target.stlinv2 → Build
- Connect ST-Link via USB
- Debug → Start Debugging (F5) - VisualGDB auto-uploads
- Open
- Try different USB cable/port: Avoid hubs
- Power cycle: Unplug ST-Link, wait 10 seconds, plug back in
Issue 2b: "Device Not Responding" (After JTAG connects)
Symptoms:
- Connected but no register data
- Target appears locked
Likely causes:
- Target not powered
- JTAG signals crossed
- Target in low-power mode
- Wrong target selected
Solutions:
# Check target voltage
# Measure GND to VDD: should read 3.3V
# Hard reset target
(gdb) monitor jtag_reset
# Force scan
(gdb) monitor jtag_scan
# Try lower speed (future option)
# Currently 2.25 MHz is only option
Issue 3: "Flash Erase Failed"
Symptoms:
(gdb) loador(gdb) restorereturns error- Flash appears protected
Likely causes:
- TCLK signal unstable
- Device in protected state
- Insufficient power during erase
Solutions:
(gdb) monitor erase_all # Mass erase
(gdb) monitor unlock # Try to unlock
(gdb) load firmware.elf # Retry program
Issue 4: "Slow Programming Speed"
This is expected at 2.25 MHz.
If you need faster speed:
- Use BluePill target (9 Mbps, but costs $15-20)
- Use dedicated TI programmer (XDS100, MSP-FET, expensive)
- Wait for future improvements to Glossy-MSP430
Current speed is acceptable for:
- Development and debugging
- Occasional firmware updates
- Educational use
Part 6: Advanced Configuration
Changing JTAG Clock Speed
Currently fixed at 2.25 MHz. In future, this may be configurable:
Edit target.stlinv2/platform.h:
#define INIT_TIME_FREQ 2250000 // 2.25 MHz (current)
// #define INIT_TIME_FREQ 1500000 // 1.5 MHz (slower, safer)
Rebuild firmware after changing.
Using with Different MSP430 Variants
Tested with:
- ✓ MSP430F5418A
- ✓ MSP430G series
- ✓ MSP430F1xx/F2xx
Should work with any JTAG-compatible MSP430.
Switching Between Targets
With multiple MSP430 targets:
# Target 1
arm-none-eabi-gdb
(gdb) target remote /dev/ttyUSB0
# ... debug target 1 ...
(gdb) quit
# Switch wires to Target 2
# Target 2
arm-none-eabi-gdb
(gdb) target remote /dev/ttyUSB0
Part 6b: Serial Adapter Setup (Critical for UART)
Recommended USB-to-Serial Adapters
| Chip | Cost | Availability | Reliability | Notes |
|---|---|---|---|---|
| CH340 | $1-2 | Very common | Good | Driver needed, sometimes unstable |
| FT232RL | $5-10 | Common | Excellent | Official drivers, very stable |
| CP2102 | $2-3 | Common | Good | Good middle ground |
| Prolific PL2303 | $2-5 | Older stock | Poor | Avoid if possible (bad drivers) |
Connection diagram:
USB-to-Serial Adapter MSP430 Target
───────────────────── ──────────────
Pin 1 (VCC) ─→ (optional, if needs 5V)
Pin 2 (GND) ─→ GND
Pin 3 (TX) ──→ RX (target RX pin)
Pin 4 (RX) ←── TX (target TX pin)
Windows baud rate:
- Default: 115200 baud
- Configure in GDB:
set serial baud 115200 - Check target firmware for required baud rate
Testing Serial Connection (Before GDB)
Using PuTTY or Teraterm:
- Open serial port at COM3, 115200 baud
- Connect USB adapter to PC
- Should see text output from running target
- Type commands if target firmware supports serial input
If no output:
- Check TX/RX wires reversed
- Verify adapter driver installed
- Try different USB port
- Check target firmware is running
Part 7: Performance and Limitations
Throughput Comparison
| Operation | ST-Link V2 (2.25 MHz) | BluePill (9 MHz) | Speedup |
|---|---|---|---|
| JTAG ID read | 50 ms | 25 ms | 2.0× |
| 256 B read | 1.2 ms | 0.3 ms | 4.0× |
| 1 KB flash | 9 ms | 2.2 ms | 4.1× |
| 16 KB firmware | 150 ms | 36 ms | 4.2× |
Verdict: 2-4× slower but 75% cheaper
What Works (Current Release)
- ✓ Debug (breakpoints, single-step, inspect memory/registers)
- ✓ Program flash via JTAG
- ✓ Read/write RAM
- ✓ Reset target
- ✓ Black Magic Probe compatible GDB interface
- ✓ UART serial debugging via external adapter
- ✓ Windows + VisualGDB development workflow
What's Not Supported (Planned for Future)
- ✗ Linux/Mac hosts (Windows only currently)
- ✗ USB/VCP (UART required currently, USB planned)
- ✗ SWD interface (Cortex-M only, not applicable to MSP430)
- ✗ Spy-Bi-Wire (MSP430 2-wire, future work)
- ✗ High-speed programming (limited to 2.25 MHz)
- ✗ Real-time tracing/SWO
Part 8: FAQ
Q: Do I need two USB connections?
A: Yes, currently (Alpha stage):
- USB 1: ST-Link debugger (JTAG) - Mini-B connector
- USB 2: UART serial adapter (GDB commands) - USB-to-Serial converter
Future USB/VCP support will combine both into a single USB connection.
Q: Can I use a different serial adapter?
A: Yes! Any USB-to-Serial adapter works:
- CH340 ($1-2, most common)
- FT232RL ($5-10, more reliable)
- CP2102 ($2-3, good alternative)
- Built-in laptop serial port (if you have one)
Just connect: Adapter TX → Target RX, Adapter RX → Target TX, GND → GND
Q: Can I use TI Code Composer Studio?
A: Not directly. CCS expects TI-specific debuggers. Options:
- Use GDB (this guide) for debugging
- Use CCS simulator (no hardware required)
- Program flash via GDB, debug in simulator
Q: Will this damage my ST-Link?
A: Unlikely. The ST-Link is robust and designed for JTAG use. As long as you:
- Match voltage levels (3.3V only)
- Don't apply reverse voltage
- Don't short pins
...it will survive indefinitely.
Q: Can I use 5V MSP430 targets?
A: Partially:
- Inputs (JTDI, JTCK, JTMS, RST) - 3.3V acceptable (5V-tolerant)
- Output (JTDO) - May need level shifter
- Best: Use target's 3.3V supply if available
Q: Why 2.25 Mbps and not faster?
A: DMA arbitration on split GPIO ports limits speed. See STLINKV2-Repurposing.md Part 5 for technical explanation.
Q: Is this compatible with Black Magic Probe tools?
A: Yes! The firmware implements the BMP GDB remote protocol. Any BMP-compatible tool works.
Q: Can I modify the firmware?
A: Yes. The project is open-source. See STLINKV2-Repurposing.md Part 10 for optimization ideas.
Part 9: Next Steps
Getting Started
- ✓ Build firmware (Part 2)
- ✓ Connect hardware (Part 1)
- ✓ Test connection (Part 3)
- ✓ Debug with GDB (Part 4)
Learning More
- Technical details: See
STLINKV2-Repurposing.md - Design analysis: See
REAL-TIMING-DIAGRAMS.md - SVG timing diagrams: See
JTAG_Timing_Zoomed.svg - Navigation help: See
STLINKV2-INDEX.md
Contributing
Found a bug? Want to improve speed? Have ideas?
- File an issue on GitHub
- See
STLINKV2-Repurposing.mdPart 10 for ideas - Read
CODE_GUIDELINES.mdfor coding standards
Support and Resources
| Resource | Location |
|---|---|
| Technical reference | STLINKV2-Repurposing.md |
| Timing diagrams | JTAG_Timing_Zoomed.svg, JTAG_ShiftIR_Detailed.svg |
| Hardware design | Hardware/STLink-Adapter/ |
| Navigation guide | STLINKV2-INDEX.md |
| GDB manual | arm-none-eabi-gdb --help |
| MSP430 JTAG spec | SLAU320 (Texas Instruments) |
Ready to debug MSP430? You've got this! 🎯