Android USB 驱动分析

Android USB 驱动分析
一、USB人脸识别器驱动代码架构和使用
   
    1、代码简介
差速防坠器      USB驱动代码在/drivers/usb/gadget下,有三个文件:android.cf_adb.c
      f_mass_storage.cg_android.ko 是由这三个文件编译而来,其中android.c 依赖于
       f_adb.c  f_mass_storage.c(这两个文件之间无依赖关系)
      可在android.c中看到:
      static int __init android_bind_config(struct usb_configuration *c) 
      { 
          struct android_dev *dev = _android_dev; 
          int ret; 
          printk(KERN_DEBUG "android_bind_config\n"); 
          ret = mass_storage_function_add(dev->cdev, c, dev->nluns); 
          if (ret) 
              return ret; 
          return adb_function_add(dev->cdev, c); 
      }
 
    2、驱动使用
      要使USB mass storage连接到主机:
      打开/sys/devices/platform/usb_mass_storage/lun0/file文件,向file文件写入一个存储
      设备的路径,例如/dev/block/vold/179:0 (major:minor)路径;
      这里的usb_mass_storage根据实际应用可以改的,由platform_device_register函数的参数决
张力器
      定。
      例如:
      static struct platform_device fsg_platform_device = 
      {
          .name = "usb_mass_storage", 
          .id  = -1, 
      }; 
      static void __init tegra_machine_init(void) 
      { 
        .... 
        (void) platform_device_register(&fsg_platform_device); 
        .... 
      }
   
      能够连接的设备数,由驱动中的nluns第一中文变量来控制,最多支持8个。


二、USB插入检测
   
三、USB代码分析
 
    1USB初始化
3837Cc      android.c中分别注册adb光触媒滤网mass storage
      static int __init android_bind_config(struct usb_configuration *c) 
      { 
          struct android_dev *dev = _android_dev; 
          int ret; 
          printk(KERN_DEBUG "android_bind_config\n"); 
          ret = mass_storage_function_add(dev->cdev, c, dev->nluns); 
          if (ret) 
              return ret;   
           return adb_function_add(dev->cdev, c); 
      }
 
    2、往驱动写入lun信息
      在驱动中有static DEVICE_ATTR(file, 0444, show_file, store_file);这是负责读
      (cat/read)或直写(echo/write)设备属性文件的宏。
 
    3USB连接到主机
 
      echo /dev/block/vold/179:0 > /sys/devices/platform/usb_mass_storage/lun0/file
 
    4USB从主机断开
     
      echo "" > /sys/devices/platform/usb_mass_storage/lun0/file

本文发布于:2024-09-24 16:25:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/262049.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设备   驱动   文件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议