Quick and simple AVR monitor in less than 1K
1998-2007 Dave Dunfield ** See COPY.TXT **.

Resources for a debugger are very limited on the AVR. This monitor has
been set up to work on the 90S8515, which has the greatest amount of
program and data memory to work with (at the time of this writing). Even
if you are designing for a smaller AVR device, you may want to use the
8515 for development, as it will accomodate the additional code and
data requirements of the monitor.

MONAVR commands:

Daaaa       - Dump memory at address 'aaaa' (SPACE for next line)
Eaaaa       - Edit memory at address 'aaaa', SPACE=Skip to next,
              BACKSPACE=Previous location, 'vv'= Enter new value
Raaaa       - Read and display single byte at 'aaaa'
Waaaa vv    - Write value 'vv' to address 'aaaa'
V           - View processor registers
Crr cc vv   - Change register 'rr', current value 'cc' is displayed,
              then enter new value 'vv'.
X           - Execute user program.
G           - Go at address in PC (continue from breakpoint)
S           - Single-step one instruction
        NOTE: You can abort any command at a prompt by entering ESC.

The AVR has no capability to write to code memory, making normal break-
points impossible. MONAVR allows you to insert breakpoints into your
code as calls to the "MONAVR" entry point in this monitor. Once entered,
You may view and modify memory and registers, then enter 'G' to continue
at the location immediately after the call to MONAVR.

You may also enter 'S' to single-step one instruction, this is done by
programming Timer0 to cause an interrupt, 1 cycle into the execution
of the user program. See the notes at the label "STEP".

