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

时间:2021-05-06 23:56:48

标签: microcontroller rtos bare-metal soc

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

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

例如,Semiengineering 声明“RTOS 是在裸机上编写的代码”,而 arduino.cc 声明“如果您在不使用任何 [RT]OS 的情况下对控制器进行编程,则它是一种裸机方法”。

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

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

非常感谢任何人可以提供的任何见解!

1 个答案:

答案 0 :(得分:1)

(1) RTOS 是一种实时操作系统。实现操作系统与使用操作系统不同。您似乎知道您是使用实时操作系统进行编程还是什么都不知道。这就是使用 RTOS 和使用裸机的区别。

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

(2) 您似乎知道您是在实现操作系统还是嵌入式应用程序,这是另一个区别。

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

相关问题