Target control abstraction for debugging embedded systems

Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S037000

Reexamination Certificate

active

06658600

ABSTRACT:

FIELD OF THE INVENTION
This invention relates generally to embedded systems, and more particularly to debugging embedded systems. However, the invention can be applied to other computer systems as well.
BACKGROUND OF THE INVENTION
Embedded systems are the most prevalent of all computer systems used today, accounting for the vast majority of microprocessors sold. Advances in processor technology and memory technology and their associated low cost allow them to be considered for a large number of applications. The size and sophistication of embedded applications has correspondingly grown.
Embedded systems share most of the following characteristics. They generally are developed around custom hardware, require high quality and reliability, and frequently deal with real-time issues. The applications running on these systems can be very large and complex. Examples of such systems include telecommunication switching systems, aircraft, spacecraft, and weapons systems, and a multitude of applications in the car and in the house. Other examples of embedded systems include cellular phones, set-top boxes, and personal-digital assistant (PDA) devices.
Because of their required reliable and often real-time nature, embedded systems generally require careful debugging to ensure that they work as intended. However, debugging embedded systems can be difficult. The advantages of embedded systems—the variety in processors often found in them, their reliability, etc.—make for their debugging to be arduous. Within the prior art, development environments—which are the sets of software tools used by developers to develop embedded system applications—usually cater to only a small number of different processors. This means that a developer who is adept at using a given development environment may find him or herself having to use a different environment for projects that use chips not supported by the favored environment.
Furthermore, the development environments within the prior art are typically hard coded for a particular set of processors. This means that the extensibility of such environments is limited. It is difficult, for example, to extend the environments to support other processors, without having to re-code them. Moreover, it is difficult to extend the features supported by the environments. A given development environment, for example, may support certain debugging features which a developer may desire to use with another development environment. Within the prior art, however, this is difficult to accomplish.
Furthermore, existing universal debugging interfaces are limited. For example, the Universal Debugger Interface (DBI) known within the art is relative to a specific process, and thus is not general for over all processes. It does not include memory search and copy primitives as well, limiting its usefulness. For these and other reasons, therefore, there is a need for the present invention.
SUMMARY OF THE INVENTION
The invention relates to target control abstraction for debugging embedded systems, where the term “target” non-restrictively and in a non-limiting manner refers to hardware, such as a processor, that is part of an embedded system, and which is desired to be debugged. In one embodiment, there are two abstracted models for debugging an embedded system: an abstracted hardware model, and an abstracted hardware-via-software model. The hardware model includes a non-hardware-specific debugging interface, for communication between a debugger for the embedded system and the hardware of the embedded system. The hardware-via-software model includes a proxy to receive commands intended for the hardware of the embedded system from the debugger, and a component within a kernel of the embedded system to receive the commands and convey them to the hardware. However, in other embodiments of the invention, the component is not within the kernel, for example, and can be any type of software agent on the target.
Embodiments of the invention provide for advantages not found within the prior art. For example, the non-hardware-specific debugging interface allows for easy extensibility of the development environment. New processors can often be easily supported without re-coding of the entire development environment; rather, only a translation driver is typically necessary to parse the debugging interface to a particular new target (although in other embodiments, more components can be needed or changed than the driver). New functionality can also be easily integrated into the development environment without re-coding, via plug-ins that utilize the non-hardware-specific interface. Similarly, by using proxies and kernel components particular to a given target, the hardware-via-software model allows for easy extensibility since only a new proxy and kernel component usually need to be developed to support a new target.
Furthermore, as compared to the UDI universal debugger interface known within the art, embodiments of the invention are not relative to a specific process, and thus are generalized over all processes, making for a better debugger. In one embodiment, memory search and copy primitives are provided, providing a further advantage as compared to the UDI.


REFERENCES:
patent: 5404496 (1995-04-01), Burroughs et al.
patent: 5428618 (1995-06-01), Ueki et al.
patent: 5581695 (1996-12-01), Knoke et al.
patent: 6094729 (2000-07-01), Mann
patent: 6188975 (2001-02-01), Gay
patent: 6223144 (2001-04-01), Barnett et al.
patent: 6240529 (2001-05-01), Kato
patent: 6249881 (2001-06-01), Porten et al.
patent: 6298320 (2001-10-01), Buckmaster et al.
patent: 6389558 (2002-05-01), Herrmann et al.
Atomica Website: http://www.atomica.com, search input: kernel.*
Universal Debugger Interface (UDI) specification, version 1.4, revision 3, Aug. 17, 1995, Advanced Micro Devices, Inc.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Target control abstraction for debugging embedded systems does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Target control abstraction for debugging embedded systems, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Target control abstraction for debugging embedded systems will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3113261

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.