当前位置:首页 > 技术学院 > 技术解析
[导读]在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。

一、什么是FreeRTOS ?

在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。

在嵌入式领域,FreeRTOS是不多的同时具有实时性,开源性,可靠性,易用性,多平台支持等特点的嵌入式操作系统。目前,FreeRTOS已经发展到支持包含X86,Xilinx,Altera等多达30种的硬件平台,其广阔的应用前景已经越来越受到业内人士的瞩目。

FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对μC/OS-II、embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为10.3.1版。

作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。FreeRTOS内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。

FreeRTOS的内核可根据用户需要设置为可剥夺型内核或不可剥夺型内核。当FreeRTOS被设置为可剥夺型内核时,处于就绪态的高优先级任务能剥夺低优先级任务的CPU使用权,这样可保证系统满足实时性的要求;当FreeRTOS被设置为不可剥夺型内核时,处于就绪态的高优先级任务只有等当前运行任务主动释放CPU的使用权后才能获得运行,这样可提高CPU的运行效率。

二、为什么要学习RTOS?

作为基于ARM7、Cortex-M3硬件开发的嵌入式工程师,我一直反对使用RTOS。不仅因为不恰当的使用RTOS会给项目带来额外的稳定性风险,更重要的是我认为绝大多数基于ARM7、Cortex-M3硬件的项目,还没复杂到使用RTOS的地步,使用状态机就足够了。

对于现代的微处理器,特别是资源相对丰富ARM7、Cortex-M3硬件来说,RTOS占用的硬件资源已经越来越可以忽略。所以在当今环境下,我们无需担心RTOS会拖累性能。相反,RTOS提供的事件驱动型设计方式,使得RTOS只是在处理实际任务时才会运行,这能够更合理的利用CPU。在实际项目中,如果程序等待一个超时事件,传统的无RTOS情况下,要么在原地一直等待而不能执行其它任务,要么使用复杂(相对RTOS提供的任务机制而言)的状态机机制。如果使用RTOS,则可以很方便的将当前任务阻塞在该事件下,然后自动去执行别的任务,这显然更方便,并且可以高效的利用CPU。

三、安全地连接、编程、部署和管理低功耗设备

FreeRTOS 支持传输层安全性 (TLS v1.2),可以帮助您的设备安全连接到 AWS。您还可以轻松将常用的 IoT 功能编程到设备中,其中包括使用 Wi-Fi 或以太网等常见连接选项来帮助将设备配置到本地网络的软件库,或者使用低功耗蓝牙技术连接到移动设备。FreeRTOS 还提供了一个无线 (OTA) 更新库,通过增强功能或安全补丁来远程更新设备。它还具备代码签名功能,可以确保您的设备代码在部署和 OTA 更新过程中不会泄露。

四、几点初学者建议

第一点:初学者学习操作系统,那必须是先学习内核,学习内核处理的思想,跳出裸机处理的思想,那么选择的内核必然是由简单到深入。

第二点:学习内核的话,文档说明必须要丰富,目前有很多书是写ucos跟FreeRTOS的,很多人都觉得这两个rtos非常好,那人家做了那么多年,确实也是非常好的啦,ucos上过火星;FreeRTOS开源免费,是全球最多人使用的rtos,我肯定不否认这些不好啦。但是我还是推荐国内的。ucos实现太臃肿,安全做的非常好,很多情况都考虑了,但是作为初学者,你会有那么多情况产生吗,肯定不会的,没必要学。FreeRTOS实现几乎都是通过宏定义提供给开发者,实现过程也是很直观明了,但是内核代码行数还是太多了,我不推荐(即使我的第一个rtos也是学习FreeRTOS)。

第三点:目前rt-thread的书籍与例程非常丰富了,比如野火的《rt-thread内核实现与应用开发实战指南》,比如rt-thread官方出版的《RT-Thread编程指南》,都是很不错的资料。而TencentOS tiny资料较少,说不定我能给它整一个全网首发TencentOS tiny内核实现的系列文章

