Debugger Microblaze
Debugger Microblaze
Debugger Microblaze
TrOnchip.CONVert OFF
Break.Set 0x1000--0x17ff /Write
Break.Set 0x1001--0x17ff /Write
; sets breakpoint at range
; 1000--17ff sets single breakpoint
; at address 1001
; sets breakpoint at range
; 1000--17ff
; gives an error message
Format: TrOnchip.VarCONVert [ON | OFF]
MicroBlaze Debugger and Real-Time Trace 39 TrBus Commands
1989-2013 Lauterbach GmbH
TrBus Commands
TrBus.Out Define source for the external trigger pulse
Define the source for the external trigger pulse.
TrBus.Set Define the target for the incoming trigger
Select the target for the incoming trigger signal.
Format: TrBus.Out Break | ABreak | ATrigger [ON | OFF]
Break Generate an external trigger pulse when the program execution is stopped.
ABreak Generate an external trigger pulse when the sampling to the trace buffer is
stopped.
ATrigger Generate an external trigger pulse when a trigger is generated for the trace. A
trigger for the trace can be used to stop the sampling to the trace buffer after a
specified delay Analyzer.TDelay.
Format: TrBus.Set Break | ATrigger [ON | OFF]
Break Stop the program execution when the external trigger signal becomes active.
ATrigger Generate a trigger for the trace when the external trigger signal becomes
active. A trigger for the trace can be used to stop the sampling to the trace
buffer directly or after a specified delay Analyzer.TDelay.
MicroBlaze Debugger and Real-Time Trace 40 CPU specific MMU Commands
1989-2013 Lauterbach GmbH
CPU specific MMU Commands
MMU.DUMP Display MMU table
Displays the contents of the CPU specific MMU translation table. If called without parameters, the complete
table will be displayed.
If the command is called with either an address range or an explicit address, table entries will only be
displayed, if their logical address matches with the given parameter.
Format: MMU.DUMP <table> [<range>| <address>]
MMU.<table>.dump (deprecated)
<table>: PageTable
KernelPageTable
TaskPageTable <task>
and CPU specific tables
PageTable Display the current MMU translation table entries of the CPU.
This command reads all tables the CPU currently used for MMU translation
and displays the table entries.
KernelPageTable Display the MMU translation table of the kernel.
If specified with the MMU.FORMAT command, this command reads the
MMU translation table of the kernel and displays its table entries.
TaskPageTable Display the MMU translation table entries of the given process.
In MMU based operating systems, each process uses its own MMU
translation table. This command reads the table of the specified process,
and displays its table entries.
See also the appropriate OS awareness manuals: RTOS Debugger for
<x>.
MicroBlaze Debugger and Real-Time Trace 41 CPU specific MMU Commands
1989-2013 Lauterbach GmbH
MMU.List Display MMU table
Lists the address translation of the CPU specific MMU table. If called without address or range parameters,
the complete table will be displayed.
If called without a table specifier, this command shows the debugger internal translation table.
See TRANSlation.List.
If the command is called with either an address range or an explicit address, table entries will only be
displayed, if their logical address matches with the given parameter.
Format: MMU.List [<table> [<range>| <address>]]
MMU.<table>.List (deprecated)
<table>: PageTable
KernelPageTable
TaskPageTable <task>
PageTable List the current MMU translation of the CPU.
This command reads all tables the CPU currently used for MMU
translation and lists the address translation.
KernelPageTable List the MMU translation table of the kernel.
If specified with the MMU.FORMAT command, this command reads the
MMU translation table of the kernel and lists its address translation.
TaskPageTable List the MMU translation of the given process.
In MMU based operating systems, each process uses its own MMU
translation table. This command reads the table of the specified process,
and lists its address translation.
See also the appropriate OS awareness manuals: RTOS Debugger for
<x>.
MicroBlaze Debugger and Real-Time Trace 42 CPU specific MMU Commands
1989-2013 Lauterbach GmbH
MMU.SCAN Load MMU table from CPU
Loads the CPU specific MMU translation table from the CPU to the debugger internal translation table. If
called without parameters the complete page table will be loaded. The loaded address translation can be
viewed with TRANSlation.List.
If the command is called with either an address range or an explicit address, page table entries will only be
loaded if their logical address matches with the given parameter.
Format: MMU.SCAN <table> [<range><address>]
MMU.<table>.SCAN (deprecated)
<table>: PageTable
KernelPageTable
TaskPageTable <task>
ALL
and CPU specific tables
PageTable Load the current MMU address translation of the CPU.
This command reads all tables the CPU currently used for MMU translation,
and copies the address translation into the debugger internal translation
table.
KernelPageTable Load the MMU translation table of the kernel.
If specified with the MMU.FORMAT command, this command reads the
table of the kernel and copies its address translation into the debugger
internal translation table.
TaskPageTable Load the MMU address translation of the given process.
In MMU based operating systems, each process uses its own MMU
translation table. This command reads the table of the specified process,
and copies its address translation into the debugger internal translation
table.
See also the appropriate OS awareness manuals: RTOS Debugger for
<x>.
ALL Load all known MMU address translations.
This command reads the OS kernel MMU table and the MMU tables of all
processes and copies the complete address translation into the
debugger internal translation table.
See also the appropriate OS awareness manuals: RTOS Debugger for
<x>.
MicroBlaze Debugger and Real-Time Trace 43 Real-Time Trace
1989-2013 Lauterbach GmbH
Real-Time Trace
This sections list CPU specific options for the real-time trace.
SYStem.Option.DTM Control data trace messages
Default: OFF.
Enable this system option in order to record data trace messages of the target program. Note that
MicroBlaze XMTC only supports tracing of data load messages. Data write messages can not be triggered.
The option needs to be enabled before connecting the debugger to the target.
SYStem.Option.QUICKSTOP Control trace of software breakpoints
Default: OFF.
Enable this system option in order to optimize tracing of software breakpoints.
When hitting a software break, earlier versions of MicroBlaze jump to a software break handler and loop
there until the debugger detects the break. As this can last some milliseconds, the trace buffer will contain
irrelevant trace data.
By enabling the option is enabled, the debugger sets an on-chip breakpoint onto the software break handler
and thus stops the core immeditately.
Format: SYStem.Option.DTM [ON | OFF]
NOTE: To see data trace messages in the trace.list window, it is necessary to
increase the level of displayed details by clicking the more button.
Format: SYStem.Option.QUICKSTOP [ON | OFF] (deprecated)
MicroBlaze Debugger and Real-Time Trace 44 Real-Time Trace
1989-2013 Lauterbach GmbH
SYStem.Option.UserBSCAN Set default user bscan port
Default: 2 (USER2)
For connectingto a MicroBlaze core, the debugger iterates over the User BScan ports of the FPGA JTAG
controller until an MDM core with an attached MicroBlaze core is found. In systems with multiple MDM cores
this option is used to specify the first User BScan port to check and therefore allows to connect to a specific
MDM core. Note that this option is used only in very special designs as normally multiple MicroBlaze cores
are attached to a single MDM core (and selected via the SYStem.CPU command).
Format: SYStem.Option.UserBSCAN <port nr> 1...4
MicroBlaze Debugger and Real-Time Trace 45 Configuring your FPGA
1989-2013 Lauterbach GmbH
Configuring your FPGA
Before debugging, the FPGA needs to be configured with a design containing a MicroBlaze core enabled for
JTAG debugging. The configuration is done via the command Java.JTAG.LOADBIT. .
Be sure to have correct multicore settings before configuring the FPGA,
otherwise the configuration will fail. These settings are identical with those used
for debugging a MicroBlaze core.
Also ensure that the debugger is in SYStem.down mode, before configuring
your FPGA. Configuring the FPGA will break the communication link between
the debugger and the MicroBlaze core, if your debugger is in SYStem.up mode.
It is recommended to configure the target with the config option JTAG
dedicated i.e. not using a mode where JTAG overrides other configurations like
MSI, SPI etc. In the latter case configuration via TRACE32 may fail silently (no
error message), though configuration via Xilinx Impact works.
MicroBlaze Debugger and Real-Time Trace 46 JTAG Connector
1989-2013 Lauterbach GmbH
JTAG Connector
Mechanical Description
JTAG Connector for Xilinx Microblaze
It is recommended to connect all N/C Pins to GND (if you work with LAUTERBACH tools only).
The following chart details the pinout of the16 pin PPC400 debug cable, that is also used for debugging
Microblaze cores.
The debugger includes the adapter (LA-3731) that converts the PPC400 pinout to that of the 14 pin Xilinx
JTAG connector which is listed below:
NOTE: The HALT- and TRST- signals are irrelevant for debugging MicroBlaze designs.They are only
used for debugging the boot process of PPC cores. See the PowerPC debugger user guide for details.
Signal Pin Pin Signal
TDO 1 2 N/C
TDI 3 4 TRST- (*)
N/C 5 6 VCCS
TCK 7 8 N/C
TMS 9 10 N/C
HALT- 11 12 N/C
N/C 13 14 KEY
N/C 15 16 GND
Pinout of PPC400 debug cable
Signal Pin Pin Signal
GND 1 2 VREF
GND 3 4 TMS
GND 5 6 TCK
GND 7 8 TDO
GND 9 10 TDI
GND 11 12 NC
GND 13 14 NC
Pinout of Xilinx JTAG connector
MicroBlaze Debugger and Real-Time Trace 47 Support
1989-2013 Lauterbach GmbH
Support
Available Tools
Compilers
Realtime Operation System
No RTOS currently supported.
C
P
U
I
C
E
F
I
R
E
I
C
D
D
E
B
U
G
I
C
D
M
O
N
I
T
O
R
I
C
D
T
R
A
C
E
P
O
W
E
R
I
N
T
E
G
R
A
T
O
R
I
N
S
T
R
U
C
T
I
O
N
S
I
M
U
L
A
T
O
R
MICROBLAZE YES YES YES
Language Compiler Company Option Comment
C++ GCC XILINX ELF
MicroBlaze Debugger and Real-Time Trace 48 Support
1989-2013 Lauterbach GmbH
3rd Party Tool Integrations
CPU Debugger Company Host
ALL X-TOOLS / X32 blue river software GmbH Windows
ALL CODEWRIGHT Borland Software
Corporation
Windows
ALL CODE CONFIDENCE
TOOLS
Code Confidence Ltd Windows
ALL CODE CONFIDENCE
TOOLS
Code Confidence Ltd Linux
ALL EASYCODE EASYCODE GmbH Windows
ALL ECLIPSE Eclipse Foundation, Inc Windows
ALL RHAPSODY IN MICROC IBM Corp. Windows
ALL RHAPSODY IN C++ IBM Corp. Windows
ALL LDRA TOOL SUITE LDRA Technology, Inc. Windows
ALL ATTOL TOOLS MicroMax Inc. Windows
ALL VISUAL BASIC
INTERFACE
Microsoft Corporation Windows
ALL LABVIEW NATIONAL
INSTRUMENTS
Corporation
Windows
ALL CODE::BLOCKS Open Source -
ALL C++TEST Parasoft Windows
ALL RAPITIME Rapita Systems Ltd. Windows
ALL DA-C RistanCASE Windows
ALL SIMULINK The MathWorks Inc. Windows
ALL WINDOWS CE PLATF.
BUILDER
Windows Windows
MICROBLAZE CHIPSCOPE ANALYZER XILINX Windows
MicroBlaze Debugger and Real-Time Trace 49 Products
1989-2013 Lauterbach GmbH
Products
Product Information
Order Information
OrderNo Code Text
LA-3730
JTAG-MICROBLAZE
Debugger for MicroBlaze (ICD)
supports MicroBlaze
includes software for Windows, Linux and MacOSX
requires Power Debug Module or PowerTrace
debug cable with 16 pin connector
LA-3730A
JTAG-MICROBLAZE-A
JTAG Debug. License for MicroBlaze Additonal
supports MicroBlaze
Extension applicable to the following debug cables
(purchased separately):
for LA-7723 (JTAG Debugger for PPC405)
for LA-7752 (JTAG Debugger for PPC44x)
for LA-7843 (JTAG Debugger for Cortex-A/-R (ARMv7))
please add the base serial number of your debug
cable to your order
LA-3807
JTAG-AD-SPARTAN3
JTAG Converter Spartan3/MicroBlaze
JTAG Adapter Spartan3
Xilinx MicroBlaze
16 pin to 6 pin
Boards: EVB Spartan3EStarter Kit; EVB S3ADSP1800A
Order No. Code Text
LA-3730 JTAG-MICROBLAZE Debugger for MicroBlaze (ICD)
LA-3730A JTAG-MICROBLAZE-A JTAG Debug. License for MicroBlaze Additonal
LA-3807 JTAG-AD-SPARTAN3 JTAG Converter Spartan3/MicroBlaze
Additional Options
LA-7723A DEBUG-PPC400-A JTAG Debugger License for PPC400 Add.
LA-7752A DEBUG-PPC44X-A JTAG Debugger License for PPC44x Add.