Subject: Re: Newbie Questions about Device Drivers
From: Peter Eccles <[email-masked]>
To: [email-masked]
Cc: Miles Cederman-Haysom <[email-masked]>
Date: Tue, 12 Mar 2002 16:08:08 +1100

Hi Miles,
Not so long ago, I used Cygwin to do some parallel port bit-bashing using cygwin
for a major project in my Computer Systems Engineering degree.  It involved
direct hardware port IO and sounds similar to what you want to do.

The idea was to generate a parallel port abstraction layer for another program
that performed some syncronous serial IO (via SPI to a Motorolla micro).
Additionally, I wanted the abstraction layer to be platform portable to at least
Win 95, Win NT and Linux and maybe FreeBSD.  (although the FreeBSD part was
never fully completed).

It ended up that we used Cygwin to create a DLL that contained the Syncronous
Serial IO code and talked to the hardware directly (under Windos 9x aka DOS) or
through an external library (under Windows NT, to get permission to talk to the
hardware).  It has not been well tested under Win 2K, but I believe the concept
is sound.

All this stuff is on a web server :
http://home.connexus.net.au/~petere/6811-board/
Look at the secion software -> Printer Port where there is a Tar ball of the
pport library that should be a decent starting point.

Miles Cederman-Haysom wrote:

> Okay, I'm a 4th year Electrical Engineering student, and I'm currently doing
> a project using Cygwin - and I've got a bunch of questions about it.
>
> I apologise if any questions here have been answered elsewhere, seem daft,
> or whatever.  I have read the Cygwin FAQ, and numerous amounts of
> documentation - the only problem is a lot of it doesn't make sense to me :)
>
> Okay, first off - the project is basically to modify GDB under Cygwin so
> that it can remotely debug a target (an 8260 PowerPC) through a proprietry
> interface.  The interface already has a Win9x driver AFAIK, but we will
> probably have to write a 2000 driver for it.
>
> I've never done any programming before that involved accessing hardware.
> I've only done Unix programming, and it was basically assignments
> manipulating numbers, providing simulations, etc, never actually accessing
> anything external.
>
> My question is - how does one access the hardware through Cygwin?  As I
> understand it there are a bunch of standard Win32 calls Cygwin can make - do
> I access it through that?  Is this even possible?  How would you write to
> the driver through C?
>
> If I had a driver that was called the same way for 9x and 2000, would Cygwin
> be able to run my GDB regardless of OS?
>
> That's enough to get me started I think - any help would be greatly
> appreciated.  Thanks in advance,
>
> Miles
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/

--
Peter Eccles
Trio DataCom Group
41 Aster Avenue
Carrum Downs  Vic 3201 Australia
email: [email-masked]
Tel: +61 3 9775 0505
Fax: +61 3 9775 0606
Please visit our new WEB Site at http://www.trio.com.au

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/