Using an embedded debug agent, as opposed to an external JTAG debug probe, requires a connection between the service processor and the JTAG chain of the target CPU.
The ScanWorks Embedded Diagnostics (SED) solution for Intel Skylake-EP platforms provides local and remote debugging capability via the x86 debug port instrument. SED thus acts as a dedicated hardware-assisted JTAG debugger, only embedded within an on-board service processor, such as a Baseboard Management Controller (BMC). It is thus hardware- and geography-independent and can be used anywhere in the world on numerous systems in parallel. ASSET’s SED solution is unique in that it embeds the In-Target Probe (ITP) functionality down directly on the target.
The necessary connections between the BMC and the processor debug chain can be as simple as hooking up five of the BMC GPIO up to the requisite TDI, TDO, TCK, TMS and TRST* signals on the eXtended Debug Port (XDP) connections. For some BMCs, it may be desirable to achieve a level of acceleration, by using the BMC’s own JTAG pins in a multiplexed master/slave configuration.
It is also highly recommended for the BMC GPIO to have access to any debug consent pins (for CPU or PCH) so as to enable the necessary strapping.
Most significantly, the BMC should have access to both PREQ and PRDY signals, to more directly initiate debug mode (probe mode) entry and breakpoint hit detection. PRDY, in particular, obviates the need for polling of the target to detect a breakpoint being hit. This reduces processor cycle overhead and makes the BMC a more efficient debug agent.
Correct hardware design changes allows for the implementation of three primary use cases:
- Run-control, such as for crash forensics or for in-situ, cover-on debug (as contrasted against in-lab, cover-off debug). This is accomplished with run-control deeply embedded in the target, with no remote host.
- Run-control, such as for in-situ, cover-on debug (as contrasted against in-lab, cover-off debug), including CScripts. This involves a remote host, for either automated (i.e. via an external rack manager) CScripts execution, or interactive CScripts / hands-on debug.
- Boundary-scan test (BST), such as for embedded manufacturing test (as contrasted against external manufacturing test).
For more about ASSET’s At-Scale Debug (ASD), see our website under ScanWorks Embedded Diagnostics (SED).