|
Introduction to VisualDSP++
VDK (Real Time Kernel)
VDK is Analog Devices' real-time multi-threading tool. It allows
users to set up multiple "threads" that the processor
can switch between. This allows multiple different things to be
running at the same time. VDK keeps track of all these threads,
including their priorities, and allows them processor time based
on their priority and whether or not they are ready to run. Semaphores
can be used to control the threads as well. Threads can be told
to wait for semaphores to be posted before running. This allows
greater control of the threads.
Here are some lecture notes given to the Winter 2004 ENEL515 DSP
course at the University of Calgary. These lecture notes deal with
a simple VDK assignment.
Introduction to multi-threading
Single
value processing with multi-threading
Attempt at Batch Threading
There is also a student project that was done in the above class
dealing with VDK. Follow this link
to download the powerpoint slides for the project.
Click here to download a zip file with an
example VDK project file and all required files. This project
can be built and run to see an example of VDK. It is built using
instructions in the preceeding powerpoint slides (not the student
project) and was used as a lab in the same class as the above student
project.
In order to see the example of multi-threading, build and run the
project. Halt it anytime after starting (it does not have a built-in
endpoint). Then open the VDK history window (View - VDK Windows
- History in VisualDSP++) and zoom in on any section of the window.
There are five threads. The lower two (initialize and idle) and
not used in this project. You can see the other three threads switching
between each other in a certain order. For more information about
this, read the powerpoint slides on this page.
Follow this Link
to open a new window to the webpage for a Realtime Systems course
that uses VDK with the Blackfin (the last lab assignments).
This page is common for Analog Devices SHARC,
BlackFIN and TigerSHARC processors
|