Non-Intrusive Debugging Module for Embedded Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current debugging techniques for embedded systems, particularly in railway devices, are intrusive, non-real-time, and ineffective for multi-core platforms, limiting the ability to diagnose software failures in complex systems like SoCs without modifying the system's behavior or losing data due to protocol constraints.
Innovation Solution
A non-intrusive debugging module and method that collects raw data from embedded systems in real-time, stores it unmodified, and sends it via a platform-independent protocol for remote analysis, allowing for both hardware and software debugging modes without interrupting the system's operation, enabling the identification of failures from component interactions or single components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional debugging techniques (JTAG, In-Circuit Instrumentation) are used, then debugging capability is provided, but the system must be placed in debug or halted mode which interrupts real-time operation and modifies system behavior
Solution Approach 1:
The patent introduces a debugging module as an intermediary component that collects raw data from the embedded system without requiring the system to enter debug mode. This mediator captures data through dedicated logic components and memory interfaces while the system continues normal operation, then makes this data available to remote debugging tools, thus resolving the contradiction between providing debugging capability and maintaining real-time operation continuity
Solution Approach 2:
The debugging functionality is segmented into a separate, dedicated debugging module that operates independently from the main embedded system. This segmentation allows the main system to continue real-time operation while the debugging module separately collects and manages debug data through its own logic components and memory interfaces, eliminating the need to halt the main system for debugging purposes
2Speed
If In-Circuit Instrumentation is used for real-time debugging, then real-time control and debug of multi-processor systems is enabled, but each CPU component must be connected to a specific In-Circuit Instrumentation client through packet-based protocols that limit data size and require compliance
Solution Approach 1:
The debugging module is designed with universal functionality that can debug any embedded system regardless of the specific processor type or architecture. Instead of requiring separate In-Circuit Instrumentation clients for each CPU component with protocol compliance, the universal debugging module collects raw data from any embedded system through standardized memory interfaces and makes it available to remote debugging tools, eliminating connection complexity and protocol compliance requirements while maintaining real-time debugging capability
Solution Approach 2:
The patent extracts the protocol compliance and connection management requirements from the debugging process by collecting raw data directly from the embedded system's memory and registers through the debugging module. This extraction eliminates the need for packet-based protocols and specific In-Circuit Instrumentation client connections, allowing raw data to be transferred directly to remote debugging tools without encapsulation or format conversion, thus reducing device complexity while maintaining real-time speed
3Power
If embedded systems use complex multi-core SoC architectures, then processing capability is improved, but traditional standalone debugging techniques for each component become ineffective due to huge amounts of interdependent data
Solution Approach 1:
The patent merges the debugging approach by collecting raw data from all components of the multi-core SoC system simultaneously through a unified debugging module. Instead of using standalone debugging techniques for each component that cannot handle interdependent data, the merged approach captures data from multiple processors, memory, and other components together and makes it available to remote debugging tools that can analyze the interdependent relationships, thus maintaining debugging effectiveness while supporting high processing capability architectures
Data Source
Figure 1
AI summary
System and method for remotely debugging a device. The present invention concerns a debugging method and module (3) for remotely debugging a device (1), wherein the debugging module (3) is installable on a SoC of an embedded system (2) of the device (1), the debugging module (3) being configured for collecting raw data involved in debugging tasks and providing said raw data to a remote computer (4), wherein the remote computer (4) is configured for carrying out the debugging of the embedded system (2) from the raw data.