Port for ADSP-BF533/Blackfin (Analog Devices)
Cross Core VisualDSP++
Blackfin is powerful DSP and General Purpose 16/32-bit processor with rich
peripheral set. Context size is large enough and comes to about 180 bytes,
but because of high clock rate and efficient architecture context switch is
quite fast - control flow passes from one process to another in about 1.5 us
at 200 MHz core clock.
The Port uses one common stack for data and return addresses.
One methods - software interrupt - is supported in the port. This is because
Blackfin processor has native Software Interrupt that is very suitable for
implementation of context switch.
The using of interrupts with scmRTOS does not make any special demands. The
user should keep in mind two things:
- interrupt service routine (ISR) function must be qualified with
OS_INTERRUPT macro;
- TISRW object must be declared at the beginning of the ISR. This
object involves constructor and destructor that play very important role in
the RTOS rescheduling mechanism and integrity. Switching to separate ISR
stack is not implemented in current version of the port.
Blackfin processor's Core Timer is used as System Timer hardware implementation.
Setting up of the Core Timer must be carried out by the user's project code
before the RTOS start.
See Release info
for more details about port features and using examples.
As usual, see User's Manual for more details
about RTOS contents, structure, functionality and features.