u-boot使用printf、puts函数打印调试信息。printf、puts函数都是在console.c文件中实现的。console.c实现了控制台。
console,翻译过来的意思是控制台,其实是为内核提供打印的。console必须和一个具体的设备连接在一起。pc的终端常用的是由显示器和键盘构成,用户打印和内核打印都从这个终端反映给用户。所以,这里/dev/console是连接到/dev/tty0的。如果,我们来个专门打印内核的设备(比如通过串口),我们把那个串口注册到console,那么/dev/console就连接到这个串口设备了。这时,内核打印就到这个串口设备了,而用户的打印还是和上面的/dev/tty相关,如果/dev/tty对/dev/tty0,那么用户打印还在窗口中出现。
一、U-Boot的console、printf、puts设计框架
console、printf、puts之间的关系如图1所示。
&

本文详细介绍了U-Boot中console、printf和puts的实现原理,包括console的前期和后期初始化过程,以及它们如何与串口设备交互进行内核调试信息的打印。分析了console_init_f和console_init_r函数的作用,以及stdio_dev设备表的注册和绑定。
最低0.47元/天 解锁文章
478

被折叠的 条评论
为什么被折叠?



