当前位置:首页 > 嵌入式 > Linux阅码场
[导读]史胜辉,在MTK工作了11年,一直在基带芯片的USB驱动领域做开发和验证。从最开始做USB2.0/3.0 IP验证和驱动开发到后面带领团队做上层协议驱动开发,以及跟硬件设计部门合作开发全新的USB硬件加速器。


作者简介

史胜辉,在MTK工作了11年,一直在基带芯片的USB驱动领域做开发和验证。从最开始做USB2.0/3.0 IP验证和驱动开发到后面带领团队做上层协议驱动开发,以及跟硬件设计部门合作开发全新的USB硬件加速器。


USB是个比较复杂的协议,对于刚接触USB 驱动的同学来说,经常看了很久但是一直有中被在门外晃荡的感觉。作为USB驱动领域工作了很多年的我,为刚刚接触USB 或者对USB 感兴趣的新同学推荐一些学习书籍,希望能帮助其入门。


第一本要推荐的必然是 Linux设备驱动程序》(第4版),把它称作Linux驱动开发的工程师的居家旅行的必备之器一点不过。里面详细的介绍了Linux 设备驱动的架构,而且有完整的实例程序,是非常值得推荐的一本书。


看完这本书后,基本对Linux 设备驱动框架都已经了解了,这个时候再配合Linux USB API(https://www.kernel.org/doc/html/v5.19-rc8/usb/index.html) 看USB驱动程序就简单多了。


对于USB 协议来说 从USB1.1->USB2.0->USB3.2Gen1->USB3.2Gen2X1->USB3.2Gen2X2->USB4 发展历程很长,每个协议都很多。不建议新同学直接抱着USB 协议书啃,时间太久而且还不好懂。


USB2.0 是非常值得学习的,因为作为USB协会的一大经典之作,当前通用性最强,而且是后面的IP的基础。直接读协议的话,会比较枯燥,而且中间的逻辑关系很难拎出来。


作为过来人,推荐直接学习《USB 2.0 System Architecture - MindShare》, 里面的逻辑关系和关键知识点讲的都很到位。无论是对于新人还是老手,都是值得去读的。当然它的篇幅有限,无法想USB 协议书那样详尽。


所以看完上面这个后,还是需要有针对性的看下USB2.0 协议书中的相关章节或知识点。避免一叶障目。


USB3.0 (现在改名叫USB3.2Gen1) 除了MAC/PHY 上的改善,同时引入了全新的硬件Layer:Link Layer。同样推荐先学《USB 3.0 Technology - Mindshare》再选看USB3.0协议书。


对于USB驱动开发工程师,推荐看协议时,一定要看协议中以下章节:Architural Overview,Data Flow Model, Protocol Layer, Device Framework 这几个章节,其他章节根据需要学习即可。


学习完这些知识后,恭喜你,你已经跨入USB领域大门了。这个时候就开始往你想要领域扩展了:底层协议:OTG/Type-C/BC1.2/PD,上层协议:ACM/ECM/NCM/RNDIS/MBIM/...


这个时候很多人还是会很迷茫,看了一堆的理论,跟Driver 怎么挂钩的呢?其实中间还缺了两个重要的环节:


1. USB 硬件是如何套用USB 协议的的?软件驱动是如何按照USB 协议去控制硬件的?

2. USB 背后的DMA 是如何跟USB MAC 通信的?软件又是如何控制DMA的?


这些都是跟具体IP 提供商的具体实现有关,而普通的驱动开发者往往对这些都是雾里看花。后续有机会详细给大家介绍。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统和底层驱动开发中,C语言因其高效性和可控性成为主流选择,但缺乏原生单元测试支持成为开发痛点。本文提出一种基于宏定义和测试用例管理的轻量级单元测试框架方案,通过自定义断言宏和测试注册机制,实现无需外部依赖的嵌入...

关键字: C语言 嵌入式系统 驱动开发

在Linux设备驱动开发中,等待队列(Wait Queue)是实现进程睡眠与唤醒的核心机制,它允许进程在资源不可用时主动放弃CPU,进入可中断睡眠状态,待资源就绪后再被唤醒。本文通过C语言模型解析等待队列的实现原理,结合...

关键字: 驱动开发 C语言 Linux

在智能手机行业,基带芯片堪称决定通信体验的 “命门”。历经七年研发、豪掷数十亿美元,苹果首款自研基带芯片 C1 于今年年初随 iPhone 16e 亮相,承载着苹果摆脱高通依赖、重塑通信格局的宏大愿景。

关键字: 苹果 基带芯片 C1 智能手机

本文中,小编将对基带芯片予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 芯片 基带芯片

在这篇文章中,小编将为大家带来基带芯片的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 芯片 基带芯片

今天,小编将在这篇文章中为大家带来基带芯片的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 芯片 基带芯片

一直以来,基带芯片都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来基带芯片的相关介绍,详细内容请看下文。

关键字: 芯片 基带芯片 射频芯片

在这篇文章中,小编将对基带芯片的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: 芯片 基带芯片

基带芯片将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 芯片 基带芯片

在数字化时代,电子墨水屏(E-Ink)因其独特的显示效果和低功耗特性,在电子书、智能手写本等领域得到了广泛应用。然而,电子墨水屏的刷新率一直是其发展的瓶颈,如何在保证低功耗的同时提高刷新率,成为了驱动开发中的一个重要课题...

关键字: 电子墨水屏 E-Ink 驱动开发
关闭