您的位置:首页 > 其它

FreeRTOS任务基础知识总结

2017-06-03 23:30 267 查看
1、单任务系统-前后台系统:中断服务函数为前台程序,大循环while(1)作为后台程序。

      前后台系统的实时性差,但是前后台系统简单,资源消耗少。

      

2、FreeRTOS是一种抢占式的实时多任务系统,其任务调度器也是抢占式的。

3、高优先级的任务可以打断低优先级任务的运行而取得CPU的使用权,这样就保证了那些紧急任务的运行。

       高优先级的任务执行完成以后重新把CPU的使用权还给低优先级的任务,这个就是抢占式多任务系统的基本原理。

      

4、任务特性:

       1)简单。

       2)没有使用权。

       3)支持抢占。

       4)支持优先级。

       5)每个任务都拥有堆栈导致了RAM使用量增大。

       6)如果使用抢占式的话必须仔细考虑重入的问题。

       

5、任务状态:

       1)运行态

       2)就绪态

       3)阻塞态

       4)挂起态

       

6、优先级数字越低表示任务的优先级越低,0的优先级最低,configMAX_PRIORITIES-1的优先级最高。空闲任务的优先级最低,为0

7、任务创建

      用函数xTaskCreate()或xTaskCreateStatic()来创建任务。

      

8、任务控制块

      FreeRTOS的每个任务都有一些属性需要存储,FreeRTOS把这些属性集合到一起用一个结构体来表示,这个结构体叫做任务控制块:TCB_t,

      在使用函数xTaskCreate()创建任务的时候就会自动给每个任务分配一个任务控制块。

      

9、任务堆栈

      任务的实际堆栈大小就应该是我们所定义的4倍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: