u-boot网络启动分析(二) 驱动注册

本文深入剖析u-boot网络启动过程,重点在于网络设备的初始化和注册。在board_init_r中,bd_info结构体传递给eth_initialize,但未在初始化时使用。真正的设备初始化在tsec_initialize中,创建eth_device和tsec_private结构体,并通过eth_register将设备注册到链表。注册过程中,设备的TSEC私有信息通过指针与eth_device关联,同时设置设备操作函数。最后,设备以链表形式存在于系统中,准备进行网络操作。
摘要由CSDN通过智能技术生成

u-boot网络启动分析第一篇文章以调用流程为线索层层深入,本文作为网络分析的第二篇,将从数据的调用流向进一步分析u-boot网络协议及初始化流程。

在board_init_r中有一个跟板卡(主板)信息相关的数据结构 struct bd_info,在网络设备初始化时,该数据结构以参数的形式传入了eth_initialize中。但经过分析,该结构体及其信息并未在网络设备初始化是使用,所以我们不对其进行分析后续分析也会忽略。

在第一篇中已经说过,eth_initialize中初始化了两个类型为eth_device的指针,这两个指针指向了一个描述网络设备的双向链表,该链表会在网络设备注册调用eth_register时进行递增。我们看到了这里只是初始化了两个指针的指向,也就是说这里的并不代表真实的设备,它们只是两个指针而已。

代表真实设备的eth_device到底在哪里呢?其实是在tsec_initialize中定义的,我们再来看看tsec_initialize的代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值