Linux用于嵌入式系统/电子/控制

时间:2014-07-10 03:56:49

标签: c linux operating-system embedded raspberry-pi

我是Linux和编程的新手,并且想知道使用Linux操作系统的优势是什么,而不是只用C写入相同的处理器。我一直在看Raspberry Pi应用程序中使用的Linux的东西。为什么它在那里如此普遍?为什么不像微控制器那样使用C变体?

3 个答案:

答案 0 :(得分:3)

raspberry pi处理器比微控制器强大得多。令人困惑的是,电路板的尺寸和价格与微控制器电路板类似。它是一个支持Linux的处理器。了解Raspberry Pi的目标市场将用于教育。因此,自然会使用类似Linux的东西和教育软件。

许多/大多数程序员对裸机和自己的驱动程序不熟悉或不熟悉,因此linux使这更容易,你可以编写机器人软件,而不是编写任何其他用户级应用程序,困难的部分被埋没在操作系统或其他驱动程序中。

虽然树莓派对外围设备的编程非常简单,但据我们所知,它不是砖砌的,所以它可以而且确实可以制造出良好的裸机系统,教育或爱好。

修改

裸金属有不同的定义,但在这种情况下,它意味着没有操作系统的编程。我假设你在谈论C和微控制器。例如,如果你想使用uart将字符发送到某种类型的终端,使用操作系统很可能在大众的某个地方称为操作系统,那里有一个uart内核驱动程序以及一些应用程序级别的api。某种,所以你不必知道关于uart的任何事情。但是在裸机环境中,你没有那个操作系统或api,现在经常有人在某个地方有类似于操作系统的东西,因为他们只有一些他们可以调用的api(arduino体验,例如做得好)一,)在这种情况下,虽然手册非常糟糕,但覆盆子pi中的外围设备比其他芯片中的等效外设更简单。

Brickable。随着时间的推移,已经对冗余和其他解决方案进行了改进以避免这种情况,但假设你有一台计算机处理器从一个rom启动(基本上你正在阅读这些是其中一台计算机),有时你可以更新你的ROM无论如何(在个人电脑的情况下BIOS升级)。如果升级处理器以任何其他方式rom被破坏而引导代码反而崩溃了计算机而不是启动它。如果你没有一个足够简单的解决方案来解决你在家里桌面上或者你正在开发或使用那台计算机的地方,那么你在桌面上的用处并不比砖或其他书镇更多。这并不意味着,如果你把它归还到某个地方,你可能不会有一种特殊的电缆或其他工具可以恢复闪光并使其恢复活力。最糟糕的情况是使用烙铁去除闪光灯并焊接预先编程的闪光灯,这在理论上是可行的。在树莓派的情况下,rom是SD卡上的闪光灯,并且很容易被你在桌面上移除,以便在任何时候被重新编程,它会被擦除或损坏。到目前为止,我们知道芯片中是否有用于GPU的ROM,如果它在电路中是可擦除和可编程的,那么代码可能会擦除它并使芯片变硬。据我所知,事实并非如此,防止树莓派启动的唯一方法就是没有或者没有SD卡上有坏程序或擦除或垃圾。

驱动程序是管理外围设备的某些代码的通用术语。例如,uart驱动程序具有该特定uart的寄存器的知识,在该驱动程序的另一侧是更通用的理想api或者至少在该级别向用户隐藏一些细节。像linux或Windows这样的操作系统或其他任何有内核模块的操作系统,其中一方是硬件,另一方面它的api符合操作系统,这样你就可以将你的覆盆子插件作为通用的tty串行设备和任何软件添加到linux内核中在想要使用通用tty串行设备的内核或应用程序空间中,现在可以使用您的覆盆子pi uart。它只是一个通用术语,它有一些管理外围设备的软件,并且具有该外设的知识,并且在某种程度上将该知识隐藏在它上面的api中,这样人们就不必知道细节的细节。

答案 1 :(得分:1)

使用操作系统简化了许多任务,因为它标配了硬盘驱动器/文件系统和内存管理等功能,实现服务和复杂协议以及许多其他功能。但是,如果您不需要任何这些功能功能,你可能会在没有操作系统的情况下,在一个外部接口很少的独立系统中离开。

答案 2 :(得分:1)

直接回答你的问题 - 优点是:

  • 事实上,Linux是一个具有更快开发过程的工业标准,它为现场基础提供了支持现代基础的所有新资源:CPU,MCU,设备,驱动程序,芯片和其他不同的技术在各个层面。因此它涵盖了比任何操作系统更多的功能。它也是兼容性的巨大增强。

  • Linux是开源的,它的代码受到全世界数百万专家的观察和批评,因此它非常强大。

  • Linux是免费的,您可以免费获得内核和所有令人惊叹的功能,您无需在商业系列产品中付费(许多其他操作系统"要求"每次付费产品单位)