make menuconfig 后选中 Kernel hacking后
选择 low-level debug
然后会定义宏 CONFIG_DEBUG_LL
然后修改 printk
asmlinkage int printk(const char *fmt, ...){
va_list args;
int r;
#ifdef CONFIG_DEBUG_LL
extern void printascii(const char *);
char buff[256];
#endif
va_start(args, fmt);
r = vprintk(fmt, args);
#ifdef CONFIG_DEBUG_LL
vsprintf(buff, fmt, args);
#endif
va_end(args);
#ifdef CONFIG_DEBUG_LL
printascii(buff);
#endif
return r;
}
|
这样在内核启动前,就会直接通过 printascii 来打印调试信息, printascii 直接将数据发送到串口进行打印你,串口号通过bootloader传入。
阅读(258) | 评论(0) | 转发(0) |