Enhanced System Debugging Based on Processor Configuration Tools
Publication Date: 2015-Oct-07
The IP.com Prior Art Database
This paper will use the assumption that there are already available two basic tools a processor configuration tool and a debugger tool and it proposes a way to leverage both of them by integrating them into a single software application with awareness of the hardware states and debugging capabilities The result can be seen as a smart debugger with awareness of hardware models provided by processor configuration tools or as an enhanced configuration tool with online target information supplied by debugger
This paper will use the assumption that there are already available two basic tools, a processor configuration tool and a debugger tool, and it proposes a way to leverage both of them by integrating them into a single software application with awareness of the hardware states and debugging capabilities. The result can be seen as a smart debugger with awareness of hardware models provided by processor configuration tools, or as an enhanced configuration tool with online target information supplied by debugger.
Processor configuration tools are software applications that usually provide a Graphical User Interface for allowing creation, configuration and optimization of software components. Example of such software components are Pin Multiplexing, Peripheral Interfaces selection, Memory view configuration, etc. The result is source code generation, C code mostly, that is used to configure customer’s custom applications. However, this process, including the intermediate steps, occurs without a connection to a running target, but having as input just a static database. Data usually describes different states of the target and logical relations between those states. Based on these information, processor configuration tools are able to show graphically possible target states and validate the logical relations. However, being offline, not connected to target, is leading to a limited validation and optimization suggestions from the tool.
This paper will describe the advantages of interconnecting debugger awareness with processor configuration tools capabilities in order to leverage the configuration, validation and optimization phases. This way the user gets information of how the limited number of configured targets states interact with the whole system, the target with all applications running. Note that the running applications might alter the statically predefined configurations.
When working with complex configurations, the standard processor configuration tools do not offer a way to perform debug operations in order to better viewing target states and conflicts. This impediment could hold back from speeding up the whole procedure in finding the optimal configuration which meets the specifications. For instance, to identify the root cause why the generated code (i.e. a driver) does not operate as expected on a device, detailed information about the intermediate components states, before code was generated, helps in diagnosing the problem. Based on the registers values and meta-models data from the debugger database, processor configuration tools could detect details about the configuration properties available on the target. In this way, there should be a better understanding of the target and configuration conflicts at some point. Going forward, breakpoints could be set in the application based on some high level state value.
By interconnecting the processor configuratio...