最近在使用TI-RTOS,里面一段代码是这样的:
void main(void) {//一些初始化操作.../* 初始化任务常数 */Task_Params_init(&taskParams);taskParams.stackSize = 3*1024;Task_create(function11, &taskParams, NULL);/* Start BIOS */BIOS_start(); } void function11(void) {... //执行一些操作Task_create(function21, &taskParams, NULL);Task_create(function22, &taskParams, NULL);return; } void function21(void) {... //执行一些操作return; } void function22(void) {... //执行一些操作return; }
其中,main( )运行到BIOS_start( ) 结束;
function11( )没有while(1),运行到return结束;
function21( )、function22( )同样没有while(1),运行到return结束。
请问操作系统启动后,function11( )、function21( )、function22( ) 三个函数是如何运行的?
Thanks.
Susan Yang:
首先不建议这样做
这样的结果就是这些task只运行一次,不会再次进入
user4045825:
回复 Susan Yang:
非常感谢您的回复。
这是从mmWave OOB Demo里提取出的一部分代码,因问题只涉及RTOS,才在此版面问答。
“这样的结果就是这些task只运行一次,不会再次进入”
这句话的意思是,因为有 return,所以这些 Task 只会运行一遍?是这样吗?
Susan Yang:
回复 user4045825:
是的 您的理解是正确的