这可能是非常基本的问题,但我真的很困惑。
有些板在启动过程中不需要设备树 dtb 文件(如 beagleboard),而有些板在启动过程中应该有 dtb 文件(如 Zynq)。
这个假设正确吗?
还有,在启动过程中。引导加载程序何时获取 dtb 文件并加载它?
有什么引用资料可以了解整个过程吗?
最佳答案
Linux 正在慢慢转向设备树。这一切都始于 PowerPC,现在 ARM 也拥有了它。这是一种比使用 ARM 中的 ATAGS 等更好的传递系统信息的方法。
既然您提到了 Xilinx 的 Zynq,引导加载程序 (u-boot) 就被分配了从非 volatile 存储区域(在本例中为 SD 卡)读取内核和设备树的任务。内核和设备树被传递给启动命令。
你应该read more关于Zynq和u-boot来了解一下。找到“设备树”子部分。
关于linux - 为什么有些嵌入式板需要设备树而有些则不需要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25487911/