[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/