comp.lang.ada
 help / color / mirror / Atom feed
From: "Steve" <nospam_steved94@comcast.net>
Subject: Re: system interrupt handler programming on a PC under windows
Date: Wed, 24 Nov 2004 14:55:36 GMT
Date: 2004-11-24T14:55:36+00:00	[thread overview]
Message-ID: <Ih1pd.664434$8_6.520241@attbi_s04> (raw)
In-Reply-To: 41a47994$0$13459$ba620e4c@news.skynet.be

IMHO it is very likely you would be better off interfacing to the vendors
library using the C interface.

Ada has very nice capabilites for interfacing with C (see Interfaces.C).

In my experience interfacing with hardware only starts with following the
documentation.  It is followed by identifying what features of the hardware
don't work properly and creating work-arounds.

Several years ago I started to write a serial driver for a PC.  Well defined
interface to hardware, right?  When I started having difficulties with
misbehavior, I took a look at IBM's driver that was included with OS/2.
IBM's driver had a bunch of extra code to identify the maker of the serial
hardware and disable specific features that didn't work for specific
hardware.  Better to use someone elses work on this.

Also, I have run into several cases when I asked vendors about library
support for Ada (thinking they might already have a binding), the common
response is: can't be done.  I usually generate my own binding, which
demonstrates their ignorance.

Steve
(The Duck)

"Adrien Plisson" <aplisson-news@stochastique.net> wrote in message
news:41a47994$0$13459$ba620e4c@news.skynet.be...
> hello everyone !
>
> i wonder if anyone can explain me (or give me a pointer to an explanation)
how
> i can set up an interrupt handler under windows to interact with a PCI
board
> plugged into my computer.
>
> in my company we are using a PCI I/O board which is only programmable
through
> the use of a library available only for C, VB and Pascal. i would like to
> interract with this board from Ada, but writing a thin binding over the
library
> does not lead to anything useful. so i would like to create a really thick
> binding by interacting directly with the board.
>
> this board is very well documented: i have all the interresting values
address
> expressed in term of BASE address + offset and all seems ok for me to read
or
> write them (or they wouldn't have documented this).
>
> but i need to set up an interrupt handler to get notified of events. i
started
> using Ada.Interrupts but discovered that the I/O board interrupt is
reserved so
> i can't register my own interrupt handler.
>
> so, how can I override the default handler ? is it safe to do it ? what
about
> shared interrupts ? in short, i want to know everything you can tell me
about
> system interrupt handling from Ada...
>
> thanks in advance.
>
> -- 
> rien





  reply	other threads:[~2004-11-24 14:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-24 12:11 system interrupt handler programming on a PC under windows Adrien Plisson
2004-11-24 14:55 ` Steve [this message]
2004-11-24 15:54   ` Adrien Plisson
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox