2

我正在将最新版本的 Linux(linux-stable)移植到定制的 ARM926TEJ-S 板上,并且我想在初始化阶段打印消息。所以我对如何让 uart 在内核初始化阶段工作的问题感到困扰。

在 init/main.c:start_kernel() 中打印 linux 横幅 最终调用printk()以打印消息。我的问题是如何printk()实现以及如何让printk()输出到我的 uart。

因为我知道 uart 的驱动程序没有在那里初始化,所以它们是通过rest_init()在 start_kernel() 的末尾调用来初始化的。rest_init()因此将调用do_initcalls()并最终调用module_init()驱动程序。

而且我知道putstr("Uncompressing Linux..."); 在解压缩阶段通过arch/arm/boot/compressed/debug.S使用waituart/senduart...文件设置实现的实现CONFIG_DEBUG_LL_INCLUDE

4

0 回答 0