How to Rebuild DSPLIB
2-5
Installing and Using DSPLIB
2.2.6
Interrupt Behavior of DSPLIB Functions
All of the functions in this library are designed to be used in systems with
interrupts. Thus, it is not necessary to disable interrupts when calling any of
these functions. The functions in the library will disable interrupts as needed to
protect the execution of code in tight loops and so on. Library functions have
three categories:
-
Fully-interruptible: These functions do not disable interrupts. Interrupts
are blocked by at most 5 to 10 cycles at a time (not counting stalls) by
branch delay slots.
-
Partially-interruptible: These functions disable interrupts for long
periods of time, with small windows of interruptibility. Examples include a
function with a nested loop, where the inner loop is non-interruptible and
the outer loop permits interrupts between executions of the inner loop.
-
Non-interruptible: These functions disable interrupts for nearly their
entire duration. Interrupts may happen for a short time during the setup
and exit sequence.
Note that all three function categories tolerate interrupts. That is, an interrupt
can occur at any time without affecting the function correctness. The
interruptibility of the function only determines how long the kernel might delay
the processing of the interrupt.
2.3
How to Rebuild DSPLIB
If you would like to rebuild DSPLIB (for example, because you modified the
source file contained in the archive), you will have to use the mk6x utility as
follows:
mk6x dsp64plus.src −mv64plus −l dsp64plus.lib