uboot之cdc_acm枚举

本文详细介绍了U-BOOT中USB从设备驱动的枚举过程,特别是USB转串口(CDC ACM)设备。通过分析设备和配置描述符,揭示了如何在U-BOOT中实现USB通信类设备的枚举,包括接口和端点的配置,以及通信协议的设置。

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

一. 总述

相对而言,usb从设备驱动比较好写,只要在中断服务程序中对端点数据进行相应的处理就可以。

       对于U-BOOT而言,由于禁止中断,所以使用轮询的方式查询中断寄存器,查看中断是否发生。由于主设备(如PC HUB)在发送请求包的时候最多发送三次,所以应该在这三次之间调用usb的伪中断函数。U-BOOT中,一般将从设备枚举成usbtty,而调用USB伪中断函数的过程就在控制台重定向后,调用控制台的输入输出函数(关于控制台部分见U-BOOTstage2devlist部分)

 

二.Usbtty的枚举过程

       在讲usbtty从设备驱动前先讲清楚枚举过程。

 

 

 

1)第一个请求包当然是get device descriptor(set address已经结束,BUS bound无法截取)

       返回的设备描述符:

       bDeviceClass 被定义为 02

       需要设定设备为通信类设备(0x02),否则在下面的接口描述符中会误认为有两个接口

       其余的类似

       厂商字符串索引为01 产品字符串索引为02 设备的序列号字符串索引为03

       只有一种配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值