FreeRTOS任务基础知识总结

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倍。

你可能感兴趣的:(FreeRTOS系统学习)