Intel 386 User Manual page 234

Embedded microprocessor
Table of Contents

Advertisement

/*****************************************************************************
InitICUSlave
Description:
Initialization only the internal slave Interrupt Control Units (ICU).
This routine only initializes the internal interrupt controller,
external ICUs must be initialized separately.
Parameters:
SlaveMode
SlaveBase
SlavePins
Returns:Error Code
E_OK
Assumptions:
REMAPCFG register has Expanded I/O space access enabled (ESE bit set).
Syntax:
/* ICU Modes */
#define ICU_SFNM
#define ICU_AUTOEOI
#define ICU_TRIGGER_LEVEL
#define ICU_TRIGGER_EDGE
/* ICU Slave Pins */
#define SPIN_INT4
#define SPIN_INT5
#define SPIN_INT6
#define SPIN_INT7
int error_code;
error_code = InitICUSlave(ICU_TRIGGER_EDGE, 0x30, SPIN_INT4);
Real/Protected Mode
No changes required.
*****************************************************************************/
int InitICUSlave(BYTE SlaveMode, BYTE SlaveBase, BYTE SlavePins)
{
BYTE
cfg_pins;
/* Program Slave ICU */
Mode of operation for Slave ICU
Specifies the base interrupt vector number for the
Slave interrupts.
For example, if IR1 of the slave goes active and the
SlaveBase = 0x40 the processor uses interrupt
vector table entry 0x41.
Defines what EX pins are available externally to the
chip for the Slave.
-- Initialized OK, No error.
0x10
0x2
0x8
0x0
0x1
0x2
0x4
0x8
INTERRUPT CONTROL UNIT
9-35

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Intel386 exIntel386 extbIntel386 extc

Table of Contents