uboot 串口驱动架构

本文介绍了UBoot中串口驱动的初始化流程,重点分析了`serial_init`函数及`default_serial_console`如何根据开发板配置调用相应初始化函数。通过`serial_device`结构体实现了对底层串口操作的抽象,使得驱动具有良好的可移植性。

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

本人对uboot串口架构的一点理解,若有不对的地方还请高手批评指正!

init_fnc_t *init_sequence[] = {

       cpu_init,         /* basic cpu dependent setup */

       board_init,             /* basic board dependent setup */

       interrupt_init,         /* set up exceptions */

       env_init,         /* initialize environment */

       init_baudrate,         /* initialze baudrate settings */

       serial_init,              /* serial communications setup */

       。。。。。。。。。

};

start_armboot()函数运行上面函数serial_init的时候,可以直接调用和自己开发板相关的初始化函数,也可以用uboot提供的串口架构函数。位于common\serial.c,对这个函数进行分析如下:

int serial_init (void)

{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值