You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
microwatt/scripts/mw_debug
Paul Mackerras 4bef477e29 core_debug: Add support for detecting writes to a memory address
This adds a new type of stop trigger for the log buffer which triggers
when any byte(s) of a specified doubleword of memory are written.
The trigger logic snoops the wishbone for writes to the address
specified and stops the log 256 cycles later (same as for the
instruction fetch address trigger).  The trigger address is a real
address and sees DMA writes from devices as well as stores done by the
CPU.

The mw_debug command has a new 'mtrig' subcommand to set the trigger
and query its state.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
1 year ago
..
Makefile mw_debug: Add STATIC_URJTAG flag 3 years ago
README mw_debug: Add README 5 years ago
mw_debug.c core_debug: Add support for detecting writes to a memory address 1 year ago

README

mw_debug is the microwatt debugger.

It can talk to the simulator using a socket.

On an Arty board it uses the FTDI device via liburjtag.

## Building on Fedora

```
dnf install urjtag-devel
make
```

If you commonly use it against one target, create an alias as follows:
```
alias mw="$HOME/microwatt/scripts/mw_debug/mw_debug -b jtag"
$ mw gpr 0 10
Connected to libftdi driver.
Found device ID: 0x0362d093
r0:	0000000000001094
r1:	0000000000001ed0
r2:	000000000000a000
r3:	0000000000000003
r4:	000000000000000d
r5:	00000000ffff2ca5
r6:	00000000ffff3eb8
r7:	0000000000000000
r8:	00000000ffff3c33
r9:	0000000000000003
Core: running
 NIA: 00000000000011d4
 MSR: 8000000000000001
```

## Building on Debian

Debian disables the library in the urjtag package. Instead, build against
local urjtag:

```
sudo apt install libftdi-dev
git clone https://git.code.sf.net/p/urjtag/git urjtag
cd urjtag/urjtag
./autogen.sh
make
```

And then uncomment the following line in Makefile to build against that copy

```
CFLAGS +=  -I urjtag/urjtag/include/ -L urjtag/urjtag/src/.libs/
```

To run:
```
alias mw="LD_LIBRARY_PATH=$HOME/microwatt/scripts/mw_debug/urjtag/urjtag/src/.libs/ $HOME/microwatt/scripts/mw_debug/mw_debug -b jtag"
$ mw
Connected to libftdi driver.
Found device ID: 0x0362d093
Core: running
 NIA: 00000000000011b8
 MSR: 8000000000000001
```