在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。
本文我们对嵌入式实时操作系统进行经典三问:what?when?how?
一、什么是嵌入式实时操作系统?
嵌入式实时操作系统(RTOS)是一种操作系统,旨在管理嵌入式系统的硬件资源;它创建了多个软件执行线程和一个调度程序来管理这些线程。另一种说法是一个调度内核,它创建了一个多任务和确定性的运行时环境。
二、什么时候需要用RTOS?
当有更多中断源、更多功能和更多通信接口时,通常使用RTOS。简而言之,应用程序的复杂性在很大程度上决定了为MCU定制的RTO的使用。
但在这个嵌入式碎片化极其严重的时代,各式各样的芯片,想要让同样的代码,在裸机环境下同时适配不同的硬件,难度非常大。这样也就导致了裸机的代码会过多的依赖于底层硬件,重复造轮子的过程也就不可避免。
三、选择RTOS需要考虑的因素
现在开源或不开源的RTOS非常多,当我们选择具体使用哪个RTOS时主要需要考虑哪些因素呢?
响应性:RTOS调度算法、中断延迟和上下文切换时间将显著定义系统的响应性和确定性。最重要的考虑是需要什么类型的响应——是否需要硬实时响应?这意味着有精确定义的最后期限,如果不满足,将导致系统失败。或者,非确定性的软实时响应是否合适?在这种情况下,无法保证每项任务何时完成。
可用系统资源:微内核使用最少的系统资源,并提供有限但必不可少的任务调度功能。微内核通常提供硬实时响应,广泛用于RAM/ROM容量有限的嵌入式微处理器,但也适用于较大的嵌入式处理器系统。
或者,可以使用Linux或WinCE等功能齐全的操作系统。它们提供了功能丰富的操作系统环境,通常随驱动程序、GUI和中间件组件一起提供。与微内核相比,功能齐全的操作系统通常响应速度较慢,需要更多的内存和处理能力,主要用于系统资源丰富的强大嵌入式处理器上。
开源或专业许可:有广泛使用的、免费的开源RTOS可用,在GPL或修改的GPL许可下分发。然而,这些许可证可能包含保留拷贝的限制,提供的保护很少。专业授权的RTOS产品取消了版权限制,提供完整的知识产权侵权赔偿和担保。此外,只有一家公司提供支持,并对产品质量负责。
质量:RTOS供应商在其组织内对质量的重视程度如何?质量不仅仅是编码标准。是否有正确的程序来保证未来产品和支持的质量?管理良好、重视质量的公司往往通过ISO 9001认证。
安全认证:预认证和可认证RTO可用于需要按照国际设计标准(如DO-178C和IEC 61508)认证的应用。这些RTO提供了关键的安全特性,以及认证机构要求的设计证据,以确认用于开发RTO的过程符合相关设计标准。
许可证:它不仅是您需要考虑的RTOS功能和特性,而且是对您的项目预算和公司的“投资回报”最有效的许可模式。
RTOS供应商:RTOS背后的公司与选择正确的RTOS本身一样重要。理想情况下,您希望与供应商建立关系,不仅支持您当前的产品,而且支持您未来的产品。要做到这一点,你需要选择一个具有良好声誉的积极主动的供应商,与领先的硅制造商合作,确保他们能够支持最新的处理器和工具。
信任、产品质量和支持质量是一切。
END
→点关注,不迷路←