裸机、RTOS 和 SoC 之间有什么区别?

What is the difference between bare metal, RTOS and SoC?

最近刚开始使用 PIC 微控制器进行嵌入式编程,我想了解裸机、RTOS 和 SoC 之间的区别。

在线搜索显示相互矛盾的定义和含义。

例如,Semiengineering state that "An RTOS is code written on bare metal" and arduino.cc 声明“如果您在不使用任何 [RT]OS 的情况下对控制器进行编程,那是一种裸机方法”。

这意味着一些在裸机上编写的代码可以被认为是 RTOS,而另一些则可能不是。

因此,我的问题是微控制器的嵌入式编程什么时候可以被视为裸机编程and/or RTOS?如果有的话,SoC 在哪里适合所有这些?

任何人都可以提供任何见解,我们将不胜感激!

(1) RTOS 是实时操作系统。实施操作系统与使用操作系统不同。似乎您会知道自己是在使用实时操作系统编程还是什么都不知道。这就是使用 RTOS 和裸机的区别。

请注意,RTOS 代码是裸机编程,因为它没有使用任何较低级别的软件。然后,当您使用 RTOS 编写代码时,这不是裸机编程,因为您使用的是 RTOS.

的服务

(2) 看起来你会知道你是在实现操作系统还是嵌入式应用程序这是另一个区别。

(3) 关于 SoC - 这是一个硬件类别。是否有一个集成电路包含 CPU 和一堆相关功能(中断控制器,可能是 MMU,外围接口,网络等)?那么它可能是一个SoC。还是有一些其他的 IC 提供这些功能?那就不是SoC了