KwikNet System Construction
K
DAK
119
3.7.2 AMX Target Configuration
Each KwikNet device driver for AMX includes an Interrupt Service Procedure consisting
of two (sometimes three) parts. All drivers require an ISP root and an Interrupt Handler.
Some versions of AMX also require the driver to provide an ISP stem.
An ISP root is required for each device interrupt source which the KwikNet board driver
module KN_BOARD.C is configured to support. Unless modified by you, the board driver
supports four ISP roots with names of the form kn_isprootX() (X is A, B, C or D).
KwikNet dynamically assigns each network device to one of these ISP roots when the
network is initialized.
32-Bit AMX Systems
Each ISP root is serviced by a common Interrupt Handler kn_isphandler() located in
the KwikNet board driver module KN_BOARD.C. The handler is called with a single pointer
parameter which identifies the network device which generated the interrupt. Four
parameters with names of the form kn_ispparamX (X is A, B, C or D) are provided in the
board driver module, one for each of the four ISP roots with like names.
An ISP stem kn_ispstem() in the KwikNet board driver module KN_BOARD.C is provided
when required by AMX. The ISP stem also receives the device specific parameter
kn_ispparamX from the ISP root.
For all 32-bit implementations of AMX, the ISP must be described in the AMX Target
Configuration Module. You can use the AMX Configuration Builder, a Windows
®
utility, to edit the Target Parameter File to add ISP definitions.
There must be one ISP definition for each of the device interrupt sources which the
KwikNet board driver module KN_BOARD.C is configured to support. Each ISP definition
identifies the names of the ISP root, the ISP Handler and the ISP stem if applicable. Each
ISP definition also provides the appropriate pointer parameter kn_ispparamX. No
interrupt vector is included in the definition since each KwikNet device driver
automatically installs the pointer to its ISP root into the AMX Vector Table when
KwikNet
is initialized by the KwikNet Task.
See the KwikNet TCP/IP Sample Program Target Parameter File KNSAMTCF.UP for an
example of the definition of the four ISPs supported by the
KwikNet board driver module
KN_BOARD.C.
16-Bit AMX 86 Systems
AMX 86 does not utilize a Target Configuration Module. The KwikNet board driver
provided with AMX 86 creates an ISP root named
kn_isprootX() (X is A, B, C or D) for
each of the device interrupt sources which it is configured to support. Each ISP root
kn_isprootX() calls its Interrupt Handler kn_ispsrcX() which in turn calls procedure
kn_isphandler() with the device specific kn_ispparamX parameter. All of these
procedures are located in the board driver module KN_BOARD.C. Each KwikNet device
driver for AMX 86 automatically installs the pointer to one of these ISP roots into the
AMX Vector Table when
KwikNet is initialized by the KwikNet Task.
Comments to this Manuals