Nov 3, 2005, 8:46 AM
Post #1 of 2 (19 views) Copy Shortcut [ColdFire] Coldfire interrupt priorities in uClinux Can't Post
I'm building a counter driver utilizing the GPT ports of the mcf5282. As part of the driver, I'm assigning an interrupt for every IC, so the user has the option of doing a slow, soft counter on all 4 channels.
It works fine, unless I get 2 of these interrupts simultaneously. When this happens the processor starts generating an interrupt 127, which is actually listed as "unused" in the manual, which is never cleared, so just constantly loops the default interrupt handler routine.
The manual goes on to say that I should not be assigning the same interrupt level,priority combo to more than one vector (which I am).
Is there any type of organization in the current tree that is supposed to protect this from happening with drivers? Or are we just playing the odds that in most cases 2 interrupts won't happen at exactly the same time?
Interestingly enough IRQMRH = 0xff7f0ff0, so vector 127 should be masked, yet it is still fireing. I suspect the processor really doesn't like 2 interrupts with the samelevel,priority happening simultaneously.