我正在将最新版本的Linux(linux-stable)移植到定制的ARM926TEJ-S板上,我想在初始化阶段打印消息。所以我对如何让uart在内核初始化阶段工作的问题感到困惑。
printing linux banner in init/main.c:start_kernel()
最终打电话给printk()
打印消息。我的问题是如何实现printk()
以及如何让printk()
输出到我的uart。
因为我知道uart的驱动程序没有在那里初始化,所以它们在start_kernel()结束时被rest_init()
初始化。因此rest_init()
会致电do_initcalls()
并最终致电module_init()
名司机。
我知道解压缩阶段的putstr("Uncompressing Linux...");由arch/arm/boot/compressed/debug.S
实施,waituart/senduart...
使用由CONFIG_DEBUG_LL_INCLUDE
Table_1 Table_2 Table_3
------------------------ -------------------- --------------------
id bk_title strm_id bk_no bk_isbn s_id strm_name
----------------------- --------------------- -----------------------
1 A_Book 3 1 ISBN0001 3 Science
2 B_Book 4 1 ISBN0002 4 History
2 ISBN0003