Hi,最近在拜读An embedded software primer,目前看到第六章了。
书中提到,在谈论RTOS时,task就是个subroutine。图:https://imgur.com/a/UmfbV
依我的了解,routine指的就是C中的function,那么subroutine指的应该是function里面
的function call吧?也就是说:
void func(void)
{
subroutine_1();
subroutine_2();
}
其中subroutine1跟2就是task。
也就是说,做完一个routine中全部的task,才能完成那个routine。拿个简单的例子,在
I2C中,必须要start,write,ack,read才能完成一个读取的动作。所以这个I2C routine需
要四个task才能完成。