I want to implement a scheduler for a SHARC processor. Does Analog Devices provide a kernel or have any guidelines for such a project?
The VisualDSP++ development platform includes the VisualDSP++ Kernel (VDK). VDK is a simple kernel that is used to create threads, semaphores, events, etc. VDK can be used with a mix of assembly and C or C++ programs. VDK is used to create threads and has a built-in scheduler whose parameters can be varied by the user. When implementing a custom scheduler, the SHARC architecture provides background registers for easy context switching. These registers are accessed by a bit in the MODE1 register. This feature can be used to implement simple schedulers with a maximum of 2 threads. However, care should be taken to ensure that the control registers (which are NOT duplicated) are appropriately saved and restored between the threads.