Home How It Works

How It Works - Does it work with DSPs?

E-mail Print PDF

A processor-based element, like a DSP or PowerPC, executes a sequential program.  It typically executes a small number of discrete instructions (often only one) for each clock cycle.  Such processing elements are well-suited to sequential operations and calculations: high-level control algorithms, for example.

A task on a processor like these is a complete C program that has been compiled and linked against the Diamond run-time library and any user libraries it may require. Each task has its own main function and this is invoked as a thread when the task starts to execute. You may place as many tasks on a processor as you wish; you are only limited by the amount of private memory the processor can access.

Tasks have full access to the capabilities of the processor on which they are running, and Diamond provides controlled access to features such as DMA channels and other peripherals.  The configurer will place a microkernel on each DSP in the system. This kernel provides the primitives needed by Diamond (semaphores, events, timers, threads) and controls the basic operation of the processor by handling interrupts, devices, threads, and context switching.



 

Try Diamond Now!

DemoSystem1

Did You Know?

You can generate symbol tables for your tasks and use them to debug tasks using Code Composer.