第四点:关于rtos内核,真的是一通百通的!!!各种ICP通信的同步、互斥、阻塞机制,真的是一样的处理思想,大同小异的实现过程,相信我。

五、工业应用程序

工业客户利用基于微控制器的设备,这些设备会生成关于业务关键型工作负载的数据。工业传感器、致动器、泵和自动化组件均使用微控制器,因为它们成本低、功耗低,并且可以执行实时操作。例如,石油钻塔上的单个泵由微控制器控制,如果出现故障,则可能会完全关闭。借助 FreeRTOS,这些客户可以通过直接连接到云来收集系统性能和压力方面的数据,并通过 AWS IoT Greengrass 在本地实时采取关键措施来防止出现此类破坏性中断。

FreeRTOS 可以帮助电器、可穿戴技术或智能照明制造商等消费产品公司针对各种产品和型号,将基于微控制器的设备开发、交付和维护过程标准化。FreeRTOS 提供单个微控制器操作系统,它可以支持具有不同功率和容量的各种微控制器硬件。这样,这些公司便可以专注于产品创新,无需面对跨多个产品线开发软件的复杂性。此外,通过 OTA 更新功能,FreeRTOS 还能安全更新使用中的现有消费产品的功能。

【更多关于FreeRTOS相关阅读】

超详细的FreeRTOS移植全教程——基于STM32

FreeRTOS的相关问题及处理1

FreeRTOS在Cortex-M3上的移植

FreeRTOS入门指南

FreeRtos——移植到 STM32 MCU 上面

(转)FreeRTOS移植到STM32F103步骤与注意事项

FreeRTOS 消息队列

推荐给学习rtos的朋友一本好书freertos说明书(入门推荐)

嵌入式操作系统 FreeRTOS 的原理与实现

freertos和ucos哪个更适合于学习???

AC781x移植Freertos系统

FreeRTOS调度器启动过程分析

FreeRTOS任务创建分析

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

深圳2024年4月23日 /美通社/ -- 全球AI解决方案与工业级存储领导品牌宜鼎国际 (Innodisk)持续深化边缘AI布局,今(23)日发表全球首创"MIPI over Type-C"独家技术,让旗下嵌入式相机模...

关键字: AI 嵌入式 相机

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

为增进大家对嵌入式的认识,本文将对嵌入式、嵌入式工作相关的内容予以介绍。

关键字: 嵌入式 指数 嵌入式技术

机器人操作系统(ROS)驱动程序基于ADI产品而开发,因此可直接在ROS生态系统中使用这些产品。本文将概述如何在应用、产品和系统(例如,自主导航、安全气泡地图和数据收集机器人)中使用和集成这些驱动程序;以及这样将如何有助...

关键字: 电机控制器 机器人 嵌入式

支持高达48V@5A的PD受电模式,达到目前USB PD最高标准。

关键字: 嵌入式 开发板

【2024年4月8日,德国慕尼黑讯】低碳化和数字化是当今时代人们面临的两大核心挑战,人类社会需要依靠创新和先进的技术,才能破除挑战、推动转型进程。在德国纽伦堡举办的2024国际嵌入式展(Embedded World 20...

关键字: 半导体 微控制器 嵌入式

TDK 株式会社(TSE:6762)进一步扩充 Micronas 嵌入式电机控制器系列 HVC 5x,完全集成电机控制器与 HVC-5222D 和 HVC-5422D,以驱动小型有刷(BDC)、无刷(BLDC)或步进电机...

关键字: 嵌入式 电机控制器 内存

嵌入式开发作为信息技术领域的重要分支,在当今智能化社会中的地位日益显著。它不仅在日常生活中的消费电子产品、工业自动化、汽车电子、航空航天等诸多领域发挥着不可或缺的作用,而且随着物联网、大数据、人工智能技术的发展,嵌入式开...

关键字: 嵌入式 信息技术
关闭
关闭