Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 head    1.2;
  2 access;
  3 symbols;
  4 locks
  5         baker:1.2; strict;
  6 comment @# @;
  7 
  8 
  9 1.2
 10 date    2005.06.01.14.25.52;    author baker;   state Exp;
 11 branches;
 12 next    1.1;
 13 
 14 1.1
 15 date    2004.08.30.18.58.34;    author baker;   state Exp;
 16 branches;
 17 next    ;
 18 
 19 
 20 desc
 21 @@
 22 
 23 
 24 1.2
 25 log
 26 @*** empty log message ***
 27 @
 28 text
 29 @The file "hrt.c" started out as a chopped-down version of the driver
 30 written in Summer 2004 by Charles Mason and Patrick Crawley.  Their
 31 original code is in the RCS directory, but most of the files there are
 32 no longer used. The only files currently used are hrt.h, hrt.c,
 33 Makefile, and this file (README). The present hrt.c does not do much.
 34 It mainly probes and initializes the device.
 35 @
 36 
 37 
 38 1.1
 39 log
 40 @Initial revision
 41 @
 42 text
 43 @d1 6
 44 a6 120
 45 
 46 HRT PixelSmart Frame Grabber 
 47 Linux Device Driver
 48 
 49 
 50 Device code written by 
 51 
 52         Charles Mason <cmason@@cs.fsu.edu>
 53         Patrick Crawley <crawley@@cs.fsu.edu>
 54 
 55 as part of the Linux Device Drivers course offered at 
 56 Florida State University.
 57 
 58 
 59 =================
 60 I. Contents
 61 =================
 62 
 63         This package contains two drivers, with one built on 
 64         top of the other.  The drivers provide the functionality for
 65         applications to make use of the HRT PixelSmart Frame Grabber.
 66 
 67         The lowlevel driver, hrt, provides user-space applications
 68         the ability to read from the device driver, as well as control it,
 69         without the need for software external to the linux kernel.
 70 
 71         The higher level driver, hrt_v4l, uses the kernel's v4l support 
 72         (if it is enabled), to allow applications that support v4l to 
 73         use this video device as a v4l device.
 74 
 75 
 76 =================
 77 II. Installation
 78 =================
 79 
 80         First create the /dev/hrt0 character device inode:
 81 
 82                 ~$ mknod /dev/hrt0 c 82 0
 83 
 84         Then determine if you are running Linux 2.4 or 2.6 series kernel 
 85         by typing:
 86         
 87                 ~$ uname -a
 88 
 89         If you are running on 2.6, simply issue 'make' then 'make install'. 
 90         You must have previously built a kernel on this system for the 
 91         build process to complete successfully.
 92 
 93         If you are running on 2.4, you must set the environment variable
 94         KERNELDIR to the path of your kernel sources.
 95 
 96                 In bash, 
 97                         ~$ export KERNELDIR=/usr/src/linux
 98 
 99                 In csh-like shells,
100                         ~$ setenv KERNELDIR /usr/src/linux
101 
102 
103         To compile for 2.4, issue the commands:
104 
105                 ~$ make -f Makefile-2.4
106                 ~$ make -f Makefile-2.4 install 
107         
108 
109 =================
110 III. Loading
111 =================
112 
113         In both cases, runing 'depmod -a'  will rebuild dependancies.
114 
115         Using 'insmod' followed by hrt or hrt_v4l  will load the 
116         appropriate driver.
117 
118 
119 =================
120 IV. Usage
121 =================
122 
123         The lowlevel driver supports open(2), read(2), and ioctl(2). Please
124         visit the manpages of the system calls if you are developing for
125         this device.  The lowlevel driver exports its memory buffer as part
126         of an mmap(2) call, as well as exporting the PCI cards' IO space
127         registers.
128 
129         The v4l driver supports v4l 1 at this time only.  It follows the
130         standard v4l implementation and works accordingly.
131 
132         Please review the demo program in the demo/ directory distributed
133         with this software package.
134 
135         For a V4L demo program, I recommend looking at 
136         http://planeta.terra.com.br/informatica/gleicon/video4linux/videodog.html
137 
138 
139 =================
140 V. Features
141 =================
142 
143         -  Supports Greyscale HRT Frame Grabber cards
144         
145         -  Supports multiple cards
146 
147         -  Supports both PCI and ISA cards
148 
149         -  Supports interrupt generation and timer fallback for older cards
150 
151         -  Supports V4L in the Linux 2.4 series kernel
152 
153         -  Exports IO registers to user-space for lowlevel application 
154            development
155 
156 =================
157 VI. Known Bugs
158 =================
159 
160         -  The exportation of the IO space registers seems to work 
161            imporperly. The registers seem cached or incorrect.
162 
163         -  V4L 2 support is not available yet.
164 
165 @
  This page was automatically generated by the LXR engine.