i am using custom application, which is having many threads and semaphore.
while in a case, the semaphore is posted from ISR to a thread.
But in the thread, I am not receiving the semaphore.
I thought of checking the state of semaphore by vdk status.
since the application is big, it takes long time to open the window.
Any other way to check the status of the semaphores/threads status??
Are you talking about checking for the semaphore value in memory or would it be enough with having an API in your thread to check the thread value?
If a call in the thread is enough then VDK_GetSemaphoreValue is what you want. There are other APIs introduced in VisualDSP++ 5.0 which can give you status information about the threads. Unfortunately if you want to check it in memory there is nothing that does not change between versions of VisualDSP (internal undocumented structures may change between versions).
To make sure that your semaphore is getting posted properly you can place two breakpoints, one in your ISR to make sure you are reaching it and another one in the symbol _Invoke__Q2_3VDK9SemaphoreSFP14TMK_DpcElement. if you are hitting both breakpoints then your semaphore should be posted correctly.
If you are running with the fully instrumented libraries then the VDK history window might also give you an indication of whether the VDK API that posts a semaphore has been called or not. It should also be useful telling you what the state of your threads is.