gpt4 book ai didi

linux - u-boot 中的 uart 驱动程序将在哪个位置被删除并在引导时插入内核的 uart 驱动程序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:58:07 27 4
gpt4 key购买 nike

我有这个疑问是因为,我知道 u-boot 有 uart 驱动程序,它有助于在启动内核时从 u-boot 开始查看调试日志(内核驱动程序不会在其中运行),我的问题是

  1. 在 u-boot 将控制权移交给内核之后,内核启动后 u-boot 端的 uart 和以太网驱动程序会发生什么情况?

2.kernel也会有这样的驱动,在内核启动后才会起作用?

  1. 我可以看到从 u-boot 到内核的启动日志,内核启动后我可以使用通过 u-boot 或内核驱动程序的提示?

4.如果它来自内核端,它在什么时候从 u-boot 的 uart 驱动程序切换过来?

最佳答案

首先,您需要了解 u-boot 阶段和内核阶段的驱动程序是不同的(尽管功能相同)。例如,U-Boot 使用它自己的 uart 驱动程序来向您展示它的控制台。一旦它将控制权移交给内核,内核就会加载自己的 uart 驱动程序(根据开发板),对其进行初始化,最后为您提供控制台。

现在,一一回答你的问题:

  1. U-Boot 完全驻留在 RAM 中。因此,它的所有驱动程序都驻留在 RAM 本身中。一旦 U-Boot 将控制权转移给内核,内核就会在 RAM 中建立自己的环境,因此所有引导加载程序的数据都消失了(包括驱动程序)。一旦内核启动,U-Boot 的驱动程序就不再存在!

  2. 没错。内核有自己的驱动程序来访问设备。它比引导加载程序提供的功能丰富得多。通常,额外的功能包括中断处理和可能的 DMA。 u-boot 驱动一般是一个简单的轮询驱动。如果需要,Linux 内核的 uart 可能会在早期启动期间使用轮询模式,但使用与 u-boot 驱动程序不同的代码。

  3. 是通过内核的驱动。 U-Boot 的 uart 驱动打印的最后一条信息是“Starting kernel ...”。在此消息之后,您看到的所有控制台消息都是使用内核驱动程序打印的。因此,内核驱动程序打印的第一条消息是“Uncompressing Linux... done, booting the kernel

  4. 我希望第三个问题的答案也能回答这个问题!

关于linux - u-boot 中的 uart 驱动程序将在哪个位置被删除并在引导时插入内核的 uart 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26094222/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com