清风徐来 发表于 2020-10-25 09:49:51

【问】RTX4 创建启动任务 首次执行的问题

如题,有个疑问; ucos2中是在osstart()之后系统会挑选优先级最高的任务执行。osstart()执行之前不会调度,执行任何任务的。
但是在RTX4中是一般是这样开始的,
int main (void)
{       
        /* 初始化外设 */
        bsp_Init();
       
        /* 创建启动任务 */
        os_sys_init_user (AppTaskStart,            /* 任务函数 */
                          6,                         /* 任务优先级 */
                          &AppTaskStartStk,          /* 任务栈 */
                          sizeof(AppTaskStartStk));/* 任务栈大小,单位字节数 */
        while(1);
}


上面何时开始执行调度? 如果启动任务不会最高优先级会有问题吗?

eric2013 发表于 2020-10-26 07:09:16

方便的话,单步调试就看到效果了。

myxiaonia 发表于 2020-10-26 08:38:32

rtx没有把任务一个个放入队列再开始的操作,创建启动任务后调度就开始了。你需要在启动任务里创建任务列表,为了达到你要求的类似任务表操作,可以把启动任务设定为最高优先级,最后删除这个任务就可以了
页: [1]
查看完整版本: 【问】RTX4 创建启动任务 首次执行的问题