EmbeddedRelated.com
Forums

Linux/Windows device drivers

Started by Paul Taylor May 27, 2005
Hi,

I have a written a Linux driver to control a parallel port (bit bangs data
serially) and I want to port it to windows. The Linux device driver is
pretty simple, just a few ioctls and that's it. I have no experience with
windows driver development. Any help on any of the following, to get me
started, would be appreciated:

(1) I would like to find a simple skeleton driver that implements
ioctls - any recommended web sites, books etc? 

(2) What tools do I need to compile the driver?

(3) What do I need to do to install it on a windows box?

Thanks,

Paul.

-- 
Remove _rem_ before replying by email.

>Hi, > >I have a written a Linux driver to control a parallel port (bit bangs data >serially) and I want to port it to windows. The Linux device driver is
[snip] You should probably repost your question over in microsoft.public.developement.device.drivers From the top of my head I would say you don't have to write a driver at all. At least not because I know for sure that there are drives around which let you bit bang the paralell port. HTH Markus
Paul Taylor wrote:
> Hi, > > I have a written a Linux driver to control a parallel port (bit bangs data > serially) and I want to port it to windows. The Linux device driver is > pretty simple, just a few ioctls and that's it. I have no experience with > windows driver development. Any help on any of the following, to get me > started, would be appreciated: > > (1) I would like to find a simple skeleton driver that implements > ioctls - any recommended web sites, books etc? > > (2) What tools do I need to compile the driver? > > (3) What do I need to do to install it on a windows box? > > Thanks, > > Paul. >
The normal way to handle this on windows is to use the readily-available "giveio" driver, which allows normal applications direct access to hardware. The application can the access the parallel port directly. A convenient place to look for examples of this sort of thing is something like the msp430 gcc project, or the ColdFire/683xx bdm gdb project, both of which support a parallel-port based debugger tool (jtag or bdm), and support both windows and linux. If you want to use a high level language like python, the msp430 jtag project also has a python parallel port module that should work nicely from either linux or windows. David
On Fri, 27 May 2005 13:53:02 +0200, David Brown wrote:

> Paul Taylor wrote: >> Hi, >> >> I have a written a Linux driver to control a parallel port (bit bangs data >> serially) and I want to port it to windows. The Linux device driver is >> pretty simple, just a few ioctls and that's it. I have no experience with >> windows driver development. Any help on any of the following, to get me >> started, would be appreciated: >> >> (1) I would like to find a simple skeleton driver that implements >> ioctls - any recommended web sites, books etc? >> >> (2) What tools do I need to compile the driver? >> >> (3) What do I need to do to install it on a windows box? >> >> Thanks, >> >> Paul. >> > > The normal way to handle this on windows is to use the readily-available > "giveio" driver, which allows normal applications direct access to > hardware. The application can the access the parallel port directly. A > convenient place to look for examples of this sort of thing is something > like the msp430 gcc project, or the ColdFire/683xx bdm gdb project, both > of which support a parallel-port based debugger tool (jtag or bdm), and > support both windows and linux. If you want to use a high level > language like python, the msp430 jtag project also has a python parallel > port module that should work nicely from either linux or windows. > > David
Thanks, I'll look into it. My Linux driver is in fact for JTAG programming. I wonder what throughput you get when programming memory with a tool that uses the giveio driver? Of course it would depend on length of JTAG chain etc, but a rough idea of what's been achieved would be good to know. Thanks again for info. Regards, Paul. -- Remove _rem_ before replying by email.
Paul Taylor wrote:
> On Fri, 27 May 2005 13:53:02 +0200, David Brown wrote: > > >>Paul Taylor wrote: >> >>>Hi, >>> >>>I have a written a Linux driver to control a parallel port (bit bangs data >>>serially) and I want to port it to windows. The Linux device driver is >>>pretty simple, just a few ioctls and that's it. I have no experience with >>>windows driver development. Any help on any of the following, to get me >>>started, would be appreciated: >>> >>>(1) I would like to find a simple skeleton driver that implements >>>ioctls - any recommended web sites, books etc? >>> >>>(2) What tools do I need to compile the driver? >>> >>>(3) What do I need to do to install it on a windows box? >>> >>>Thanks, >>> >>>Paul. >>> >> >>The normal way to handle this on windows is to use the readily-available >>"giveio" driver, which allows normal applications direct access to >>hardware. The application can the access the parallel port directly. A >>convenient place to look for examples of this sort of thing is something >>like the msp430 gcc project, or the ColdFire/683xx bdm gdb project, both >>of which support a parallel-port based debugger tool (jtag or bdm), and >>support both windows and linux. If you want to use a high level >>language like python, the msp430 jtag project also has a python parallel >>port module that should work nicely from either linux or windows. >> >>David > > > Thanks, I'll look into it. > > My Linux driver is in fact for JTAG programming. > > I wonder what throughput you get when programming memory with a tool that > uses the giveio driver? Of course it would depend on length of JTAG chain > etc, but a rough idea of what's been achieved would be good to know. > > Thanks again for info. > > Regards, > > Paul. >
What sort of device is it? There are a fair number of open-source projects for jtag support, both as general support and for specific micros, for example http://openwince.sourceforge.net/jtag/ .