December 24, 2003

Get Those Boards Talking Under Linux

Last month in part one of this article, I explained how to register a driver with the Linux kernel, how to name a driver, how to call a driver
function, and how to initialize a data-acquisition board.1 Now, I'll explain how to develop an interrupt-service routine (ISR) and how to allocate
system memory so you can store your data.

Interrupts make an operating system (OS) pause what it's doing and service the board generating the interrupt. A board can generate an interrupt in
response to specified conditions, such as when the input buffer becomes half full.

When a board requests service, the OS needs to know which board generated the interrupt and what caused the interrupt. Only then can it know which
driver to notify about the interrupt so the driver can run its appropriate ISR functions. Some interrupts require immediate attention, while others
can wait until the OS is best able to service them.



  • Linux
Click Here!