Embedded 处理器是否支持/需要RTOS?

Embedded 处理器是否支持/需要RTOS?,embedded,operating-system,processor,rtos,Embedded,Operating System,Processor,Rtos,我对手头不同处理器的RTOS有一些疑问。这些是一般性问题。也许您可以用特定于任何处理器/RTO的示例,甚至是一般的示例来说明。如何确定处理器是否支持RTOS?如何知道处理器是否需要RTOS 没有处理器需要RTOS。RT是编程的一个特性,而不是处理器所能要求的 据我所知,每个处理器都支持RTOS——一个硬件中断将在下一条指令时中断。基本上是操作系统停止了这种行为,并以非实时方式处理事情 这是另一个“一根绳子有多长”的问题,但为了有趣,我会给它+1 第二点第一。我不认为处理器需要RTOS;我宁愿说

我对手头不同处理器的RTOS有一些疑问。这些是一般性问题。也许您可以用特定于任何处理器/RTO的示例,甚至是一般的示例来说明。如何确定处理器是否支持RTOS?如何知道处理器是否需要RTOS

  • 没有处理器需要RTOS。RT是编程的一个特性,而不是处理器所能要求的

  • 据我所知,每个处理器都支持RTOS——一个硬件中断将在下一条指令时中断。基本上是操作系统停止了这种行为,并以非实时方式处理事情

这是另一个“一根绳子有多长”的问题,但为了有趣,我会给它+1

第二点第一。我不认为处理器需要RTOS;我宁愿说一个应用程序可以

至于处理器是否能够支持RTOS,您的主要问题是您的负载有多重,它必须处理多少事件&它们需要多少处理,等等,以及中断处理机制的可用性等等


您是否考虑了特定的处理器、ROT、应用程序,或者这只是一个一般性问题

处理器是否需要RTOS? 不需要-您不需要RTOS。您可以在没有嵌入式应用程序的情况下运行复杂的嵌入式应用程序。我目前正在开发的应用程序没有RTOS。 我们必须考虑在应用程序中调度各种任务,并且必须编写调度这些任务的代码。我们通过简单地使用软件定时器和我们认为合适的时间分配不同的任务来实现它。然而,通过无缝地调度代码的不同部分,使用RTOS可以使过程变得更加容易,并且您不必担心会出现这种情况

当你选择RTOS时,你必须考虑一些事情。你的处理器有多少内存?你有多少闪光灯?如果你不需要它的所有功能,你不想在你的主板上安装昂贵的芯片和沉重的实时操作系统。 对于基本的调度功能,您可以获得相对较小的RTO,这些RTO不是很大,并且可以非常高效地完成大多数您想要的事情。
e、 免费RTOS是开源的,大约只有9K

您还可以选择使用RTO,如VxWorks或嵌入式Linux,它们可以做更多的工作,但要么昂贵,要么庞大,要么两者兼而有之

最后,您使用的RTO实际上取决于您的应用程序需要什么,以及您必须为其留出多少内存。

为什么处理器需要和RTO?毕竟RTOS只是直接在硬件上运行的软件,该软件同样可以是直接在硬件上运行的应用程序。你问题的那一部分毫无意义。现在,如果有一个处理器通过在硬件中执行字节码来运行java代码,那么使用处理器以外的任何一个处理器作为应用程序的基础是没有意义的,但是我不能想到一个这样的处理器,它是专门为RTOS实现而设计的,而没有RTOS就不能使用它。
现在,关于处理器是否能够支持RTOS,最简单的方法是查看是否已经为其实现了商业RTOS。大多数处理器供应商将确保在芯片普遍可用之前,由一个或多个第三方提供此类支持。一般来说,我会建议任何带有中断机制和定时器硬件的东西都可以支持RTOS,或者至少在资源充足的情况下支持某种调度器。然而,有些资源非常有限的微控制器根本没有意义。

对不起,问题到底是什么?@S Man-你能把硬件相关的问题发到这里而不是这里吗。这是一个关于编程相关问题的网站。谢谢你。@Gert G:在这种情况下,我不得不表示不同意;在嵌入式系统中,通常不可能完全与硬件无关;软件和硬件密不可分,这个问题更多的是软件而不是硬件。superuser.com对于这个问题是一个完全不合适的论坛。好吧。。。我被纠正了。谢谢Clifford。我知道有一个处理器不支持抢占式RTOS——PIC16系列,因为调用堆栈不能被操纵。有大量的处理器没有足够的内存来支持RTOS。尝试将一个配置为在具有64或128字节RAM的处理器上运行是不值得的。错误。认真地不要说废话——几年前64mb是工作站的内存,猜猜看——仍然有RTO存在。有时需要RTOS来控制非常小但时间关键的应用程序,如汽车中的ABS/ESP。我打赌ABS控制器不需要16mb内存。RTO在嵌入式设备中被大量使用。请阅读我的文章。我说的是字节,不是千字节或兆字节。我并不是说很多嵌入式设备都没有嵌入式RTOS。我的意思是,有许多人不这样做,也有一些人不这样做。