9
0
Fork 0
barebox/arch/mips/include/asm
Antony Pavlov 15001b1f95 MIPS: pbl: add nmon MIPS nano-monitor
nmon is a tiny monitor (<1200 bytes) program
for the MIPS processors.
It can operate with NO working RAM at all!
It uses only the processor registers and NS16550-compatible
UART port for operation, so it can be used for a memory
controller setup code debugging.

With no changes nmon should work on different MIPS
processors as it uses only common MIPS-I instructions.

nmon is inspired by mmon, MIPS VR4300 Mini-monitor.

mmon is copyrighted 1996, 2003 by Eric Smith.
Also Alexander Voropay must be noted for his work
on qemu & YAMON mmon adaptations made in 2006 and 2007.

See http://www.brouhaha.com/~eric/software/mmon/
for mmon details.

The mmon's features missed in nmon:

 * batch memory dumps;
 * byte and 16-bit half-words dumps and stores;
 * fill memory;
 * load S-records (this function make sense only
 if RAM works properly).

nmon has only 4 commands:
 q - quit to barebox
 d <addr> - read 32-bit word from <addr> address
 w <addr> <val> - write 32-bit word <val> to <addr>
 g <addr> - jump to <addr>

Addresses and data must be given in hexadecimal.
Everything (including hex digits 'a'..'f') must
be in lower case.

EXAMPLE: change value of word with address 0xa0000000

nmon> d a0000000
00000000
nmon> w a0000000 12345678
nmon> d a0000000
12345678
nmon>

There is no error checking of any kind. If you
give an invalid address you will probably get
an exception which will hang the board and you
will have to press the reset button.

You can interrupt current command (e.g. you have
made error in input <addr> value) by pressing
the <ESC> key.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-25 21:36:04 +02:00
..
addrspace.h MIPS: add initial exceptions handling 2012-07-27 09:54:13 +02:00
asm.h MIPS: remove unused processor-specific constants and macros 2012-07-09 09:23:35 +02:00
barebox.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
bitops.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
bitsperlong.h MIPS: import header files 2011-08-05 18:20:17 +02:00
byteorder.h MIPS: import header files 2011-08-05 18:20:17 +02:00
common.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
cpu-features.h MIPS: import CPU and cache detection code from Linux 3.4 2012-05-23 18:47:53 +02:00
cpu-info.h MIPS: import CPU and cache detection code from Linux 3.4 2012-05-23 18:47:53 +02:00
cpu.h MIPS: import CPU and cache detection code from Linux 3.4 2012-05-23 18:47:53 +02:00
debug_ll_ns16550.h MIPS: pbl: add nmon MIPS nano-monitor 2013-06-25 21:36:04 +02:00
dma.h blackfin, mips, openrisc, ppc, sandbox, x86: add generic dma_alloc, dma_free inlines 2012-06-30 12:46:25 +02:00
elf.h MIPS: import header files 2011-08-05 18:20:17 +02:00
io.h mips: add in_be16/32 and out_be16/32 for cfi support 2012-04-30 20:09:05 +08:00
memory.h MIPS: introduce ram0 regions register function 2013-01-27 22:41:27 +01:00
mipsregs.h MIPS: asm/mipsregs.h: remove unused stuff 2013-05-31 08:35:25 +02:00
mmu.h remap_range: make function 'remap_range' global 2013-01-18 08:28:20 +01:00
module.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
pbl_macros.h MIPS: pbl: add pbl_probe_mem macro 2013-06-21 09:33:18 +02:00
pbl_nmon.h MIPS: pbl: add nmon MIPS nano-monitor 2013-06-25 21:36:04 +02:00
posix_types.h MIPS: import header files 2011-08-05 18:20:17 +02:00
regdef.h MIPS: import header files 2011-08-05 18:20:17 +02:00
sections.h MIPS: import header files 2011-08-05 18:20:17 +02:00
sgidefs.h MIPS: import header files 2011-08-05 18:20:17 +02:00
string.h Treewide: remove address of the Free Software Foundation 2012-09-17 10:57:41 +02:00
swab.h MIPS: import header files 2011-08-05 18:20:17 +02:00
types.h MIPS: import header files 2011-08-05 18:20:17 +02:00
unaligned.h MIPS: import header files 2011-08-05 18:20:17 +02:00