嵌入式开发:如何选择裸机,RTOS和GPOS

更新时间: 2024-05-15 09:50:43来源: 粤嵌教育浏览量:510

在每个开发周期中都有一个时候,你必须选择软件构建的基础。虽然有许多选择,但它们通常分为三类裸机、实时操作系统(RTOS)或通用操作系统(GPOS)

 

裸机系统不使用操作系统。相反,应用程序代码直接在硬件上运行,不需要操作系统的支持。的代码直接与硬件交互并访问硬件。

 

RTOS操作系统旨在为实时应用程序提供可预测的执行时间和时间敏感的应用程序。他们的主要特征是响应性和确定性。

 

GPOS设计用于运行广泛的软件应用程序。这些操作系统的特点是用户友好的界面和它们提供的广泛服务。GPOS的例子包括WindowsLinuxMacOS

 

你的选择可能会对成本、上市时间甚至质量产生很大的后果。让我们看看如何在裸机、RTOSGPOS之间做出选择。

 

何时选择裸机

当处理器硬件受到资源限制时,裸机解决方案可以很好地工作。受限的资源包括处理器总线宽度、RAM、闪存和处理器速度。例如,你会发现在8位和16位微控制器上很少支持RTOS

还会发现,很少有操作系统适合32千字节的闪存空间或只有2千字节RAM的处理器。

 

资源限制并不是选择裸机的唯一考虑因素。如果的系统有非常严格的实时要求,可能还想选择裸机解决方案。操作系统通常会有与其内核相关的开销,这会导致响应时间的抖动和延迟。直接访问硬件可以帮助管理时序和确定性,同时确保低延迟。

 

裸机解决方案最适合基于微控制器的低端系统,这些系统是具有严格实时要求的断开系统。

 

何时选择RTOS

的可用硬件不受资源限制时,RTOS是一个很好的解决方案。这些包括硬件系统,如32位微控制器和低端应用处理器。要使用RTOS的系统应该至少有64千字节的闪存、4千字节的RAM80 MHz或更高的处理器时钟。虽然可以少花一些时间,但是将花费更多的时间来对抗RTOS和硬件,而不是开发的应用程序。

 

RTOS通常用于比裸机系统具有更复杂时序要求的系统。这些系统通常需要管理实时需求,同时处理TCP/IPMQTTUSBWi-Fi等通信栈。虽然使用裸机解决方案开发这些类型的系统是可能的,但是拥有RTOS可以简化设计,加快上市时间,并使软件维护更容易。

 

RTOS的另一个重要方面是操作系统添加到软件开发中的功能,例如任务管理、任务同步、调度和任务间通信。RTOS可以让你优先处理那些可以互相抢占的任务,从而允许更复杂的应用程序设计。

 

RTOS解决方案最适合中高性能微控制器和低端应用处理器,在这些领域,高可靠性和时序至关重要。

 

何时选择GPOS

有应用程序处理器或完整的微处理器可用时,通用操作系统非常适合。当你看到GPOS时,你很可能会使用某种嵌入式Linux。硬件通常是32位应用处理器,以200 MHz或更高的总线速度运行,具有数兆字节的内存存储和RAM,如果不是数千兆字节的话。

 

对于不太需要严格计时和确定性的复杂应用程序来说,GPOS是一个出色的解决方案。GPOS通常提供广泛的服务,例如用户友好的界面、通信堆栈、软件更新的简便性等。这些功能可以帮助在没有底层硬件知识或专业知识的情况下更好地管理系统。它们也更易于设置和管理。在GPOS,更多的开发人员拥有领域知识,但电子产品通常比微控制器解决方案贵得多。

 

GPOS解决方案最适合确定性和系统时序不太重要的应用和微处理器。

 

结论

的电子系统选择基础时,会发现有三种通用解决方案可供选择:裸机、RTOSGPOS。最佳解决方案取决于可用的硬件、想要的可靠性以及系统的时序要求。在某些情况下,你可能会发现不止一个适合。在这些情况下,必须考虑开发成本以及长期维护和支持。

 

不要忘记考虑系统的可伸缩性及其未来扩展的潜力。系统可能需要发展,以适应更复杂的功能或额外的硬件,能够处理这种增长的操作系统可能会更好地服务于这些系统。最后,考虑每个选项可用的社区和供应商支持,因为这可能会极大地影响在系统生命周期中排除故障、更新和保护系统的能力。

免费预约试听课