Professional Documents
Culture Documents
MicroBlaze ...............................................................................................................................
10
12
12
Troubleshooting ................................................................................................................
13
SYStem.Up Errors
13
FAQ .....................................................................................................................................
14
21
22
22
Breakpoints
23
Software Breakpoints
23
On-chip Breakpoints
23
Breakpoints in ROM
23
24
SYStem.Option.BrkHandler
SYStem.Option.BrkVector
25
25
SYStem.Option IMASKASM
26
SYStem.Option IMASKHLL
26
26
27
SYStem.Option MMUSPACES
SYStem.Option.ResetMode
Data.LOAD.Elf /CYgdrive
TERM.Method MDMUART
27
Terminal configuration
27
Memory Classes
28
Register Names
28
SYStem.CpuAccess
29
30
31
31
31
32
33
SYStem.JtagClock
SYStem.LOCK
SYStem.MemAccess
SYStem.Mode
SYStem.CONFIG
29
Daisy-chain Example
35
TapStates
36
SYStem.CONFIG.CORE
TrOnchip.VarCONVert
38
38
39
39
38
TrOnchip.RESet
TrOnchip.CONVert
37
40
40
41
42
43
MMU.List
MMU.SCAN
SYStem.Option.DTM
43
43
44
45
46
SYStem.Option.QUICKSTOP
SYStem.Option.UserBSCAN
Mechanical Description
46
46
Support ...............................................................................................................................
47
Available Tools
47
Compilers
47
47
48
Products .............................................................................................................................
49
Product Information
49
Order Information
49
1989-2016 Lauterbach GmbH
B::Data.List
addr/line
code
P:FFF021C0 39400000
P:FFF021C4 915F0018
567
P:FFF021C8
P:FFF021CC
P:FFF021D0
P:FFF021D4
39200000
2C890012
40850008
4800001C
B::Register
R0
0
R1
0FFFFFFD8
R2
0
R3
0
R4
0
R5
0
R6
0
R7
0
SPRG0
0
SPRG1
0
SPRG2
0
label
mnemonic
li
stw
comment
r10,0
r10,18(r31)
R8
R9
R10
R11
R12
R13
R14
R15
SRR0
SRR1
SRR2
0
0
0
0
0
0
0
0
0
0
0
B::PER
EXISR 80000000 CIS pending
D0IS wait
E0IS wait
S
D
E
Input
Output Configuration
IOCR 00000000 E0T level E1T level E2T le
E0L negative E1L negative
RDM disabled TCS sysclk
S
Bank 0
BR0
FF183FFE BAS 0FF00000
SRIS wait
D1IS wait
E1IS wait
BS 1MB
BU rea
General Note
Before starting please be sure to have up to date debugger software by getting an update from the
LAUTERBACH website. Note that the downloads on the website are stable releases but not necessarily the
latest versions. Therefore in case of problems please contact LAUTERBACH support at admicroblazesupport@lauterbach.com for getting the latest software update.
Debugger Basics - Training (training_debugger.pdf): Get familiar with the basic features of a
TRACE32 debugger.
Architecture-specific information:
Processor Architecture Manuals: These manuals describe commands that are specific for the
processor architecture supported by your debug cable. To access the manual for your processor
architecture, proceed as follows:
-
RTOS Debugger (rtos_<x>.pdf): TRACE32 PowerView can be extended for operating systemaware debugging. The appropriate RTOS manual informs you how to enable the OS-aware
debugging.
Please note that multicore configuration will be required in most cases, even when there is only a single
Microblaze processor in the target. For information about setting up multicore-configuration see the
application note Connecting to MicroBlaze Targets for Debug and Trace (app_microblaze.pdf).
General Note
MMU translation.
Program and data trace are supported via the Xilinx MicroBlaze Trace Core (XMTC) IP. The
XMTCs trigger features are currently not supported.
NOTE:
As onchip breakpoints require additional FPGA resources and may slow down
the maximum frequency of a MicroBlaze desig, it is necessary to explicitly
configure them in the FPGA design.
NOTE:
XMTC is officially supported and tested by Xilinx until EDK12.4 and thus up to
MicroBlaze V7.30.a.
ESD Protection
NOTE:
Disconnect the debug cable from the target while the target power is
off.
2.
Connect the host system, the TRACE32 hardware and the debug
cable.
3.
4.
5.
6.
7.
Power down:
1.
2.
3.
4.
ESD Protection
Multicore configuration will be required in most cases, even when there is only a
single Microblaze processor in the target. For information about setting up
multicore-configuration see the application note Connecting to MicroBlaze
Targets for Debug and Trace (app_microblaze.pdf).
For getting started with debugging, the installation CD contains sample bit streams and scripts for ML310,
ML403, Spartan3EStarter, Spartan3ADSP1800Starter boards. You find them on the CD at
<InstallCD>files/demo/microblaze/hardware
The following example uses ML403. Configure the target with the bit stream
<InstallCD>/files/demo/microblaze/hardware/mb.v700a/download.bit
The FPGA configuration can be done using Xilinx iMPACT or the TRACE32 command JTAG.LOADBIT.
After starting the TRACE32 software enter the following commands for connecting to the target and load a
sample file:
5.
6.
Configure multicore settings for telling the debugger where the MicroBlaze core is located in the
JTAG scan chain. For Xilinx EVB ML403 use the following settings:.
SYStem.CONFIG
SYStem.CONFIG
SYStem.CONFIG
SYStem.CONFIG
7.
IRPOST 28.
IRPRE 8.
DRPOST 2.
DRPRE 1.
Attach to the target and enter debug mode, using the multicore settings from above:
SYStem.Up
This command resets the CPU and enters debug mode. After executing this command, memory and
registers can be accessed.
8.
Note the option /CYGDRIVE. As the Xilinx MicroBlaze compiler is executed within a Cygwin
environment it creates debug symbols with paths beginning with \cygdrive\c\. By using the
option /CYGDRIVE TRACE32 internally converts this prefix to the correct syntax e.g. to c:\ on
windows hosts.
9.
10.
Register
NOTE:
The Xilinx MicroBlaze Trace Core IP (XMTC) is supported and tested by Xilinx only
until EDK12. In later EDK versions XMTC support was dropped. For the time being,
MicroBlaze V7.30.a is the last version with trace support.
The trace probe connects to a matched impedance connector (mictor) on the target, either directly or via
an adaptor. For details on connectors available from LAUTERBACH see the application note Connecting
to MicroBlaze Targets for Debug and Trace (app_microblaze.pdf)
The following example uses ML403, together with the trace connector LA-3804. The sample script and the
bit stream are found on the installation CD under
files/demo/microblaze/hardware/ml403/mb.v700b.xmtc/
Configure the target with the bit stream download.bit, start the debugger and execute the script below
(demo.mb.v700b.cmm). The individual commands are explained in the following.
Select CPU and make multicore settings, specific for ML403:
SYStem.CPU microblaze0
SYStem.CONFIG IRPOST 28.
SYStem.CONFIG IRPRE 8.
SYStem.CONFIG DRPOST 2.
SYStem.CONFIG DRPRE 1.
If the debug interface has a trace probe (analyzer), we configure it for FIFO mode (oldest trace data is
overwritten by new data), for keeping trace data between break/continue operations, enable data trace
messages (DTM) and optimize the handling of software breaks. Finally we open windows for manual
analyzer configuration and for displaying the collected trace data:
if analyzer()
(
analzyer.mode.fifo
analyzer.autoinit off
sys.o.dtm on
sys.o.quickstop on
analyzer
analyzer.list
)
10
Now we connect to the target, load the demo application and run it up to the function sieve():
SYStem.P
Data.LOAD.Elf mb.v700b.xmtc/sieve/sieve_8c000000.elf /cygdrive
Go sieve
Data.List
You can now debug your application and observe the traced instruction stream in the analyzer.list
window.
11
NOTE:
The default setting is OFF, because traditionally MicroBlaze cores used big-endian byte order (in OPB and
PLB systems).
NOTE:
12
Troubleshooting
SYStem.Up Errors
The SYStem.Up command is used to establish a debug connection to the target. If you receive error
messages while executing this command this may have one reasons listed below. For additional information
please refer to the FAQ sectionn if this manual and on the LAUTERBACH website.
All
All
The multicore settings are incorrect. For information how to calculate the multicore settings see Connecting to MicroBlaze Targets for Debug and Trace
(app_microblaze.pdf)
All
The debugger software is out of date. The Microblaze architecture evolves rapidly and therefore regular updates of the debugger software are necessary. Note
that the software downloads on the LAUTERBACH website represent stable
releases but are not necessarily the latest versions. If the problems persist after
updating from the website, please contact LAUTERBACH support.
All
The target FPGA is not configured correctly. The FPGA configuration (e.g. via
ACE files) can be disturbed, if the debug cable is attached to the target but the
debugger is powered down. Try to detach the debug cable and attach it after
FPGA configuration.
All
All
You used a wrong JTAG connector on the target. In particular on ML310 always
use the 14pin JTAG connector J9 for debugging Microblaze.
13
Troubleshooting
FAQ
Debugging via
VPN
14
FAQ
Setting a
Software
Breakpoint fails
MICROBLAZE
09-02-15
MICROBLAZE
Connection to
Target Fails
When connecting to XILINX targets be sure to use a recent version of the debug
cable (see picture).
With the old version of the debug cable target connection will fail or be
unreliable.
15
FAQ
MICROBLAZE
MICROBLAZE
Error Reading
Processor
Config Register
MicroBlaze
Fail of Single
Stepping
MicroBlaze
FPGA configuration via TRACE32 fails but works with Xilinx Impact
FPGA
configuration
via TRACE32
In one case it was observed, that FPGA configuration worked with Xilinx Impact
but failed with TRACE32. In this case the target had been set up for FPGA
configuration via SPI. This implies the possibility to override the configuration via
JTAG.
After jumpering the target for "JTAG dedicated" configuration, downloading the
bitstream via TRACE32 worked fine. Note that in the failing case the download
failed silenty i.e. jtag.loadbit did not report an error.
In general be sure to set multicore pre/post parameters before configuring the
FPGA with identical values as used for debugging.
16
FAQ
MicroBlaze
Generating
correct debug
info
MicroBlaze
Go.Up
Command
Fails
The Go.Up command (function key F6) may fail inside an interrupt, exception or
break handler that is called via the brk or brki instructions. Use go.return to get
to the end of the handler routine and leave it via step.asm until the PC is back in
the interrupted routine.
MicroBlaze
Loading C++
programs
MicroBlaze
MC Settings
Calculation
MICROBLAZE
MicroBlaze
spontaneously
stops while
debugging
interrupts
17
FAQ
MICROBLAZE
No Source
Code shown
on Xilinx
Targets
MicroBlaze
On-chip Data
Breaks with
unaligned
Memory
MicroBlaze
On-chip
Databreak
Problem
Microblaze MB V4.00.a has a hardware issue that affects use of on-chip breaks.
When specifying a read or write data value, the OnChip break logic does not
consider the width of the access. Therefore avoid using the /data.byte, /
data.word, /data.long options. Simple read/write on-chip breaks that do not
specify a data value work.
The hardware issue is fixed in MB V5.00.b.
MicroBlaze
Problems with
Source Code
Display
MicroBlaze
Setting
Register R0
fails
Why does not the debugger display the source code associated with my
program?
The Xilinx Microblaze compiler is based on the GNU GCC and the Cygwin
toolset. Therefore file paths in the debug information in the .ELF file are
generated in a non-standard form e.g. as /cygdrive/c/sample instead of c:/
sample. Use the option /CYGDRIVE for enabling automatic path conversion:
Data.LOAD.ELF MBSample/sample.elf /CYGDRIVE
Why does the setting of register R0 fail?
The architectural register R0 in Microblaze is hardcoded to 0. Therefore
changing the register value to other values will fail.
18
FAQ
MicroBlaze
Software
Breakpoints or
Single
Stepping fail
with ucLinux
MicroBlaze
Target
Connection
How should I connect the target? Why does connection to ML310 fail?
For connecting to the target use the included adapter together with the debug
cable. The adapter plugs into the 14-pin connector of the target board. This port
is also used to configure the FPGAs via the Xilinx download cable and often
labelled as "FPGA&CPU Debug" or "PC4 JTAG".
For debugging Microblaze on Xilinx EVB ML310 always use the "PC4 JTAG"
connector. The "CPU JTAG" connector will not work.
NOTE: Even though Microblaze and PPC405 use the same debug cable there is
a difference regarding target connections: Microblaze cores are always
debugged via the 14 pin header, whereas PPC405 cores (embedded in some
Xilinx FPGAs) are occasionally accessed via other connectors.
MicroBlaze
Trace Interface
for MicroBlaze
MICROBLAZE
XPS demo
applications do
not work
term.res
functionality
term.method mdmuart
term.size 110. 1000.
text output
term.gate
19
FAQ
PPC440
No Source
Code shown
on Xilinx
Targets
20
FAQ
21
22
Breakpoints
There are two types of breakpoints available:
Onchip breakpoints.
Software Breakpoints
Software breakpoints are implemented via a breakpoint instruction. These are the default breakpoints and
are usually used in RAM areas. Utilizing advanced TRACE32 mechanisms, in software breakpoints can
also be used in FLASH areas.There is no restriction in the number of software breakpoints.
For using SW breakpoints with ucLinux or other operating systems, setting the option
SYStem.Option.BrkVector may be required.
On-chip Breakpoints
Onchip breakpoints (Lauterbach terminology) allow to stop the core in specific conditions. As this is
implemented via hardware-resources, they are also referred to as hardware breakpoints in nonLauterbach terminology.
The following list gives an overview of the usage of the on-chip breakpoints by TRACE32-ICD:
Instruction breakpoints stop the core when it reaches a certain program location.
Read/Write address breakpoints can stop the core upon read or write data accesses.
Data breakpoints stop the program when a specific data value is written to an address or when
a specific data value is read from an address.
NOTE:
Breakpoints in ROM
With the command MAP.BOnchip <address range>, TRACE32 is configured to use onchip breakpoints in
the specified address range. Therefore the command Break.Set will set an onchip breakpoint in this range
and the parameter /Onchip can be omitted. Typically this feature is used with ROM or FLASH memories
that prevent the use of software breakpoints.
23
; Software Breakpoint 1
; Software Breakpoint 2
; Software Breakpoint 3
On-chip breakpoints:
Break.Set 0x100 /Program
; On-chip Breakpoint 1
; On-chip Breakpoint 2
24
SYStem.Option.BrkHandler
Format:
Default: AUTO
The option controls whether the debugger writes a handler for software breakpoints to the target memory.
The address can be configured via SYStem.Option BrkVector.
The option AUTO detects if the software breakpoint handler is required by the current core.
This can be overridden by the options ON or OFF for special cases. The breakpoint handler should be
switched OFF when
if the vector table resides in ROM or fetch-only memory areas. In this case the vector table preloaded with the memory image must contain a breakpoint handler.
If all program memory is read-only consider the use of OnChip breaks as alternative.
NOTE:
SYStem.Option.BrkVector
Format:
<vector>:
Use this option to set an alternative address for the software breakpoint handler created by the debugger.
Changing the default address is necessary when the vector 0x18 is occupied e.g. by interrupt handlers.
The option must be set before attaching to the target to have an effect.
The vector should be 32bit- aligned. Do not use 0x0 as break vector.
For ucLinux it is recommended to set the handler address to 0x70.
25
When changing the breakpoint vector, the debugger automatically uses a matching opcode for software
breakpoints.
NOTE:
SYStem.Option IMASKASM
Format:
Mask interrupts during assembler single steps. Useful to prevent interrupt disturbance during assembler
single stepping.
SYStem.Option IMASKHLL
Format:
Mask interrupts during HLL single steps. Useful to prevent interrupt disturbance during HLL single stepping.
SYStem.Option MMUSPACES
Format:
Default: OFF.
Enables the usage of the MMU to support multiple address spaces. The command should not be used if
only one translation table is used. Enabling the option will extend the address scheme of the debugger by a
16 bit memory space identifier. You should activate the option first, and then load the symbols.
26
SYStem.Option.ResetMode
Format:
<mode>:
CORE | SYSTEM
Use this option to select the reset mode. CORE will only reset the MicroBlaze core while SYSTEM will also
reset the peripherals.
Note that a reset of the MicroBlaze core does not reset the register R1-R31, caches and UTLB.
Data.LOAD.Elf /CYgdrive
Format:
Use Data.LOAD.Elf with the option /CYGDRIVE so the debugger finds the source code associated with an
ELF file.
This is required because the Xilinx MicroBlaze compiler is executed within a a Cygwin environment.
Therefore the debug symbols have paths beginning with \cygdrive\c\ that are not valid in the host file
system. By using the option /CYGDRIVE TRACE32 will convert this prefix to the correct syntax e.g. to c:\ on
windows hosts.
Refer to the general description of Data.LOAD.Elf for more options.
TERM.Method MDMUART
Format:
Terminal configuration
TERM.Method MDMUART
Configures the TRACE32 terminal functionality to access the UART controller of the MDM core. Use this
option when your design handles STDIO via MDM UART.
27
Sample script for opening term window attached to MDM Uart core:
TERM.RESet
TERM.METHOD MDMUART
TERM.SIZE 110. 1000.
TERM.GATE
;
;
;
;
To confirm if the MDM UART is enabled in your design, open the peripheral window via the PER command
and look for the section MDM UART Configuration.
Memory Classes
The following memory classes are available:
Memory Class
Description
Program memory
Data memory
Register Names
In TRACE32, the general purpose registers (R0-R31) and special purpose registers (e.g. MSR - machine
state register, SLR - Stack low register etc.) are named according to the convention in the MicroBlaze
Processor Reference Guide and shown accordingly in the register window.
These names are also used in the disassembly views and the Data.Assemble command. This is in
deviation from the Xilinx suggestions to use rmsr, rslr, etc. in the context of assembly language.
Data.Assemble 0x1000 mfs r0, MSR
Data.Assemble 0x1004 mts SLR, r3
28
SYStem.CPU
Format:
SYStem.CPU <cpu>
<cpu>:
MICROBLAZE |
(deprecated) MICROBLAZE0 | MICROBLAZE1 | MICROBLAZE2
| MICROBLAZE3
SYStem.Up
Note that all the cores inside an FPGA share identical multicore settings (PRE, POST values) because
they are accessed via the same TAP controller implemented in the Xilinx MDM IP block.
NOTE:
The core number parameter for CORE.ASSIGN starts counting with 1 (valid
values 1,2,3, ...) whereas the obsolete commands for selecting a CPU started with
the index 0 (MICROBLAZE0, MICROBLAZE1, MICROBLAZE2, ... )
29
SYStem.CpuAccess
Format:
Default: Denied.
Enable
Denied
Nonstop
Lock all features of the debugger, that affect the run-time behavior.
Nonstop reduces the functionality of the debugger to:
trace display
The debugger inhibits the following:
all features of the debugger that are intrusive (e.g. action Spot for breakpoints, performance analysis via StopAndGo mode, conditional breakpoints etc.)
30
SYStem.JtagClock
Format:
SYStem.JtagClock <rate>
SYStem.BdmClock <rate> (deprecated)
<fixed>:
NOTE:
Buffers, additional loads or high capacities on the JTAG lines reduce the
maximum operation frequency of the JTAG clock and should be avoided.
SYStem.LOCK
Format:
Default: OFF.
If the system is locked, no access to the debug port will be performed by the debugger. While locked, the
debug connector of the debugger is tristated. The main intention of the lock command is to give debug
access to another tool.
SYStem.MemAccess
Format:
SYStem.MemAccess Denied
Denied
31
SYStem.Mode
Format:
SYStem.Mode <mode>
<mode>:
Down
NoDebug
Go
Attach
Up
NoDebug
Resets the target with debug mode disabled (for the PPC400 family the same
as Go). In this mode no debugging is possible. The CPU state keeps in the
state of NoDebug
Go
Resets the target with debug mode enabled and prepares the CPU for debug
mode entry. After this command the CPU is in the system.up mode and running.
Now, the processor can be stopped with the break command or until any break
condition occurs.
Up
Resets the target and sets the CPU to debug mode. After execution of this
command the CPU is stopped and prepared for debugging. All register are set
to the default value.
Attach
This command works similar to Up command. The difference is, that the target
CPU is not reset. The BDM/JTAG/COP interface will be synchronized and the
CPU state will be read out. After this command the CPU is in the SYStem.Up
mode and can be stopped for debugging.
StandBy
Not supported.
32
SYStem.CONFIG
Format:
<parameter>
(General):
state
CORE
(JTAG):
DRPRE <bits>
DRPOST <bits>
IRPRE
<bits>
IRPOST <bits>
TAPState <state>
TCKLevel <level>
TriState [ON | OFF]
Slave
[ON | OFF]
<core>
The four parameters IRPRE, IRPOST, DRPRE, DRPOST are required to inform the debugger about the
TAP controller position in the JTAG chain, if there is more than one core in the JTAG chain (e.g. ARM +
DSP). The information is required before the debugger can be activated e.g. by a SYStem.Up. See Daisychain Example.
For some CPU selections (SYStem.CPU) the above setting might be automatically included, since the
required system configuration of these CPUs is known.
TriState has to be used if several debuggers (via separate cables) are connected to a common JTAG port
at the same time in order to ensure that always only one debugger drives the signal lines. TAPState and
TCKLevel define the TAP state and TCK level which is selected when the debugger switches to tristate
mode. Please note: nTRST must have a pull-up resistor on the target, TCK can have a pull-up or pull-down
resistor, other trigger inputs needs to be kept in inactive state.
Multicore debugging is not supported for the DEBUG INTERFACE (LA-7701).
33
state
CORE
For multicore debugging one TRACE32 GUI has to be started per core.
To bundle several cores in one processor as required by the system this
command has to be used to define core and processor coordinates within
the system topology.
Further information can be found in SYStem.CONFIG.CORE.
DRPRE
DRPOST
(default: 0) <number> of TAPs in the JTAG chain between the TDI signal
of the debugger and the core of interest. If each core in the system
contributes only one TAP to the JTAG chain, DRPOST is the number of
cores between the TDI signal of the debugger and the core of interest.
IRPRE
IRPOST
TAPState
TCKLevel
TriState
(default: OFF) If several debuggers share the same debug port, this
option is required. The debugger switches to tristate mode after each
debug port access. Then other debuggers can access the port. JTAG:
This option must be used, if the JTAG line of multiple debug boxes are
connected by a JTAG joiner adapter to access a single JTAG chain.
Slave
(default: OFF) If more than one debugger share the same debug port, all
except one must have this option active.
JTAG: Only one debugger - the master - is allowed to control the signals
nTRST and nSRST (nRESET).
34
Daisy-chain Example
TDI
Core A
Core B
Core C
Chip 0
Core D
TDO
Chip 1
Core A: 3 bit
Core B: 5 bit
Core D: 6 bit
SYStem.CONFIG.IRPRE 6
; IR Core D
SYStem.CONFIG.IRPOST 8
; IR Core A + B
SYStem.CONFIG.DRPRE 1
; DR Core D
SYStem.CONFIG.DRPOST 2
; DR Core A + B
SYStem.CONFIG.CORE 0. 1.
35
TapStates
0
Exit2-DR
Exit1-DR
Shift-DR
Pause-DR
Select-IR-Scan
Update-DR
Capture-DR
Select-DR-Scan
Exit2-IR
Exit1-IR
10
Shift-IR
11
Pause-IR
12
Run-Test/Idle
13
Update-IR
14
Capture-IR
15
Test-Logic-Reset
36
SYStem.CONFIG.CORE
Format:
<chipindex>:
1i
<coreindex>:
1k
For MicroBlaze specific information please refer to Connecting to MicroBlaze Targets for Debug and
Trace (app_microblaze.pdf).
37
TrOnchip Commands
TrOnchip.view
Format:
TrOnchip.view
TrOnchip.RESet
Format:
TrOnchip.RESet
38
TrOnchip Commands
TrOnchip.CONVert
Format:
The on-chip breakpoints can only cover specific ranges. If a range cannot be programmed into the
breakpoint it will automatically be converted into a single address breakpoint when this option is active. This
is the default. Otherwise an error message is generated.
TrOnchip.CONVert ON
Break.Set 0x1000--0x17ff /Write
Break.Set 0x1001--0x17ff /Write
TrOnchip.CONVert OFF
Break.Set 0x1000--0x17ff /Write
Break.Set 0x1001--0x17ff /Write
TrOnchip.VarCONVert
Format:
The on-chip breakpoints can only cover specific ranges. If you want to set a marker or breakpoint to a
complex variable, the on-chip break resources of the CPU may be not powerful enough to cover the whole
structure. If the option TrOnchip.VarCONVert is ON the breakpoint will automatically be converted into a
single address breakpoint. This is the default setting. Otherwise an error message is generated.
39
TrOnchip Commands
MMU.DUMP
Format:
<table>:
PageTable
KernelPageTable
TaskPageTable <task>
and CPU specific tables
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.
The optional <root> argument can be used to specify a page table base address deviating from the default
page table base address. This allows to display a page table located anywhere in memory.
PageTable
KernelPageTable
TaskPageTable
40
MMU.List
Format:
<table>:
PageTable
KernelPageTable
TaskPageTable <task>
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.
PageTable
KernelPageTable
TaskPageTable
41
MMU.SCAN
Format:
<table>:
PageTable
KernelPageTable
TaskPageTable <task>
ALL
and CPU specific tables
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.
PageTable
KernelPageTable
TaskPageTable
ALL
42
Real-Time Trace
This sections list CPU specific options for the real-time trace.
SYStem.Option.DTM
Format:
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.
NOTE:
SYStem.Option.QUICKSTOP
Format:
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 immediately.
43
Real-Time Trace
SYStem.Option.UserBSCAN
Format:
Default: 2 (USER2)
For connecting to 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).
44
Real-Time Trace
45
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.
Signal
TDO
TDI
N/C
TCK
TMS
HALTN/C
N/C
Pin
1
3
5
7
9
11
13
15
Pin
2
4
6
8
10
12
14
16
Signal
N/C
TRST- (*)
VCCS
N/C
N/C
N/C
KEY
GND
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:
Signal
GND
GND
GND
GND
GND
GND
GND
Pin
1
3
5
7
9
11
13
Pin
2
4
6
8
10
12
14
Signal
VREF
TMS
TCK
TDO
TDI
NC
NC
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.
46
JTAG Connector
Support
MICROBLAZE
YES
YES
INSTRUCTION
SIMULATOR
POWER
INTEGRATOR
ICD
TRACE
ICD
MONITOR
ICD
DEBUG
FIRE
ICE
CPU
Available Tools
YES
Compilers
Language
Compiler
Company
Option
C++
GCC
XILINX
ELF
Comment
47
Support
Tool
Company
ALL
ALL
ALL
ADENEO
X-TOOLS / X32
CODEWRIGHT
ALL
CODE CONFIDENCE
TOOLS
CODE CONFIDENCE
TOOLS
EASYCODE
ECLIPSE
RHAPSODY IN MICROC
RHAPSODY IN C++
CHRONVIEW
LDRA TOOL SUITE
UML DEBUGGER
Adeneo Embedded
blue river software GmbH
Borland Software
Corporation
Code Confidence Ltd
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
MICROBLAZE
ATTOL TOOLS
VISUAL BASIC
INTERFACE
LABVIEW
CODE::BLOCKS
C++TEST
RAPITIME
DA-C
TRACEANALYZER
SIMULINK
TA INSPECTOR
UNDODB
VECTORCAST UNIT
TESTING
VECTORCAST CODE
COVERAGE
WINDOWS CE PLATF.
BUILDER
CHIPSCOPE ANALYZER
Host
Windows
Windows
Windows
Linux
EASYCODE GmbH
Eclipse Foundation, Inc
IBM Corp.
IBM Corp.
Inchron GmbH
LDRA Technology, Inc.
LieberLieber Software
GmbH
MicroMax Inc.
Microsoft Corporation
Windows
Windows
Windows
Windows
Windows
Windows
Windows
Windows
Windows
NATIONAL
INSTRUMENTS
Corporation
Open Source
Parasoft
Rapita Systems Ltd.
RistanCASE
Symtavision GmbH
The MathWorks Inc.
Timing Architects GmbH
Undo Software
Vector Software
Windows
Windows
Windows
Windows
Windows
Windows
Windows
Linux
Windows
Vector Software
Windows
Windows
Windows
XILINX
Windows
48
Support
Products
Product Information
OrderNo Code
Text
LA-3730
JTAG-MICROBLAZE
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
supports MicroBlaze
please add the base serial number of your debug
cable to your order
LA-3807
JTAG-AD-SPARTAN3
Order Information
Order No.
Code
Text
LA-3730
LA-3730A
LA-3807
JTAG-MICROBLAZE
JTAG-MICROBLAZE-A
JTAG-AD-SPARTAN3
Additional Options
LA-7723A DEBUG-PPC400-A
LA-7752A DEBUG-PPC44X-A
49
Products