Dick Cappels' project pages http://www.projects.cappels.org

return to HOME


 Memory and I/O monitor program for

AVR Micro controllers


Works on AVR controllers with RAM and a hardware UART. This code is easily modified to integrate with ROM applications to provide the ability to monitor and interact with ROM applications via an terminal simulation program over an RS-232 port. It can also be used to stimulate and monitor I/O to aid in debugging hardware. It is very helpful to be able to look around at memory, I/O and peripherals, and change things inside a running controller

If you adapt this to a controller with a stack pointer that is more than 8 bits wide, be sure that both registers in the stack pointer, both spl and sph, are initialized.

As an example

ldi     temp,low(ramend)   ;get low byte of highest RAM address for this chip.
out spl,temp ;set spl
ldi temp,high(ramend) ;get low byte of highest RAM address for this chip.
out sph,temp ;set spl

The monitor's commands allow reading, monitoring, and byte-by-byte  modification of memory locations $0000 through $00FF, which includes the register array and I/O space.

Here is the assembly code for the monitor.

 HOME

Please see the liability disclaimer on the HOME page.

Contents ©2002, 2005 Richard Cappels All Rights Reserved. http://www.projects.cappels.org/