The VisualDSP++ Kernel (VDK) incorporates scheduling and resource management tailored specifically to address the memory and timing constraints of DSP programming. These capabilities enable engineers to develop code more effectively, eliminating the need to start from the very beginning when developing new application code. The VDK features include Threads, Critical and Unscheduled regions, Semaphores, Events and Device flags. The VDK also supports Priority-based Pre-emptive, Cooperative and Time Sliced scheduling approaches. In addition, VDK was designed to be scalable. If the application does not use a specific feature, the support code for that feature would be excluded from the target system.
Because the VDK is a library, a developer can decide whether to use it or not. VDK is integrated into the VisualDSP++ development environment, but can also be used via standard command line tools. When the VDK is used, the development environment assists the developer with many error prone tasks and assists in managing system resources, automating the generation of various VDK based objects, and visualizing the system state when debugging an application that uses the VDK.
In addition, the development environment and debugger are merged into one single interface. This allows developers to accomplish all development tasks within a single interface, rather than switching between two. The VisualDSP++ workspace management allows the developer to create as many workspaces as needed and quickly switch between them, saving valuable time.
The VisualDSP++ plotting package enables programmers to visually measure software performance. A variety of 3-D plotting capabilities have been added, allowing programmers to choose the most appropriate to maximize visual efficiency. These 3-D plotting capabilities include: eye diagrams, constellation plots, image plots 3-D waterfalls and X-Y plots.