U-Boot源码之console、printf等

本文详细介绍了U-Boot中console、printf和puts的实现原理,包括console的前期和后期初始化过程,以及它们如何与串口设备交互进行内核调试信息的打印。分析了console_init_f和console_init_r函数的作用,以及stdio_dev设备表的注册和绑定。
摘要由CSDN通过智能技术生成

       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所示。

                                                                                                                          

              图1  console、printf、puts之间的关系

二、U-Boot的console实现

       图1中,串口相关函数已经

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值