硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4963|回复: 2
收起左侧

[μCOS-III] 创建uCOS-III任务的时候,最高优先级0和最低优先级OS_CFG_PRIO_MAX - 1u已经被占用

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2015-7-18 21:29:48 | 显示全部楼层 |阅读模式
虽然uCOS-III支持同优先级任务,但是这两个优先级用户是不能够使用的。
/* 优先级0已经被占用,任何其任务都不能占用 */
#if (OS_CFG_ISR_POST_DEFERRED_EN == DEF_ENABLED)
    if (prio == 0u) {
        if (p_tcb != &OSIntQTaskTCB) {
#if (defined(TRACE_CFG_EN) && (TRACE_CFG_EN == DEF_ENABLED))
            TRACE_OS_TASK_CREATE_FAILED(p_tcb);                 /* Record the event.                                    */
#endif
           *p_err = OS_ERR_PRIO_INVALID;                        /* Not allowed to use priority 0                        */
            return;
        }
    }
#endif


/* 最低优先级OS_CFG_PRIO_MAX - 1u已经被空闲任务占用 */
    if (prio == (OS_CFG_PRIO_MAX - 1u)) {
#if (OS_CFG_TASK_IDLE_EN == DEF_ENABLED)
        if (p_tcb != &OSIdleTaskTCB) {
#if (defined(TRACE_CFG_EN) && (TRACE_CFG_EN == DEF_ENABLED))
            TRACE_OS_TASK_CREATE_FAILED(p_tcb);                 /* Record the event.                                    */
#endif
           *p_err = OS_ERR_PRIO_INVALID;                        /* Not allowed to use same priority as idle task        */
            return;
        }
#else
#if (defined(TRACE_CFG_EN) && (TRACE_CFG_EN == DEF_ENABLED))
        TRACE_OS_TASK_CREATE_FAILED(p_tcb);              /* Record the event.                                    */
#endif
       *p_err = OS_ERR_PRIO_INVALID;                            /* Not allowed to use same priority as idle task        */
        return;
#endif
    }
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2015-7-18 22:23:15 | 显示全部楼层
当用户选择不使用空闲任务优先级,即最低优先级OS_CFG_PRIO_MAX - 1u,而且我们也无法通过函数
OSTaskChangePrio修改优先级,但是在调度函数中仍然对OS_CFG_PRIO_MAX - 1u优先级的任务做了处理
(这里待研究)
2.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2015-7-19 16:51:54 | 显示全部楼层
这两个任务不允许使用函数OSTaskSuspend进行挂起。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 22:38 , Processed in 0.198268 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表