freeRTOS小结——概述
OS的主要功能是封装底层硬件,向用户提供多个虚拟的CPU,让用户可以并行地运行多个任务。
freeRTOS也不例外,其将这些任务记为TASK。某些OS中将TASK细分为进程(process)和线程(thread),但freeRTOS并不区分,TASK就是在这些虚拟CPU上运行的指令集合。
在CPU上运行freeRTOS时,main函数的处理流程大致如下图所示,实际上大部分的OS在CPU上运行时,main函数处理流程都是这样
其中包含如下处理过程
· 硬件初始化(Hardware Initialization),初始化系统硬件
· OS初始化(OS Initialization),初始化OS,主要是创建用户自定义的必要的任务和事件,以及注册中断处理函数
· 用户自定义初始化(User-define Initialization),主要是初始化用户自定义的必要的全局数据
· 启动OS(Start OS),使用API函数vTaskStartScheduler
运行用户自定义任务(Run User-defined TASKs),运行用户自定义任务,一般而言,这是一个包含无限循环的处理过程,不会退出