Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VxWorks interrupt handling

650 views
Skip to first unread message

Eddie Williamson

unread,
Oct 11, 1996, 3:00:00 AM10/11/96
to

Does someone know the details of how VxWorks handles
interrupts/exceptions? I'm trying to get my first BSP up and
running. My cpu's are Motorolla 68000/68030/68060.

I'm trying to get VxWorks 5.3 up and running on an existing card that
had been shipping for a while. We periodically ship software updates
on tape and I'm trying to switch to VxWorks for both a new card and
the existing ones in the field. The roms currently expect to download
an image and jump to its starting point. That means that the roms are
already done and I have to boot within the context of our existing
system.

My current roms start at address 0 and go up. That means the interrupt
vector table is fixed and can't be changed. Each vector points to a
fixed spot in ram where I initialize a vector jump table to go to the
particular exception handler just downloaded into ram.

How do I integrate VxWorks' exception handling such as: intConnect()?

Can I simply point all of my exception handling into a kernel entry
point?

Or do I have to do all of my own exception handling still. Bummer
since I want to use WindView and I think this method would not allow
WindView to "see" the interrupts.


______________________________________________________________________
Hewlett-Packard
Eddie L. Williamson Jr. Manufacturing Test Division
e...@lvld.hp.com 815 SW 14th Street, MS AU100
(970) 679-3674 Loveland, CO

Eddie Williamson

unread,
Oct 11, 1996, 3:00:00 AM10/11/96
to

I think I have an idea. Does this sound like it would work??

I can call intHandlerCreate() for my current ISR's. This returns
a function pointer to the new interrupt handler which I can then
plug into my interrupt vector table.

Can anyone confirm/negate this?

John Shaw

unread,
Oct 12, 1996, 3:00:00 AM10/12/96
to

Regarding the question from Eddie L. Williamson Jr.,

>I can call intHandlerCreate() for my current ISR's. This returns
>a function pointer to the new interrupt handler which I can then
>plug into my interrupt vector table.

>Can anyone confirm/negate this?

Yup, intConnect () calls intHandlerCreate () and follows thru
with this by calling intVecSet (). This function is described
below (from the VxWorks manual pages).

This routine attaches an exception/interrupt/trap handler to
a specified vector. The vector is specified as an offset
into the CPU's vector table. This vector table starts, by
default, at:

MC680x0: 0
SPARC: 0x1000
i960: `sysIntTable' in sysLib
R3000/R4000: `excBsrTbl' in excArchLib
29030/29200: `LOCAL_MEM_LOCAL_ADRS' in target/config.h
i386/i486: 0

However, the vector table may be set to start at any address
with intVecBaseSet() (on CPUs for which it is available).
The vector table is set up in usrInit().

---------------------------------------------------------------------------------
---------------------------
John Shaw, Shade (Computer Services) Limited, Calne, Wiltshire, England, UK.
10065...@compuserve.com, alas....


0 new messages