System for analyzing and debugging embedded software through dynamic and interactive use of code markers
AssigneeHewlett-Packard Company
InventorsEric J. Kuzara, Andrew J. Blasciak, Greg S. Parets
Life of this patent
Estimating the term…
Loading patent…
AssigneeHewlett-Packard Company
InventorsEric J. Kuzara, Andrew J. Blasciak, Greg S. Parets
Estimating the term…
A system for inserting code markers for observing indications (external to the microprocessor upon which the software operates) of the occurrence of an event in the execution of the software. Additional instructions or markers are added to the software to be debugged to produce simple, encoded, memory references to otherwise unused memory or I/O locations that will always be visible to a logic analyzer as bus cycles. Although the code markers cause a minimal intrusion in the underlying software, they make tracing events by a conventional logic analyzer much simpler and allow for performance evaluations in manners not heretofore possible. The inserted code markers provide a method of dynamically extracting information from a running host or real-time "black box" embedded system under test using simple low intrusion print statements, encoded I/O writes on procedure entries and exits, and/or an interface to service calls and the like which writes out the passed parameters. The code markers are inserted at compile time or interactively during the debug session to make visible critical points in the code execution, such as function calls, task creation and semaphore operations, so as to speed isolation of problems at test points during debugging. Performance analysis and event analysis use the code markers to cut through the ambiguities of microprocessor prefetch and cache operations. Because of these features, the invention is particularly advantageous for use by software design teams developing complex embedded host or real-time operating systems using multi-task operating systems and/or object oriented systems.
A system for dynamically characterizing and debugging a software system including embedded software and a user program, said embedded software processing input parameters provided in service calls from said user program and returning processed output parameters to said user program, said system comprising:
A method of dynamically characterizing and debugging a software system including embedded software and a user program, said embedded software processing input parameters provided in service calls from said user program and returning processed output parameters to said user program, comprising the steps of:
Dependencies are inferred from the claim text.