Port for ADSP-BF533/Blackfin (Analog Devices)

Cross Core VisualDSP++


General

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.


Program Control Flow Transfer

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.


Interrupts

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.

System Timer

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.


Summary

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.