This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

about task switch

hi

      a  question about task switch in dm6467,bios version is 5.32.01.

      there are two task in my project ,task A's priority is 15,the highest level , run interval is 100ms,spend little time every times .task B 's priority is 10,mainly do data process,spend about  300ms every time. there is no resource share between task A and task B,but when task B running ,task A is blocked.

      my question is :how can task B block task A?

thanks

  • Ting,

    If I understand your question corr4ectly, you are saying that you have two tasks running in your system, and that the low priority task is preempting the high priority task.  If the highest priority task is ready to run, then it should always run.  If the high priority task is blocking on an object (e.g., a semaphore), then it will then allow lower priority tasks to run.  In DSP/BIOS 5.x there is a tool called Kernel Object Viewer (KOV) that you can use to view the state of the tasks at any given breakpoint, and I would encourage you to use that as a debugging aid.  You can also use KOV to detect whether you are blowing your task's stack, which would certainly cause anomalous behavior to occur. 

    Dave

  •  thanks for answer.

     I'm not familiar with KOV,  Is there any document about KOV?I search "KOV" in ti.com,but  cann't find any document.

    Is there any other way to detect task state? Because I have no JTEG interface to debug.

     

  • If you are using CCS 3.x, you can use the Kernel Object Viewer.  If you are using CCS 4.x, KOV was replaced by a new tool called Runtime Object Viewer.  You can find a description of it in he DSP/BIOS User Guide.

    If you have no JTAG interface, does that mean you have no capability of running a debugger?  Are you trying to do all your debugging in run-time?  If so, then that will make things more difficult.  You may be able to get some runtime visibility using the Task Hook functionality to print out information whenever a context switch occurs.

    Dave