串口控制台

在调试Linux系统时,串口控制台通常最早输出log信息。本文探讨了为何选择串口以及Uboot如何实现这一功能。通过追踪printf、vsprintf函数,了解log如何存储在printbuffer中,并进一步研究puts函数与串口驱动程序如serial_puts、serial_putc在不同配置下的应用,特别是在/s3c64xx/serial.c中的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

调试Linux的过程中,在系统正常运行起来之前我们首先看到的是控制台输出的log信息,或许有的朋友也会像我一样好奇,为什么是串口控制台最新输出信息,为什么不是其他的USB、LCD、SPI之类的接口输出Log信息,到底Uboot中是怎么实现这个的呢,带着这个疑问本人追踪了控制台的启动流程。
2.1 printf标准输出函数来追踪
2.1.1 printf函数
在(/include/common.h中定义)在(/common/console.c)中实现。
这里写图片描述
2.1.2 vsprintf函数
位于(/uboot1.1.6/lib_generic/vsprintf.c)中,该函数将C语言中的printf函数的输出内容转化后存入printbuffer中。
这里写图片描述
2.1.3之后的输出在puts(/common/console.c)
如果设备已经初始化了就调用标准输出,如果还未初始化则直接通过串口输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值