TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320C6678: 关于动态创建任务的调度问题

Part Number:TMS320C6678Other Parts Discussed in Thread:SYSBIOS

在主函数中动态创建了一个任务A,然后再任务A中创建任务1和任务2,其中任务1优先级低,打印后一直处于while(1)死循环中,任务2优先级高,循环打印。

按照sysbios的抢占式来看,虽然任务1处于死循环中,但是高优先级的任务2应该能抢占得到时间片执行打印啊,但是结果只打印了任务1,请问这是为什么啊?

现在我通过网络接收外部指令,收到指令后执行一系列的运算,发现进入运算后网络卡死,运算完成后网络恢复,但是我还需要通过网络时时获取当前运算的进度,请问怎么实现呢?

tskCreateTask(tsk1, NULL, 20*1024, "tsk1", 6);
tskCreateTask(tsk2, NULL, 20*1024, "tsk2", 7);

void tsk1()
{
while(1)
{
printf("I am tsk1\r\n");
while(1);
}
}

void tsk2()
{
while(1)
{
printf("I am tsk2\r\n");
TaskSleep(1000);
}
}

Shine:

需要用semaphore信号量进行任务调度,tsk1用semaphore_post发送一个信号量,tsk2 semaphore_pend等到信号量后执行,请参考sys/bios user guide。4.1.1 Semaphore Examplehttps://www.ti.com/lit/ug/spruex3v/spruex3v.pdf

,

ddd dd:

那sys/bios操作系统的抢占性指的是什么呢?能否举例说明,谢谢~

,

Shine:

高优先级线程抢占低优先级线程。例子请看上面的sys/bios user guide Figure 3-2. Preemption Scenario.

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6678: 关于动态创建任务的调度问题
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1