Hello,
embedded newbie so please forgive stupid questions.
I have a hard realtime application that I need to run at 100KHz, the computation that needs to occur between steps takes about 4us on a beaglebone (benchmarked under linux). Linux doesn't come close to providing the time step reliability so I'm looking at starterware.
I'm playing with dmtimerCounter demo. I've removed the UART writes from DMTimerIsr but it is otherwise unmodified other than changing counters. The ISR does very little, it disables timer interrupts, clears the interrupt, decrements a counter and re-enables interrupts.The main program blocks with a while loop that is waiting for the counter to hit zero. It works fine to about 50KHz, but faster than that and the counter wraps before the while loop reacts, ie the counter (an unsigned int) goes through zero and starts again at the max value. It seems the main thread is starved because of overhead handling the interrupt.
This seems to be very poor performance for a 700MHz processor. Is this the best I can expect or am I doing something seriously wrong?
Thanks,
Evan.