Embedded Linux questions

Thomas Mondoshawan Tate plug-devel@lists.PLUG.phoenix.az.us
Thu Nov 1 07:25:02 2001


--f2QGlHpHGjS2mn6Y
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 01, 2001 at 07:10:21AM -0700, Alan Dayley wrote:
> At 11:40 PM 10/31/01 -0700, you wrote:
>
> >If you absolutely need to do this, I'd suggest writing a driver and api =
for
> >the vanilla Linux kernel, and if you decide on doing this, I'd stay _far_
> >away from the RTLinux kernel. It has a ton of incredibly hackish code in
> >there to provide the quick latency times (eg: <=3D1ms per task switch) a=
nd can
> >make code managment quite difficult. Besides, as long as you're not doing
> >anything that has a high priority in another task (eg: system call for a
> >video capture routine via the V4L system), you shouldn't have a problem =
with
> >task switch latencies.
>=20
> Are you saying that a kernel space app would be the driver or that a user=
=20
> space app would call a driver to get kernel space access?

I'm saying that you could, in theory, write a driver that exports a device
entry in the /dev filesystem, and your userland app could then use the
exported device to do the I/O, IRQ, or DMA throughput. Take a look at the
Video4Linux drivers to see what I mean (located under drivers/media/video in
the kernel source tree -- specificially, the videodev.c file). In their
method, they're using a mmap()ed shared memory space that the kernel driver
writes to after the userland app makes an appropriate ioctl() call on the
device file.

--=20
Thomas "Mondoshawan" Tate
phoenix@psy.ed.asu.edu
http://tank.dyndns.org

--f2QGlHpHGjS2mn6Y
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE74V3GYp5mUsPGjjwRAv15AKDBAvR2yCoTkkQzB313Zh26MTm96ACght/R
BpPREIJkssJrgMixHwtVpjo=
=vAB8
-----END PGP SIGNATURE-----

--f2QGlHpHGjS2mn6Y--