Appendix
44
EC71817LNAR
Appendix
Watchdog Programming Guide
The board provides a programmable watchdog timer (WDT) up to 255 levels and
timed by minute or second. Watchdog timeout event can be programmed to reset
system or generate maskable interrupts.
The available IRQ numbers for this board are: 3, 4, 5, 7, 9, 10 and 11. Note: the
instructions for the interrupt mode are only appropriate for the OSs with both
ACPI and APIC enabled.
The following describes WDT program in C language. The steps to program WDT are
listed as follows:
Ø
Enter WDT programming mode;
Ø
Set WDT operating mode, enable WDT/disable WDT.
(1) Enter WDT Programming Mode
/*
Description: the function, PreInitWDT, is used to initialize the registers relevant
to WDT; please invoke the function before configuring and using WDT.
Input: none
Output: none
Note: none
*/
#define
INDEX_PORT 0x2E
#define
DATA_PORT
0x2F
VOID PreInitWDT()
{
outportb(INDEX_PORT, 0x87);
outportb(INDEX_PORT, 0x87);
outportb(INDEX_PORT, 0x07);
outportb(DATA_PORT, 0x08);
outportb(INDEX_PORT, 0x30);