I'm trying to add a thread and a semaphore to my existing platform. I'm using the VDK kernel, so through the Visual DSP++ IDE I use the Kernel tab to add the thread type, and make it a boot thread. I give the new thread higher priority than the rest. The new thread is kPriority4, whereas all other threads in my system are kPriority5. At run time, I post the semaphore from an ISR, and the new thread pends on the Semaphore (Semaphore ID = 2). The post and pend are successful, as far as the VDK Status window reports.
But how can this be? My Idle thread is running, yet the OS does not grant cpu access to my thread.
Before posting the semaphore:
After posting the semaphore:
My feeble mind cannot grasp how this behavior is possible