Re: system interrupt handler programming on a PC under windows

From: Adrien Plisson (aplisson-news_at_stochastique.net)
Date: 11/24/04


Date: Wed, 24 Nov 2004 16:54:02 +0100

Steve wrote:
> 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).

well, that's what I already do. but their library is not really well designed
especially in the field of interrupt handling.

the purpose here is to interface more cleanly with the hardware. but the second
purpose (which i did not talk about in my first post) is to learn about
interrupt handling. it's the first time that i have a board so well documented
that i can talk directly to it without much headaches. it's the first time i
fear not writing a "use" clause.

so, sticking with what i already have is a non-solution: it is just not moving
ahead.

> 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.

here i know my hardware and already wrote a C++ class which works around the
limitations of the library. the class works perfectly well and is integrated in
our current system (written in C++).

> 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.

the hardware is well defined. it is a proprietary industrial I/O board. i mean,
it's not a standard stuff you find in any computer. it does not use anything
standard (apart from the PCI form factor of the board and the DB37 connector)(i
think there not even a standard on I/O boards, and that sounds good to me). so
i don't have to work-around badly implemented interface. and i think noone will
ever write an Ada binding to this board.

so i have to do it, plus i will learn a lot in doing 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.

i had better success with strange demands since the common response I get is:
"would you pay for it ? it will cost about <insert big number here>."

but vendors are clearly lazy when it comes to using some not-widely-deployed
hardware or software. and they protect themselves behind inexistent limitations
or impossibilities. everything is possible, it is just a matter of time and
effort.

-- 
rien


Relevant Pages

  • Re: Newbie Modelling Interface Question
    ... A client's access to this subsystem is ... interface has a message identifier and a by-value data packet. ... The client then has a pointer to each interface. ... For example, in a hardware interface, clients usually want to manipulate ...
    (comp.object)
  • Re: OpenGL-based framebuffer concepts
    ... Agreed that kernel should only deal with necessary tasks as minimum as ... Designing the interface inevitably involves clear understanding of the ... hardware capabilities and closed hardware spec is an obvious obstacle. ... Open Graphics card would be a great thing ...
    (Linux-Kernel)
  • Re: Cubase SX or Pro-Tools M-Powered?
    ... electronic type composers, MIDI editing, sound stretching etc while ... besides a history lesson and marketing targets, they all employ a 'hyper-tape' type setup unifying audio, midi, and automation in one interface, but obviously going beyond the abilities of tape. ... ProTools would restrict your choice of hardware. ...
    (rec.audio.pro)
  • Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
    ... The interface should be used ... > to map the hardware, there will always be opportunity for abuse. ... any faster than it would to invalidating a memory region. ... Instead it is allowed to block on such a request and only guarantees ...
    (Linux-Kernel)
  • Funded Ph.D. Position - Formalising the Hardware/Software Interface, TCD, Ireland
    ... Formalising the Interface between Software and Hardware ... Software Systems Laboratory, ... hardware and software, with particular emphasis on Flash Memory ...
    (comp.theory)