FreeRTOS知识解密:我们为什么要学习RTOS?为什么要选用FreeRTOS?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FreeRTOS知识解密:我们为什么要学习RTOS?为什么要选
用FreeRTOS?
FreeRTOS知识解密:我们为什么要学习RTOS?为什么要选用
FreeRTOS?
今天带着大家了解和学习一下FREERTOS.。
在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。
采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU 的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。
由于RTOS需占用一定的系统资源(尤其是RAM 资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM 单片机上运行。
相对于C/OS-II、embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行。
1.为什么学习RTOS?
作为基于ARM7、Cortex-M3硬件开发的嵌入式工程师,我一直反对使用RTOS。
不仅因为不恰当的使用RTOS会给项目带来额外的稳定性风险,更重要的是我认为绝大多数基于ARM7、Cortex-M3硬件的项目,还没复杂到使用RTOS的地步,使用状态机就足够了。
对于现代的微处理器,特别是资源相对丰富ARM7、Cortex-M3硬件来说,RTOS占用的硬件资源已经越来越可以忽略。
所以在当今环境下,我们无需担心RTOS会拖累性能。
相反,RTOS提供的事件驱动型设计方式,使得RTOS只是在处理实际任务时才会运行,这能够更合理的利用CPU。
在实际项目中,如果程序等待一个超时事件,传统的无RTOS 情况下,要么在原地一直等待而不能执行其它任务,要么使用复杂(相对RTOS提供的任务机制而言)的状态机机制。
如果使用RTOS,则可以很方便的将当前任务阻塞在该事件下,然后自动去执行别的任务,这显然更方便,并且可以高效的利用CPU。
处理这类事件,是我使用RTOS的最大动力,但考虑到系统的稳定性,我不得不再三权衡
RTOS可能带来的一些弊端:
1.大多数RTOS代码都具有一定规模,任何代码都可能带来BUG,何况是代码具有一定规。