gadget 驱动

首先要知道普通usb是主从模式的, 一切通信都是由主机控制的,从机没有控制权,也有主从转换的情况。

主机通过引脚触发的中断来知道usb设备的插入,然后发起握手,所以gadget作为从机需要有一个引脚来触发主机的引脚的中断,pullup引脚。

主机对从机的握手是通过与从机的ep0的控制节点通信来实现的,来来回回有几次握手,握手会改变从机的一些配置。

握手的时候需要知道从机的配置信息,这些信息都由print.c文件来提供,print.c还提供对应用层的接口。

at91_udc.c提供gadget 和 eps的抽象 ,在中断处理函数维持状态机,以及最最底层的操作。

udc_core.c 来链接各种对象的关联,使得各个对象相互之间能找到。

composite.c 只是一个适配层,提供共性,特性需要具体的驱动提供。订阅者模式。

各个容器通过链表,指针什么的关联在一起,相互之间能找到。


初始化

udc_bind_to_driver -》composite_bind  --》 printer_bind

                               -》usb_gadget_udc_start-》at91_start-》at91_pullup


探测握手

handle_setup->composite_setup-》usb_function.setup->printer_func_setup

   -》usb_function.set_alt-》printer_func_set_alt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
fastboot gadget驱动是一种用于在Android设备上进行快速引导和刷写固件的驱动程序。它允许将设备进入fastboot模式,并与计算机进行通信,以便执行各种操作,如刷写固件、解锁引导加载程序、重启设备等。 在使用fastboot gadget驱动之前,你需要确保已经安装了Android SDK(包含ADB和Fastboot工具)以及相应的驱动程序。然后,你可以通过以下步骤来安装fastboot gadget驱动: 1. 在计算机上下载并安装Android SDK。你可以从Android开发者网站(developer.android.com)上获取这个工具包。 2. 连接你的Android设备到计算机,并确保设备处于开发者模式下。你可以在设备的设置中找到开发者选项,并启用USB调试模式。 3. 打开命令提示符或终端窗口,并导航到Android SDK的安装目录。 4. 使用以下命令检测设备是否成功连接到计算机: ``` adb devices ``` 5. 如果设备已成功连接,你应该能够看到设备的序列号。接下来,将设备重启到fastboot模式。使用以下命令: ``` adb reboot bootloader ``` 6. 设备进入fastboot模式后,使用以下命令来安装fastboot gadget驱动: ``` fastboot flash <driver_image>.img ``` 其中,`<driver_image>`是fastboot gadget驱动的镜像文件名。 7. 安装完成后,可以使用fastboot命令来执行各种操作,如刷写固件、解锁引导加载程序等。 请注意,具体的安装步骤可能会因设备型号和操作系统版本而有所差异。建议在安装之前查阅设备的官方文档或相关论坛,以获取适用于你的设备的准确信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值