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.

dsp/bios的信号量在SRIO中断中使用的问题 c6455



目前在硬件中断4的服务函数中调用了sem_post(),来给优先级为6的任务发送信号,但是在调试过程中发现当sem_post()执行完成之后,并未退出中断,而是直接调度到优先级为6的任务的中执行,执行完成后跳回中断服务函数中执行,退出中断,有时候退出中断后全局中断使能位没有被使能,所有中断都无法响应和调度。我们理解信号量被释放之后,不应立即调度。理应在中断退出时候进行调度,否则有可能无法退出中断。请问这个问题如何让排查??

  • 我们发现这样一个问题,当程序运行一段时间后处在这样一种状态

     

    我不知道为什么程序死在了这个标号为“spin”的函数内,最奇怪的是如寄存器所示,中断全局中断使能,响应的中断也使能,中断信号也有,当是此时却进不了中断服务程序,而且一直在这个spin函数内!我很奇怪