在每个开发项目的初期,你都必须选择软件开发的基础。虽然有很多选择,但它们通常分为三类:裸机、实时操作系统(RTOS)或通用操作系统(GPOS)。
裸机系统不使用操作系统,应用程序代码在没有操作系统支持的情况下直接在硬件上运行,你的代码直接与硬件交互并访问硬件。
RTOS(实时操作系统)旨在提供实时应用环境,提供可预测的执行时间和时间敏感的应用平台。他们的关键特征是响应能力和确定性。
GPOS旨在运行各种软件应用程序,这样的操作系统的特点是用户界面友好和能提供广泛服务,GPOS的例子包括Windows、Linux和MacOS。
你为电子系统的开发选择一个操作系统,它可能会对成本、上市时间甚至质量产生严重影响。让我们看看如何在裸机、RTOS和GPOS之间进行选择。
何时选择裸机?
当处理器硬件受资源限制时,裸机解决方案效果很好。受限的资源包括处理器总线宽度、RAM、FLASH和处理器速度。例如,你会发现在8位和16位微控制器上很少支持RTOS。你还会发现,很少有操作系统适合32K字节的闪存空间或只有2K字节内存的处理器。
资源限制并不是选择裸机的唯一考虑因素。如果你的系统具有高度受限的实时需求,你可能还想选择裸机解决方案。操作系统通常具有与内核相关的开销,这可能会导致抖动和响应时间延迟。直接访问硬件可以帮助你管理定时并保证确定性,同时确保低延迟。
裸机解决方案最适合基于低端微控制器的系统,这些系统是具有严格实时要求的非联网系统。
何时选择RTOS?
当你的硬件不受资源限制时,RTOS是一个很好的解决方案,这里包括32位微控制器和低端应用处理器等硬件系统。要使用RTOS,你的系统应该至少有64K字节的闪存,4k字节的RAM和80 MHz或以上的处理器时钟。虽然你可能能够用更少的资源,但你将花更多的时间与RTOS和硬件较劲,而不是开发你的应用程序。
RTOS通常用于比裸机系统具有更复杂定时要求的系统。这些系统通常需要管理实时需求,同时处理TCP/IP、MQTT、USB、Wi-Fi等通信协议。虽然可以使用裸机解决方案开发这种类型的系统,但拥有RTOS简化了设计,加快了上市时间,并使软件维护更容易。
RTOS的另一个关键方面是操作系统为软件开发添加的功能,例如任务管理、任务同步、调度和任务间通信。RTOS可以允许你优先处理可以相互抢占的任务,允许更复杂的应用程序设计。
RTOS解决方案最适合中高性能微控制器和低端应用处理器,这些处理器的高可靠性和时序至关重要。
何时选择GPOS?
当你使用应用处理器或完整的微处理器时,通用操作系统非常适合。当你考虑使用GPOS时,你很可能会使用一些嵌入式Linux。硬件通常是一个32位应用处理器,以200 MHz或更高的总线速度运行,具有兆字节的内存存储和RAM,至少是不少于千兆字节。
GPOS是复杂应用的绝佳解决方案,具有不太关键的定时和确定性。GPOS通常提供广泛的服务,例如友好的用户界面、通信协议、软件更新的便利性等。这些功能可以帮助你在没有底层硬件知识的情况下更好地管理系统。它们也往往更容易管理。更多的开发人员拥有GPOS领域的领域知识,但是使用GPOS开发的电子产品通常比微控制器RTOS或者裸机解决方案贵得多。
GPOS解决方案最适合确定性和系统定时不关键的应用微处理器的场景。
结论
在为你的电子系统选择嵌入式软件的时候,你会发现有三种通用解决方案:裸机、RTOS和GPOS。最佳解决方案取决于你使用的硬件、你想要的可靠性以及系统的时序要求。在某些情况下,你可能会发现不止一个适合。在这些情况下,你必须考虑你的开发成本以及长期维护和支持。
不要忘记考虑系统的可扩展性及其未来扩展的潜力。可能需要未来有发展的系统,支撑更复杂的功能或额外的硬件,可以更好地由能够处理这种增长的操作系统提供服务。最后,考虑每个选项可用的社区和供应商支持,因为这可能会显著影响你在系统生命周期内进行故障排除、更新和维护的能力。
全部0条评论
快来发表一下你的评论吧 !