As part of my self education on real time Linux
programming for the new PC based EFI I found
this great free book on the Internet called
The Linux Kernel Module Programming Guide
http://tldp.org/LDP/lkmpg/2.4/html/index.html
Peter Jay Salzman
Ori Pomerantz
Copyright © 2001 Peter Jay Salzman
2003-04-04 ver 2.4.0
Lots of well commented examples.
Of course I am not programming the kernal
but perhaps I might need a kernal module.
-------------------------------------------
I also found another book called Embedded Linux
Primer by C. Hallinan.
Chances are well over 50% your cell phone
has embedded Linux in it. There is a good
section on real time Linux.
RT Linux tasks are "kernel modules," meaning they
run as part of the privileged Linux kernel, similar
to device drivers.
A real-time scheduler replaces the original Linux scheduler,
intercepts the timer interrupt and external device interrupts,
runs any real-time code associated with these, and
runs any normal Linux processes in the time left over.
This is what we want for a time critical system
for controlling the fuel injection and ignition
of our rotary engines. As time goes on this will
become more important as PC hardware is getting
cheaper and cheaper and smaller and smaller.
In effect one could probably hack a cell phone
and have it control the engine.
There are now two sources for real time Linux.
www.rtlinux.org.
www.aero.polimi.it/~rtai/
Both free.
Paul Lamar
The above two links appear to be "broken".
won't let me in so I can save them.
Thanks Paul!
Ed Carver
You are right Ed. I just tried them too. I got those
off a web site someplace. Try this one.
http://www.realtimelinuxfoundation.org/
Looks like rtai dropped off the face of the earth.
"
www.rtai.org uses an invalid security certificate."
BTW one huge difference we are advocating here is
in the vast majority of cases the embedded application
uses different hardware than the development system.
Take Megasquirt or Tracy's system for two examples.
The programmer uses a PC to develop the code and a
cross assembler or compiler to generate the binary for the
application hardware then transfer the binary code
to the target. The Megasquirt uses a 68xx processor
and Tracy uses a PIC processor.
In our case the target hardware and the development
hardware are one in the same. Namely a PC mother board.
That makes development life a lot easier.
Another advantage is the PC uses hardware memory management
techniques to divide memory into protected areas
so errant application code cannot over write kernal code
reducing the frequency and severity of crashes. Linux is very good
about recovering from errant applications that crash.
With a typical embedded processor such as the 68xx or the
PIC the program code can write to any memory location at will
over writing it self if it wishes. We use to call that
self modifying code :)
Paul Lamar
--
The Rotary Engine NewsLetter. Powered by Linux.
ACRE NL web site.
http://www.rotaryeng.net
Youtube key word PaulLamar2
Copyright 1998-2009 All world wide rights reserved.