RTOS工作原理

内核是操作系统的核心组件。 Linux 等操作系统使用内核,允许用户同时访问计算机。 每个正在执行的程序都是操作系统控制下的任务(或线程)。 如果一个操作系统能够以这种方式执行多个任务,则可以说是多任务处理。

https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lJME16a3hObU16TURaak4yTTBNV1prT0RaaE5HTTBNV0l6TW1NMk1HRmlZU0lzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklsZHNTR2hsVEZSUFdXeHpaVmRhUW1ZNU1YQmxJbjA9

FreeRTOS介绍

FreeRTOS 是一类 RTOS,设计得足够小,可以在微控制器上运行——尽管它的使用不限于微控制器应用。 FreeRTOS 包括一个内核和一组不断增长的软件库,适用于跨行业部门和应用程序。 在 FreeRTOS 的帮助下,您可以在基于微控制器的硬件上进行多任务处理!

为了与 Arduino 兼容,我们已将 FreeRTOS 移植到 Arduino 框架中,以便您可以轻松地将 FreeRTOS 与您喜爱的 Arduino 板一起使用。

Arduino中使用FreeRTOS

安装库

支持板

示例

通过提供微控制器实时调度功能、任务间通信、定时和同步原语,FreeRTOS 可以非常强大。

为了让您轻松开始使用 FreeRTOS,这里提供了一些示例以供参考。以下示例是在 Wio 终端上构建和运行的。

Hello World示例

此示例只是创建两个线程,以不同的速率将不同的字符串打印到串行监视器。

闪烁示例

这个例子还创建了两个线程和输出信号来点亮 LED。一种是简单地使 LED 闪烁,另一种是呼吸 LED。

LCD示例

此示例是 FreeRTOS 与其他 Arduino 库(例如 Wio 终端中的 LCD Sprites)的演示。 此示例在两个线程中创建两个精灵以相反的方式计算数字。 taskMonitor 是一个函数,用于监视线程并打印有关每个线程的堆栈信息。