[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[microblaze-uclinux] timer again
Hi,
I sent a post about a rare timer behaviour, which runs double faster than
expected. It seems that depending on how the timer interrupt is ack some
spurious interrupts could happen, and John solved this with a patch to ack
the timer interrupt just before the unmask when the interrupt has been
handled. Although this works for someones, this is not my case. I had to
hardcode the timer initialization setting double number of timer ticks for
the same 10ms period.
This is a bit darkness for me, since if it was just some spurious interrupts
the timer should not run accurately double faster. By other hand, if this
would happen in each timer interrupt the system would be in a close infinity
loop.
This post adds some more rare functionality. I'm working in a code to
intercept interrupts to be handled for real time tasks. If the interrupt
raised is for real time work then some special code is executed. If the
interrupt is for ucLinux a virtual interrupt is raised to be handled by usual
uclinux code. The module with the interception code works, but ...
with the new path the timer is working two times slower than expected
(remember my own hardcode at timer initialization). I solved this
reprogramming the timer with the "good" values, this is with the ticks
expected to occur taking into account the opb clock frequency. Once this is
done the system is working with the interception code.
I though this problem would be solved by Xilinx sooner or later (as John
commented), and I went to do other things. But, as the new things are related
with the timer, and some new rare timer functionality is happening, I
consider desirable first to clarify some of the old stuff (step by step).
If someone knows where is the problem or have news about the old timer
problem, please let me open my eyes.
Thanks.
--
Alejandro Lucero
OS3, OS Serveis i Solucions
www.os3sl.com
Ingeniería Informática
+34 665687168
Av.Benjamin Franklin
CEEI. Parque Tecnológico de Paterna
Valencia(Spain)
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/