从代码上看,uCOS-II的任务就是一个函数。但是只是采用函数的形式,仅仅借用了函数的一些特性,用函数来来存储代码而已。它不是通过不同的代码来区分不同的任务,而是通过不同的任务堆栈和不同的任务优先级来进行区分。类似与C++和JAVA中的函数重载。 例如,我们可以创建10个任务的任务代码的指针都是Task,这意味着这10个任务共用一段代码,但它们有不同的任务初始化参数、不同的任务堆栈和不同的优先级。
从结构上看,uCOS-II的任务由任务程序代码(函数)、任务私有堆栈和任务控制块三部分组成。任务控制块用于关联任务代码,记录任务属性;任务私有堆栈用于保存任务的工作环境虚拟CPU寄存器;任务程序代码就是任务的执行部分了。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !