在电路板启动期间uboot如何打印信息

时间:2017-04-02 05:00:40

标签: linux-kernel kernel linux-device-driver bootloader u-boot

在启动目标板的过程中,我们看到uboot(bootloader)在控制台上打印了一些信息,如图像名称,图像类型,加载地址,验证校验和等。它使用哪种打印机制?是否使用printk之类的东西,或者甚至在内核启动之前它有自己的打印信息定义?我在哪里可以找到其打印实现的代码?

2 个答案:

答案 0 :(得分:1)

在正常的U-boot启动过程中,会向控制台打印有限数量的信息。它使用相同类型的函数来打印在C编程期间使用的信息。

u-boot使用 printf puts 在控制台上打印信息。你可以在u-boot源代码(u-boot boardfile和drivers)中找到相同的函数实现。

有许多命令可以从u-boot命令提示尝试获取更多信息。

要启用更多消息,您可以:

  • 如果您定义了一些cond,请使用debug_cond (cond, fmt, args...):,一旦满足,U-boot将打印出此消息。
  • 使用debug(fmt, args...):您可以在文件u-boot中定义DEBUG - include/configs/<boardfile>_common.h(就像我的情况mx6_common.h),一旦这样做并重新编译代码,U-boot将打印出来所有调试信息

注意: 如果您在代码中添加了太多调试,可能会导致u-boot挂起。

答案 1 :(得分:0)

你可以在启动时输入uBoot(中断内核的启动),如果你想要了解uBoot的信息,例如打印到的地方,或者你可以使用&#39;的变量值。 printenv&#39;命令并使用&#39; setenv&#39;进行更改。命令。