初识 FreeRTOS + lwip

本文主要介绍了FreeRTOS实时操作系统的基本概念、特性,对比了与Linux的区别,并详细阐述了任务管理和任务间的通信与同步。内容包括RTOS与非RTOS的区别、FreeRTOS的主要特点、任务创建与调度、Task通信的Queue机制等,适合初学者了解FreeRTOS系统。
摘要由CSDN通过智能技术生成

本文是对一些对Linux等系统有认识,但却没有接触过FreeRTOS系统的人提供一些帮助,能够了解FreeRTOS大致的一些工作原理和如何在FreeRTOS系统上开发还有网络协议栈实现等。作者对于FreeRTOS开发时间还不长,发现文中有哪些谬误,烦劳指出不胜感谢。本文大致分为以下几部分:

  • Preface 主要描述RTOS与通用系统之间的区别和FreeRTOS系统的特性
  • Task Management 主要描述Task如何创建、哪些状态切换等
  • Task Communication & Synchronization 主要描述Task间通信及同步方式
  • FreeRTOS Network 主要描述FreeRTOS的网络实现方式
  • FreeRTOS Debug & Performance Analysis 主要描述 FreeRTOS的一些debug手段以及性能分析方式

1 Preface

What is RTOS?

那么什么是实时操作系统,实时操作系统又与我们平时使用的Linux、Windows操作系统有哪些不同呢?

先简单介绍下大多数操作系统都允许多个程序同时执行,称为多任务处理。但实际上每个处理器在同一时刻只能处理单个执行线程,而操作系统的调度程序来选择在何时运行哪个程序,并通过在每个程序之前快速切换从而提供同时执行的假象

RTOS(Real-time operating system)实时操作系统和非实时操作系统根本区别就在于调度机制的不同。实时操作系统要旨在于确定性的执行模式。因为认为只有在可预测操作系统行为(确定)时,才能够满足实时的需求。大部分的RTOS操作系统是通过用户设定每个执行线程的优先级来实现确定性。在调度时,一定会优先执行高优先级的程序。而非实时操作系统是保证每个执行线程都不会饿死,尽量保证高优先级的程序较多运行。

那么,使用了实时操作系统,系统响应速度一定快,实时性一定得到保障了么?

不一定。在实时性要求较高的系统里,仍需注意以下两点:

  • 因为实时操作系统本身引入了执行开销,所以对于小型应用来说,有RTOS的性能也许不如无操作系统的情况。实时操作系统的优势最能体现在中大型系统中,当任务间存在复杂的耦合和依赖关系,并且应用程序经常要长时间等待外部资源时。
  • 在决定使用RTOS情况下,如果需提供实时性保证,仍需要使用实时系统理论对任务可调度性和相应时间进行分析,才可得到科学、系统的相应性保证。

常见的RTOSFreeRTOSuCosII / uCosIIINucleus RTOS

常见应用场景是针对实时性要求较高使用,像汽车引擎控制、轨道交通、工业机器人、飞行器控制系统等

What is FreeRTOS?

FreeRTOS是一种RTOS系统,已经在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值