[beagleboard] BeagleBone hardware timers

Hello Stephan,

I’ve been working with the AM3517 System-on-Chip for a year now and I think that it is not possible to have a driver with a guaranteed, +/- 1 us latency time. The Linux kernel is close of being a 'hard" real-time kernel, but not quite. For example, its interrupt handler responds quickly to an interrupt but the handler itself can’t do much because of the many constraints imposed to this kind of process. Because of that, Linux interrupt handlers takes care of processing what is considered urgent and which take a fixed time to complete. If there is more processing to do, then the handler schedules a tasklet to run as soon as possible, when the kernel is in a proper state to run it.

It is possible to assign a higher priority to the tasklet when it is scheduled but from my experience, I’m not sure here if the kernel scheduler can meet your requirement. For fast control loops, say above 10 Khz update/sample rate, I’d rather implement it in VHDL and download the control logic in a FPGA chip. That chip would receive a command sequence from the CPU, stores it and plays it to send the commands to the controller of the CNC machine in real-time.

I know that TI offers a real-time kernel extension to its OMAP processors but I didn’t try it, and I don’t know if it’s free or not.

Does that makes sense?



2012/8/20 stefan ) <stefan@nortd.com>