【问题标题】:Query on SoC's register initialization by Bootloader and KernelBootloader和Kernel查询SoC的寄存器初始化
【发布时间】:2014-03-28 14:04:51
【问题描述】:

有人可以澄清硬件寄存器初始化的时间和对象吗?
我目前正在嵌入式项目中使用 u-boot,在 u-boot 中我看到许多硬件寄存器正在初始化。
我以为Bootloader会初始化所有的硬件寄存器,内核提供驱动来驱动硬件。
但是其中一个测试用例说“检查内核中设置的寄存器的值是否设置正确”。
现在我很困惑,一旦内核启动,内核是否也会再次设置这些寄存器。
我不清楚设备启动后会发生什么。比如bootloader的作用是什么,它在执行时做了什么,内核在启动时做了什么。

谢谢。

【问题讨论】:

  • U-Boot 通常是第二阶段(有时甚至是第三阶段)引导加载程序(即有一个更早的引导加载程序将 U-Boot 加载到主内存中)。通常,每个引导加载程序仅初始化完成其任务所需的最小硬件子系统,不会更多。 “内核提供驱动硬件的驱动程序” -- 写这样的语句让我怀疑你是否真的知道驱动程序是什么。
  • 你好锯末。谢谢回复。你的疑惑是真的。我对司机一无所知。但我想学习。这就是我提出这个问题的原因。
  • 平台特定的东西将由 BIOS 完成,而不是引导加载程序。 stackoverflow.com/questions/3380883/what-is-a-kernel-bootloader/…
  • 该产品没有BIOS。它有 U-boot 和 linux 发行版。

标签: linux linux-kernel kernel embedded-linux u-boot


【解决方案1】:

我发现 u-boot 只初始化加载内核所需的硬件,而不是所有硬件。这就是我的困惑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 2014-10-15
    • 2020-02-07
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多