打印

ucosii 的信号量问题

[复制链接]
2316|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wolf1116|  楼主 | 2011-8-11 11:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wolf1116 于 2011-8-11 11:46 编辑

在 ucosii 的串口中断 发送 信号量 OSSemPost 任务接收不到,单步跟踪下,关中断处出现异常

INT8U  OSSemPost (OS_EVENT *pevent)
{
#if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU status register */
    OS_CPU_SR  cpu_sr;                              
#endif   


#if OS_ARG_CHK_EN > 0
    if (pevent == (OS_EVENT *)0) {                         /* Validate 'pevent'                        */
        return (OS_ERR_PEVENT_NULL);
    }
    if (pevent->OSEventType != OS_EVENT_TYPE_SEM) {        /* Validate event block type                */
        return (OS_ERR_EVENT_TYPE);
    }
#endif
    OS_ENTER_CRITICAL();
    if (pevent->OSEventGrp != 0x00) {                      /* See if any task waiting for semaphore    */
        OS_EventTaskRdy(pevent, (void *)0, OS_STAT_SEM);   /* Ready highest prio task waiting on event */
        OS_EXIT_CRITICAL();
        OS_Sched();                                        /* Find highest priority task ready to run  */
        return (OS_NO_ERR);
    }
    if (pevent->OSEventCnt < 65535) {                 /* Make sure semaphore will not overflow         */
        pevent->OSEventCnt++;                         /* Increment semaphore count to register event   */
        OS_EXIT_CRITICAL();
        return (OS_NO_ERR);
    }
    OS_EXIT_CRITICAL();                               /* Semaphore value has reached its maximum       */
    return (OS_SEM_OVF);

出现异常 HARD_FAULT_HANDLE
请高手指点~
}

相关帖子

沙发
wolf1116|  楼主 | 2011-8-12 10:23 | 只看该作者
大家都来看看,帮忙找下原因啊~~

使用特权

评论回复
板凳
john_lee| | 2011-8-13 18:50 | 只看该作者
贴OS_ENTER_CRITICAL();的反汇编代码看看。

使用特权

评论回复
地板
wolf1116|  楼主 | 2011-8-15 12:30 | 只看该作者
/*
**    多谢 john_lee
*/

323:     OS_ENTER_CRITICAL();
0x00002D9E 2002      MOVS     r0,#0x02
0x00002DA0 DF00      SVC      0x00

就是这两句么?

使用特权

评论回复
5
john_lee| | 2011-8-15 15:54 | 只看该作者
这里说太慢,加入群12047788,我帮你解决,入群的验证信息就写:有问题找john_lee

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

38

帖子

1

粉丝