contains a powerful address monitor. The entire 512kb address space
(covering multiple banks) is covered by the
monitor. Execution can stop on an access to an address that should not occur during
execution of the program.
The user can create any
number of address ranges with a 16-byte resolution. Each range can be programmed to
breakpoint on execution in the range, a memory read in the range, a memory write in the
range, or any combination of these three accesses. Areas may be left to allow any or all
of these accesses to occur.
To catch unwanted
writes, this small 16-byte resolution allows monitoring read-only or limited-access data
structures in RAM. During debugging, the user can monitor the program area in ROM or in
emulation RAM for address writes to catch the nearly impossible-to-find writes to ROM that
normally go unnoticed because ROM can't be altered.
emulation RAM simulates a ROM environment. Not doing so causes the program code to change,
likely crashing the program at some point after the write happens. Finally, the user can
create large ranges of no-execute areas over variables and unused address space to
instantly catch program crashes and bad transfers through a pointer.