linux-kernel - ARM 机器/主板 ID

标签 linux-kernel arm embedded-linux bootloader u-boot

我很想知道 Board/Machine ID 的重要性。我有几个与之相关的问题:

  1. 机器 ID 与电路板 ID 相同还是不同?
  2. 这个 ID 对于引导加载程序和内核引导有什么意义?
  3. 谁决定董事会 ID?
  4. ID 仅与 ARM 架构相关,还是该概念也适用于其他平台?
  5. 如何查看特定机器的主板ID?
  6. 是特定于引导 Linux 的吗?

任何其他信息。除了这些问题之外,欢迎提问。

提前致谢。

最佳答案

此上下文中的“机器 ID”特定于 ARM Linux,并且编号由 ARM 内核维护者分配。主线支持的机器在 arch/arm/tools/mach-types 中列出;可以找到完整的注册表 here .

ARM 系统存在问题,因为没有“标准”硬件布局(例如与 x86 兼容的 IBM PC),没有标准固件(例如 ACPI BIOS),并且大多数外围设备直接连接到 CPU 而不是在后面可能的总线(例如 PCI)。因此,ARM 内核必须依靠引导加载程序来告诉它它在哪台机器上运行,从而知道要使用哪个硬编码硬件定义/支持代码(参见 arch/arm/mach-*/)。

请注意,此系统现已过时,描述硬件的首选方式是使用 Device Tree ,这消除了用特定于机器的代码填充内核的大部分需要(实际上,许多仍然受支持的旧系统正在从“boardfiles”转换为 DT)。

关于linux-kernel - ARM 机器/主板 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25256486/

相关文章:

linux - 如何从用户空间访问输入设备驱动程序

php - 使用 UCLIBC 交叉编译 PHP

arm - 什么是 ARM Thumb 指令集?

embedded - Yocto 中的 BSP 和分布层有什么区别

c - 错误 : implicit declaration of function 'execl' [-Werror=implicit-function-declaration]

linux - 无法将正确的文件移动到 mvfiles

linux - kmalloc返回的地址的物理地址

c - 从 Linux 控制台显示图像

c - 将内存从一个内核模块重新映射到另一模块中的 DMA 缓冲区

memory - ARM NEON : What's the difference between vld4_f32 and vld4q_f32?