Debug Overview - 2024.2 English

MicroBlaze Processor Reference Guide (UG984)

Document ID
UG984
Release Date
2024-11-27
Version
2024.2 English

MicroBlaze features a debug interface to support JTAG based software debugging tools (commonly known as BDM or Background Debug Mode debuggers) like the System Debugger (XSDB) tool. The debug interface is designed to be connected to the MicroBlaze Debug Module (MDM) core, which interfaces with the JTAG port of FPGAs. Multiple MicroBlaze instances can be interfaced with a single MDM to enable multiprocessor debugging.

To be able to download programs, set software breakpoints and disassemble code, the instruction and data memory ranges must overlap, and use the same physical memory.

Debug registers are accessed using the debug interface, and are not directly visible to software running on the processor, unless the MDM is configured to enable software access to user-accessible debug registers. The debug interface can either use JTAG serial access or AXI4-Lite parallel access, controlled by the parameter C_DEBUG_INTERFACE.

See the MicroBlaze Debug Module (MDM) LogiCORE IP Product Guide (PG115) for a detailed description of the MDM features.

The basic debugging features enabled by setting C_DEBUG_ENABLED to 1 (Basic) include:

  • Configurable number of hardware breakpoints and watchpoints and unlimited software breakpoints
  • External processor control enables debug tools to stop, reset, and single step MicroBlaze
  • Read from and write to: memory, general purpose registers, and special purpose register, except EAR, EDR, ESR, BTR, and PVR0 - PVR12, which can only be read
  • Support for multiple processors

The extended debugging features enabled by setting C_DEBUG_ENABLED to 2 (Extended) include:

  • Configurable number of performance monitoring event and latency counters
  • Program Trace:
    • Embedded program trace with configurable trace buffer size
    • External program trace for multiple processors, provided by the MDM
  • Non-intrusive profiling support with configurable profiling buffer size
  • Cross trigger support between multiple processors, and external cross trigger inputs and outputs, provided by the MDM