Datasheet
ARMulator Basics
ARM DUI0058D Copyright © 1999-2001 ARM Limited. All rights reserved. 2-35
2.10.5 Watchdog
Use Watchdog to prevent a failure in your program locking up your system. If your
program fails to access Watchdog before a predetermined time, Watchdog halts
ARMulator and returns control to the debugger.
Note
This is a generic model of a watchdog timer. It is supplied to help users model their
system environment. It does not model any actual hardware supplied by ARM.
The Watchdog configuration is controlled by a section in
peripherals.ami
. It has the
following items:
{Default_WatchDog=WatchDog
Range:Base=0xb0000000
KeyValue=0x12345678
WatchPeriod=0x80000
IRQPeriod=3000
IntNumber=16
StartOnReset=True
RunAfterBark=True
WAITS=0
}
Range:Base
specifies the area in memory into which the watchdog registers are mapped.
This is a two-timer watchdog.
If
StartOnReset
is
True
, the first timer starts on reset. If
StartOnReset
is
False
, the first
timer starts only when your program writes the configured key value to the
KeyValue
register. This is located at the address given in the
Range:Base
line (
0xB0000000
).
The first timer generates an IRQ after
WatchPeriod
memory cycles, and starts the second
timer. The second timer times out after
IRQPeriod
memory cycles, if your program has
not written the configured key value to the
KeyValue
register. Configure
IRQPeriod
to a
suitable value to allow your program to react to the IRQ.
If
RunAfterBark
is
True
, Watchdog halts ARMulator if the second timer times out. You
can continue to execute, or debug.
If
RunAfterBark
is
False
, Watchdog halts ARMulator and returns control to the
debugger.
IntNumber
specifies the interrupt line number that Watchdog is attached to.
WAITS
specifies the number of wait states that accessing the watchdog imposes on the
processor. The maximum is 30.