| Allows interrupt
service routines to be written as usual. Most TurboTask function can safely be accessed in
interrupt service routines. |
| TurboTask does not
require notification from an interrupt service routine. These routines can be as fast as
possible and in assembly language, if required, without adversely effecting the system.
|
| Interrupt service
routines do not require a task to be defined and thus do not require any additional
overhead. |
| Interrupt latency
incurred by TurboTask is documented as the number of clocks the processor interrupts are
disabled. This latency is as small as possibly while keeping shared memory thread-safe.
|
| A timer interrupt
must be provided for real-time delays (for the Rabbit support is
included). Timer processing by TurboTask for delay maintenance is minimal, especially when
no delays are in effect. There is a provision to allow the timer to be implemented in
software so that a system may still multitask and use delays (i.e. a cooperative system).
A user supplied time interrupt routine must be used to allow TurboTask to keep the system
time in either case. The demo program provides an example of the mechanism for doing this
using one of the Z180 programmable timers or the Rabbit periodic timer.
|