Debug Pin Auto-Assignment for Reliable MCU Programming and Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing microcontrollers require manual selection and configuration of debug communication pins, which can lead to incorrect settings and obscure issues during debugging, causing successful programming but failed debugger communications.

Innovation Solution

Implementing an automatic assignment of device debug configuration pins using a control circuit that detects programming modes and stores pin configurations, allowing the same pins used for programming to be automatically reused for debugging, reducing user error and complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual selection and configuration of debug communication pins is implemented, then device programming can be completed, but configuration errors may occur leading to failed debugger communications

Engineering Contradiction:
Improvedebugger communication reliabilityVSAvoidpin configuration complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system automatically detects which pins were used for programming and configures those same pins for debugging without user intervention. The control circuit autonomously identifies the programming pin pair and programs the configuration bits to route debugger communications through those same pins, eliminating manual configuration and preventing user errors.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs the pin configuration action in advance during the programming phase. By detecting the programming pin pair and pre-configuring the debugger communication routes before debugging begins, the system ensures correct settings are already in place, preventing configuration errors that would otherwise occur during or after debugging setup.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If multiple pin pairs are available for programming and debugging, then versatility is improved, but configuration complexity and user error increase

Engineering Contradiction:
Improvepin selection flexibilityVSAvoidconfiguration management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Rather than requiring users to manually manage multiple pin configurations, the control circuit automatically detects which pins are being used for programming and autonomously configures those same pins for debugging. This self-configuration approach maintains versatility in pin selection while eliminating the complexity of managing multiple pin pair configurations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The control circuit monitors the programming process to detect which pin pair is actively being used, then uses this feedback information to automatically configure the debugger communication routes. This closed-loop approach ensures the system adapts to the actual pin usage without requiring users to understand or manage the configuration complexity.

Inventive Principle:
Principle #23Feedback

3Productivity

If configuration bits are manually set, then programming can proceed, but incorrect settings may not manifest immediately causing obscured debugging issues

Engineering Contradiction:
Improveprogramming speedVSAvoidconfiguration error detection
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The system performs the correct pin configuration automatically during the programming phase itself, before debugging begins. By pre-configuring the debugger communication routes through the same pins used for programming, the system eliminates the window where incorrect configuration bits could cause obscured errors later during debugging sessions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The control circuit autonomously detects and configures the correct pin pair for debugging without user intervention, eliminating manual configuration errors. This self-configuration ensures that the debugger communication settings match the actual hardware connections, making configuration errors impossible rather than just harder to detect.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12259705B2Automatic assignment of device debug communication pins
Publication Date: 2025.03.25 MICROCHIP TECHNOLOGY INC
  • US12259705B2 patent drawing
  • US12259705B2 patent drawing
  • US12259705B2 patent drawing

AI summary

An apparatus includes a debugger circuit, debug pins, and a test controller circuit. The test controller circuit is configured to, in a programming mode, determine a subset of the debug pins used in programming the apparatus. The test controller circuit is further configured to save a designation of the subset of the debug pins. The test controller circuit is further configured to, in a test mode subsequent to the programming mode, use the designation to route the subset of the debug pins used in programming the apparatus to the debugger circuit for debug input and output with the server.