Andrew Blackburn <> wrote:
> Hi there
>
> Looking at several processors at the moment but ARM7 and Coldfire in
> particular. I like the popularity of ARM and associated tools, but cant get
> over the fact that the interrupt structure within them (only two priority
> levels) is pants. Coldfire has 7 or 8 nestable levels.
>
> I would appreciate anyones view on this.
Most ARM implementations include third-party interrupt controllers that
give prioritisation (or at least arbitration).
Very few designs actually *need* multi-level interrupts -- IMHO they
encourage the development of sloppy code, running things that should
really be task bodies at above user level. The job of an ISR is to
service the interrupt source and get back down to user level for real
work to be done ASAP.
Unfortunately, baroque interrupt controllers feature on too many CPUs
these days, and "because it's there", fully exploiting them becomes a
tick-list feature for RTOSes.
I've seen designs where the customer demanded a complex multi-level
nested interrupt scheme in the OS, then when it turned out to be slow
(duuuuh, surprise!) managed to design everything elegantly using only
single-level interrupts.
A plethora of priorities isn't an excuse for abandoning good design.
pete
--
"That is enigmatic. That is textbook enigmatic..." - Dr Who
"There's no room for enigmas in built-up areas." - N Blackwell