什么是USB堆栈?
我想知道USB堆栈的含义和一个例子。我学习了很多关于USB的知识,我读了一些书,比如简单地说USB,但是没有提到“USB堆栈”。术语“堆栈”指的是抽象数据结构(与此无关),或者是执行特定功能的软件集合。在“USB堆栈”的情况下,它是允许通过USB链路进行通信的硬件、固件、内核模块、驱动程序和用户程序的集合 之所以使用术语“堆栈”,是因为软件组件通常层叠在一起,每个组件都使用其下一层的服务什么是USB堆栈?,usb,Usb,我想知道USB堆栈的含义和一个例子。我学习了很多关于USB的知识,我读了一些书,比如简单地说USB,但是没有提到“USB堆栈”。术语“堆栈”指的是抽象数据结构(与此无关),或者是执行特定功能的软件集合。在“USB堆栈”的情况下,它是允许通过USB链路进行通信的硬件、固件、内核模块、驱动程序和用户程序的集合 之所以使用术语“堆栈”,是因为软件组件通常层叠在一起,每个组件都使用其下一层的服务 您还可能会听到“网络堆栈”或“灯堆栈”或其他类似短语。Wikipedia有一篇关于的文章,这也是同样的想法。
您还可能会听到“网络堆栈”或“灯堆栈”或其他类似短语。Wikipedia有一篇关于的文章,这也是同样的想法。USB堆栈只是一个基于“软件堆栈”的一般概念的短语,如TCP/IP堆栈、GSM堆栈等 正是这个框架,通常由USB设备制造商或操作系统开发人员提供,使其他开发人员能够专注于其实现的具体内容,而不是担心正确实现较低级别的USB 对于USB,基本上有通信层(每个人对它们的称呼略有不同):
- 链路层(串行IO)-处理差分线路转换和信令,并将流解码为二进制数据,通常在硬件中
- USB数据包层-处理USB数据包的结构
- USB必需功能-枚举、缓冲区、端点
- USB高级API-音频、HID等,它们有自己的限制和需求
- 物理层(通常在以太网卡上的硬件中完成)
- 链路层(MAC地址层,通常在以太网卡上的硬件中完成)
- 网络层(IP、路由)
- 传输层(TCP)
- 应用程序特定的层(HTTP堆栈等)李>