您的位置:首页 > 其它

early_printk函数

2016-01-06 15:12 183 查看
分析Linux内核启动流程时可以知道,在调用setup_arch函数之前就已经调用过printk函数了,但是这个时候的printk函数只是将打印信息放在缓存区中,并没有打印到控制台上,因为这个时候控制台还没有被初始化。

只有在start_kernel函数中的console_init函数被调用后,控制台才会被注册、初始化,printk函数打印的内容才会被真正地输出到屏幕上。如果想在console_init函数之前打印信息,需要调用early_printk函数。

下面是此函数的用法:

1. 配置内核

(1)Kernel hacking ---> Kernel low-level debugging functions --> Early printk

(2)在boot option中添加 earlyprintk项。类似于:Linux-CommandLine = root=/dev/mmcblk0p1 rootfstype=ext4 console=ttySAC0,115200 init=/linuxrc ctp=2 skipcali=y ethmac=1C:6F:65:34:51:7E earlyprintk

(不传参数也能打印?)

2. 在需要打印调试信息的地方调用此函数

early_printk("------------xxx------------\n");

early_printk("------------xxx = %d------------\n", xxx);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: