嵌入式系统术语

嵌入式系统无处不在。这些专用的小型计算机存在于通信系统、车辆、制造机械、检测系统和许多使我们的生活更轻松的机器中。

Android Linux的开放性及其对许多不同硬件架构的可用性使其成为嵌入式平台的优秀候选。

下面是您在使用嵌入式设备时应该知道的最常见的概念。

引导装载程序

引导加载程序是在计算机启动后很快执行的一小部分软件。在桌面PC上,引导加载程序位于硬盘驱动器的主引导记录(MBR)上,并在PC BIOS执行各种系统初始化后执行。引导加载程序然后将系统信息传递给内核(例如,以根目录挂载的硬盘驱动器分区),然后执行内核。

在嵌入式系统中,引导加载程序的角色更加复杂,因为嵌入式系统没有BIOS来执行初始系统配置。微处理器、内存控制器和其他单板特定硬件的底层初始化因单板和CPU的不同而不同。这些初始化必须在内核映像执行之前执行。

至少,嵌入式系统的引导加载程序执行以下功能:

此外,大多数引导加载程序还提供了简化固件开发和更新的方便功能,例如:

内核

内核是操作系统的基本部分。它负责管理硬件和软件组件之间的资源和通信。2022世界杯G组

内核为应用程序提供硬件抽象,并提供对系统内存的安全访问。它还包括一个中断处理程序,用于处理所有请求或已完成的I/O操作。

内核模块

模块是一段可以根据需要加载和卸载到内核中的代码。它们扩展了内核的功能,而不需要重新启动系统。

例如,一种类型的模块是设备驱动程序,它允许内核访问连接到系统的硬件。如果没有这些模块,Linux开发人员将不得不构建整体内核,并将新功能直接添加到内核映像中。其结果将是一个庞大而笨重的内核。不使用内核模块的另一个缺点是,每次添加新功能时都必须重新构建和重新启动内核。

在嵌入式系统中,可以根据需要激活功能,内核模块成为添加特性的一种非常有效的方式,而无需增大内核图像大小。

根文件系统

操作系统通常依赖于一组文件和目录。根文件系统是分层文件树的顶部。它包含对系统操作至关重要的文件和目录,包括用于引导系统的设备目录和程序。根文件系统还包含挂载点,其他文件系统可以在这些挂载点上连接到根文件系统层次结构。

应用程序

软件应用程序是利用计算机的能力和资源来完成特定任务的程序。2022世界杯G组

应用程序通过与设备驱动程序通信来使用硬件设备,设备驱动程序是内核的一部分。

交叉编译

如果您在具有不同微处理器架构的开发系统上为嵌入式目标生成代码,则需要一个交叉开发环境。交叉开发编译器是在开发系统中执行的编译器(例如,x86 PC),但生成的代码在不同的处理器中执行(例如,如果目标是ARM)。