First up, if you need to check something every X minutes, then I'd
suggest using alarm() and/or just sleep() in a user-mode piece of code
rather than mucking about with interrupts. Unless the timing has to
be ultra-exact, or you need to take measurements very very often, it's
always easier to write and debug a user mode piece of code.
However, if you do need to write an interrupt handler, then you'll
need to acquire the interrupt, associate a handler routine with it,
and deal with it, all in a kernel module. The gps_ppz.tgz you mention
was the best tutorial I could find when I wrote an interrupt handler -
specifically what aspects do you need help with? From your email you
seem a little confused about how one sets up the interrupt vectors: In
linux you don't directly, instead linux has its own interrupt handlers
and you chain onto its list of 'interested parties' with request_irq
(
http://hegel.ittc.ku.edu/topics/linux/man-pages/man9/request_irq.9.html
).
In this, the interrupt numbers are as mentioned in the Linux source
(in linux/include/asm-arm/arch-ep93xx/irqs.h), where you'll see
IRQ_TIMER3 is defined as 51.
If you're not familiar with the linux kernel architecture I recommend
you spend some time reading and understanding the gps_ppz code, it's a
well-written example of doing something similar to what you want to
achieve. However I must reiterate that it's much easier to write this
code in user space if you possibly can.