HOME

TheInfoList



OR:

Nexus or IEEE-ISTO 5001-2003 is a standard
debugging In computer programming and software development, debugging is the process of finding and resolving '' bugs'' (defects or problems that prevent correct operation) within computer programs, software, or systems. Debugging tactics can involve in ...
interface for
embedded system An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' as ...
s.


Features

The
IEEE-ISTO The IEEE Industry Standards and Technology Organization (ISTO) is a 501(c)(6) not-for-profit federation of industry alliances, consortia, and trade groups. Formed in 1999, ISTO has an affiliation with the Institute of Electrical and Electronics En ...
5001-2003 (Nexus) feature set is modeled on today's on-chip debug implementations, most of which are processor-specific. Its goal is to create a rich debug feature set while minimizing the required pin-count and die area, and being both processor- and architecture independent. It also supports multi-core and multi-processor designs. Accordingly, it is comparable to the
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
CoreSight debug architecture. Physically, IEEE-ISTO 5001-2003 defines a standard set of connectors for connecting the debug tool to the target or
system under test System under test (SUT) refers to a system that is being tested for correct operation. According to ISTQB it is the test object. From a Unit Testing perspective, the SUT represents all of the classes in a test that are not predefined pieces of co ...
. Logically, data is transferred using a packet-based protocol. This protocol can be
JTAG JTAG (named after the Joint Test Action Group which codified it) is an Technical standard, industry standard for verifying designs and testing printed circuit boards after manufacture. JTAG implements standards for on-chip instrumentation in ele ...
(IEEE 1149.1); or, for high-speed systems, an auxiliary port can be used that supports full duplex, higher bandwidth transfers. Key Nexus functionality involves either JTAG-style request/response interactions, or packets transferred through the debug port, and includes: * Run-time control ... With all implementations, debug tools can start and stop the processor, modify registers, and single-step machine instructions. * Memory access ... Nexus supports memory access while the processor is running. Such access is required when debugging systems where it is not possible to halt the system under test. Examples include Engine Control, where stopping digital feedback loops can create physically dangerous situations. * Breakpoints ... Programs halt when a specified event, a
breakpoint In software development, a breakpoint is an intentional stopping or pausing place in a program, put in place for debugging purposes. It is also sometimes simply referred to as a pause. More generally, a breakpoint is a means of acquiring knowle ...
, has occurred. The event can be specified as a code execution address, or as a data access (read or write) to an address with a specified value. Nexus breakpoints can be set at any address, including flash or ROM memory; CPUs may also provide special breakpoint instructions. * Several kinds of event
tracing Tracing may refer to: Computer graphics * Image tracing, digital image processing to convert raster graphics into vector graphics * Path tracing, a method of rendering images of three-dimensional scenes such that the global illumination is faithf ...
are defined, mostly depending on a high speed auxiliary port to offload the voluminous data without negatively impacting program execution: ** Program trace ... Branch tracing compresses program execution data, by emitting messages at branch or exception instructions only. Trace analysis reconstructs the program flow using a local image of code memory contents. ** Data trace ... Accesses to memory locations may be tracked, as limited by range (start and stop address) and access type (read or write). ** Ownership trace ... An
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
(OS, possibly an
RTOS A real-time operating system (RTOS) is an operating system (OS) for real-time applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which ...
) may write a task identifier to a Nexus register when switching tasks, forcing an ownership trace message to be emitted. * Memory substitution and port replacement ... This feature allows memory or port accesses to be emulated over the auxiliary Nexus port. * Data acquisition ...
Rapid prototyping Rapid prototyping is a group of techniques used to quickly fabricate a scale model of a physical part or assembly using three-dimensional computer aided design (CAD) data. Construction of the part or assembly is usually done using 3D printin ...
may require rapid transfer of large amounts of data via the auxiliary port to the debug tools. It uses a more efficient protocol than that used in data trace. It also helps calibration in automotive applications. A low-level
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
(API) is also allowed for, to mask target specifics such as the host connection mechanism (such as an
emulator In computing, an emulator is Computer hardware, hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run so ...
or Calibration-instrument{{Clarify, date=March 2010) and processor specific Nexus register details. This API is produced jointly by the tool and semiconductor vendor.


Compliance classes

IEEE-ISTO 5001-2003 is a scalable standard; there are currently four classes of compliance to the standard, ranging from the basic (JTAG only) Class 1 up to Class 4. * Class 1 supports run-time control (run, stop, memory upload/download when the processor is halted, breakpoints, read or set registers) using the JTAG interface. Communications are half duplex only and bandwidth is limited. Trace is not supported. * Class 2 adds ownership trace and program trace and allows the auxiliary debugging port to be shared with "slow" I/O port pins. Ownership trace allows current task or current process trace for systems based on real-time kernels or operating-systems. * Class 3 adds data write trace and memory read/write on-the-fly without halting execution. Data read/write tracing, sharing of the auxiliary port with high speed I/O ports such as the address/data bus, and support for data acquisition (visibility of related data parameters stored in internal resources, typically related calibration variables) may also be optionally part of Class 3 compliance. * Class 4 adds memory substitution (fetching or reading data over the Nexus auxiliary port) and allows tracing to be triggered by a watchpoint. Triggering memory substitution on a watchpoint is an optional feature of Class 4 compliance.


See also

* BDM *
JTAG JTAG (named after the Joint Test Action Group which codified it) is an Technical standard, industry standard for verifying designs and testing printed circuit boards after manufacture. JTAG implements standards for on-chip instrumentation in ele ...


Further reading

* IEEE-ISTO 5001™-199
The Nexus 5001 Forum™ Standard - providing the Gateway to the Embedded Systems of the Future
* IEEE-ISTO 5001-2003
The Nexus 5001 Forum Standard for a Global Embedded Processor Debug Interface


External links


NEXUS 5001 Forum

Nexus 5001 Forum Global Embedded Processor Debug Interface Standard
by William Wong
Multi-core analysis made easy with the Nexus 5001 debug spec
by Dr. Neal Stollon
The NEXUS Debug Standard: Gateway to the Embedded Systems of the Future
by Ashling Microsystems, Inc. Debugging IEEE standards