freeRTOS小结——概述

OS的主要功能是封装底层硬件,向用户提供多个虚拟的CPU,让用户可以并行地运行多个任务。

freeRTOS也不例外,其将这些任务记为TASK。某些OS中将TASK细分为进程(process)和线程(thread),但freeRTOS并不区分,TASK就是在这些虚拟CPU上运行的指令集合。

在CPU上运行freeRTOS时,main函数的处理流程大致如下图所示,实际上大部分的OS在CPU上运行时,main函数处理流程都是这样

freeRTOS小结——概述

其中包含如下处理过程

·           硬件初始化(Hardware Initialization),初始化系统硬件

·           OS初始化(OS Initialization),初始化OS,主要是创建用户自定义的必要的任务和事件,以及注册中断处理函数

·           用户自定义初始化(User-define Initialization),主要是初始化用户自定义的必要的全局数据

·           启动OS(Start OS),使用API函数vTaskStartScheduler

运行用户自定义任务(Run User-defined TASKs),运行用户自定义任务,一般而言,这是一个包含无限循环的处理过程,不会退出